A single-agent review is roughly linear: one prompt, one model, one tool set, one permission boundary. A multi-agent review is a graph, and the graph is where scope gets lost. Practitioners who already run vulnerability management programs have the right muscle memory here: you cannot rank risk on assets you have not inventoried, and the same holds when the asset is an agent with a credential and a delegation path. Analyses of agent security repeatedly point out that most organizations cannot confidently answer "how many agents have access to production systems," which turns shadow AI into the successor of shadow IT (Spektion's agent checklist).
Start by producing three artifacts. First, an agent register: name, owner, purpose, model, system prompt version, identity, and the tools or data stores it can reach. Second, a call graph: directed edges from caller to callee, annotated with the protocol used (HTTP, JSON-RPC, a queue, shared memory). Third, a capability matrix: for each agent, what it can read, write, execute, approve, and spend (the KryptoMindz module on secure multi-agent workflows describes this as turning agent safety into an explicit design decision).
A worked example makes the value obvious. Suppose an operations copilot has a planner agent, a document-retrieval agent, and an executor agent, and the executor can call a payments API. The inventory surfaces a question nobody asked during development: does the planner need write access to anything at all? If the answer is yes, that is a governance problem, not a prompt problem. The capability matrix catches mismatches like this before they reach production, because read-only access, write access, deleting data, spending money and contacting outside parties are meaningfully different risk tiers.
A quick triage rule for a long call list: review first any edge where (a) the callee can take an action with financial or irreversible effect, (b) the caller's output becomes the callee's instructions rather than its data, or (c) the callee uses a different, broader credential than the caller. Everything else can be sampled.
| Edge type | Needs full review | Why |
|---|---|---|
| Planner to executor | Yes | Converts intent into tool calls and parameters |
| Agent to retrieval service | Yes, if retrieved content feeds instructions | Indirect injection enters here |
| Agent to shared memory or vector store | Yes | Contaminated state is read by every future run |
| Agent to read-only lookup with fixed schema | Sample | Low blast radius, still log it |
| External agent to internal agent | Yes | Untrusted sender, no provenance guarantee |
| Agent to its own logging sink | No | Outbound only, no state change |



