r/Infosec • u/False_Act4214 • 3h ago
The hard part of AI agents now isn’t building them, it’s mapping what they talk to. I built an open source gateway that does this and I’m looking for contributors
I've been building this mostly solo for a while and I'm at the point where it needs more people than just me.
My honest take: getting an agent to work isn't the hard part anymore. The hard part starts once you have more than a handful of them. Which agents call which models? Which MCP tools can they reach? What are they hitting directly that never goes through anything you control? If you can't draw that picture, you can't really secure or govern any of it, and right now most tooling just doesn't draw it.
So I built Control Tower. It's a self-hosted gateway for LLM and MCP traffic (OpenAI-compatible, usually two env vars to point an agent at it), and the main thing it does is build a live map of your agent ecosystem from the actual traffic:
- every API key is an agent, every model / MCP server / outside system is a station, and the lines are who's talking to who right now
- traffic that skips the gateway can still be reported (one call to /v1/observe, or point any OpenTelemetry exporter at /v1/traces) and it shows up as a dashed line. Solid means Control Tower is actually in the path and enforcing it, dashed means we only saw it. I was strict about that on purpose, because a security map that overstates what it controls is worse than no map
- you can export the whole thing as a Markdown or CSV data-flow inventory, which in my experience is the thing reviewers actually ask for
- once you can see a path you can put a gate on it: allow, deny, require a human to approve, limits, or inspect
Where I'd really like help:
- the biggest open gap: an egress proxy sidecar for traffic that bypasses the gateway entirely. Right now that traffic is seen but not stopped. It's on the roadmap and it's a meaty problem if networking is your thing
- provider adapters (there are a lot already, there's always another one)
- new detectors for the inspect gates (PII, secrets and prompt injection today)
- if you run OpenTelemetry in a messy real-world stack, I want to know where the mapping breaks
- docs, bug reports, all the usual stuff
It's TypeScript (strict), Node 24 and pnpm. Demo mode spins up a fake agent fleet with stand-in providers, so you can hack on it without any API keys:
pnpm install
CT_DEMO=1 pnpm dev
CONTRIBUTING.md has the rest. For anything bigger than a small fix, open an issue first so we can agree on the approach before you sink time into it.
License is Apache-2.0. To be upfront: enterprise features live in separate `ee` directories, and everything outside those is Apache.
Repo: https://github.com/joshmaster2165/controltower
Site: https://agentcontroltower.app
Happy to answer anything, including "why not just use X". And if you think the map is wrong about something, I'd honestly like to hear that most.