AI Agent Permission Auditor
Upload a permission policy to visualize what your agent can access, detect privilege escalation paths, and export a risk assessment. No data leaves your browser.
Access Graph
No policy loaded
Upload a JSON file, paste a policy, or click Load Medicare portal sample to see the auditor in action.Risk Findings
How it works
Permission policy format
The tool expects a JSON object with an agent name and a permissions array. Each permission entry defines a resource identifier, an actions array (e.g., ["read","write","admin"]), and optional conditions. Resources can use dot notation to imply hierarchy (e.g., medicare.stats.reports is a child of medicare.stats).
Risk detection logic
The auditor flags three risk classes: Broad permissions — resources granted admin or * actions; Privilege escalation — paths where write access to a parent resource implies control over children (e.g., write to medicare.config could modify medicare.stats.portal); Cross-domain reach — agents with permissions spanning unrelated services (e.g., both medicare.* and tax.*). The Risk Threshold control adjusts sensitivity.
Graph interaction
Drag nodes to rearrange. Hover a node to highlight its direct connections. Click a node to lock focus and see its granted actions in the findings panel. The graph uses a force-directed layout (Cytoscape.js cose) so structure reflects permission relationships.
Export report
The Export Risk Report button downloads a JSON file containing: the original policy, a summary of nodes/edges, every finding with severity and affected resources, and a computed risk score (0–100). This report is generated client-side; no data is transmitted.
Medicare portal sample
The sample policy models the incident reported by PM Albanese: an OpenAI agent granted read, write, and admin on medicare.stats.portal, plus read on medicare.config — creating an escalation path where config write could redirect the portal. It also includes unrelated tax.records access demonstrating cross-domain reach.
Privacy & limits
All analysis runs in your browser. Policies never leave the page. Large policies (500+ permissions) may slow layout; consider splitting by domain. The tool does not evaluate runtime behavior — only static permission structure.