Merit AC™
AI Skills Academy / Tools Free · runs in your browser

Agent Authority Scanner

Paste the files that decide what your AI agent can do. The scanner finds every place where the agent's decision and the action are the same thing -- no identity, policy or CI check in between -- and points each finding at the lesson that teaches the fix.

Nothing you paste is uploaded, stored or logged -- the rules run on this page. Strip secrets anyway.

What it checks

39 checks, each one a control this course teaches. A finding names the line, the risk, the fix and the lesson.

GitHub Actions

SeverityFindingLesson
highWorkflow token has write access to everythingLesson 1
mediumWorkflow doesn't declare token permissionsLesson 1
highUntrusted event text is interpolated into a shell scriptLesson 1
mediumThe agent acts with a person's tokenLesson 3
highThe workflow merges its own pull requestLesson 7
highMerge uses --admin to skip branch protectionLesson 3
highLong-lived AWS access keys stored as repository secretsLesson 4
mediumA step is allowed to fail without failing the jobLesson 6
highpull_request_target checks out untrusted PR codeLesson 6
mediumDeploy step with no protected environmentLesson 17
mediumterraform apply runs with -auto-approveLesson 18
mediumA required gate job can be skippedLesson 28
lowThird-party action pinned to a movable tag--

AWS IAM and OIDC trust (JSON or Terraform)

SeverityFindingLesson
highAdministratorAccess attachedLesson 1
highPolicy allows every actionLesson 14
mediumPolicy allows every action in a serviceLesson 14
mediumWrite actions allowed on every resourceLesson 14
mediumiam:PassRole without iam:PassedToServiceLesson 14
highCan read every secret in the accountLesson 4
mediumAllow with NotActionLesson 14
highGitHub OIDC trust policy doesn't pin the subjectLesson 4
highGitHub OIDC trust policy matches a wildcard subjectLesson 25
lowGitHub OIDC trust policy doesn't check the audienceLesson 4
highInfrastructure creates a long-lived access keyLesson 4

Claude Code settings

SeverityFindingLesson
highClaude Code settings default to bypassing permissionsLesson 5
highAny shell command is pre-approvedLesson 5
lowNo deny rulesLesson 2

Repository controls (CODEOWNERS, branch protection, rulesets)

SeverityFindingLesson
highSomeone can merge past the review requirementLesson 3
mediumCode-owner review isn't requiredLesson 3
mediumApprovals survive new pushesLesson 7
highNo approving review requiredLesson 7
mediumNo specific code owner for the workflow filesLesson 3
lowSensitive path has a single ownerLesson 3

Agent tool code and manifests

SeverityFindingLesson
highTool runs arbitrary SQLLesson 5
highTool builds a shell command from its inputLesson 26
highTool trusts a caller-supplied header for identityLesson 16
mediumTool connects with an admin database credentialLesson 5

Any file

SeverityFindingLesson
highThe agent runs with its permission checks switched offLesson 1
mediumHealth check that can't failLesson 29

What it isn't

A pattern-based check on one file at a time, built to find agent authority -- not a full linter or policy engine. It doesn't parse every YAML or HCL construct, can't see your org's settings, and a clean result doesn't mean a file is safe. Run it alongside actionlint, zizmor and IAM Access Analyzer, and treat each finding as a question for the file's owner.

Learn the fixes · $49/mo

Every finding maps to a lesson in the 30-lesson course: a short video, a hands-on lab on the same kind of file, and a knowledge check. Lessons 1–3 are free.

Join — $49/mo