Ship permission changes without shipping admin access.
AttackGraph AI finds new routes to admin roles and sensitive data in a cloud change, then tests the fix.
all required
A reviewer sees one changed line. The risk lives in what that line completes: a build pipeline that can hand itself the deployment admin role.
Permission reviews miss paths, because risk lives in combinations.
The question a reviewer needs answered: what new access does this change create, and which permission should go?
Diffs hide paths
Widening iam:PassRole reads as a one-word edit. Whether it hands out admin depends on grants made long before.
Single checks miss combinations
Each permission can look harmless alone. Passing a role, creating a function, invoking it and owning its code together mean running as admin.
Fixes are guesswork
Revoke the wrong grant and the deploy breaks. Revoke nothing and the path stays open.
Unknowns get read as safe
When a permission is not described, reviews tend to assume it is absent. AttackGraph AI calls it unknown and says so.
Find it, explain it, fix it. Every step traceable.
Map every route
Two explicit rules link permissions into routes from an entry point to protected roles and data. A missing fact stays unknown, never safe.
Explain it with Amazon Bedrock
Nova Pro writes the explanation from placeholder IDs. It cannot add findings, change severity or invent fixes.
βThe proposed change allows principal CI deploy user (build pipeline) to pass role Deployment admin role to Lambda workload Post-build hook function, enabling CI deploy user (build pipeline) to run code as Deployment admin role.β
Test the fix before you touch infrastructure
Revoke the new permission on a copy, rerun the whole analysis, and confirm the route is gone while normal access still works.
Built to be checked, not trusted.
Every result traces back to a line in the input files, and the limits are stated up front.
Does it connect to a real AWS account?
No. It reads two synthetic JSON snapshots. The only AWS call is to Amazon Bedrock, for the explanation text.
What does Amazon Bedrock do here?
Nova Pro turns the evidence behind one finding into a short explanation. It sees placeholder IDs, never labels, and every ID it cites is checked. Anything else is discarded and a deterministic summary is shown.
What does Verified in this model mean?
The engine reran the whole analysis with the permission revoked, the route disappeared, and every relationship stayed resolved. It is a statement about the synthetic model, not a guarantee for a real account.
Why is an unknown fact never treated as safe?
If the snapshot does not say whether a permission exists, the engine cannot rule the route out. It reports the result as incomplete instead of guessing.
Can it block a pull request?
Yes. The same engine runs as a command-line check that exits with an error when a change opens a new path or leaves the result incomplete. The repository's GitHub Actions workflow runs it on every pull request and marks the line responsible. The live demo shows it on the flagship change.
What is out of scope?
Terraform and raw IAM policy parsing, EC2, general AssumeRole chains, multi-account analysis and automatic remediation. The model covers two rules: direct S3 reads and role use through a Lambda function.
See the path before it ships. It takes one click.
No sign-up. Synthetic data only.