Use case · Coding agents

Coding agents run with your developers’ access. Know where it leads.

AI coding agents read files, run commands and call APIs with whatever credentials sit on the developer machine or in the CI job. The risk is rarely the agent itself. It is the token in a config file, the cloud profile in the home directory and the deploy role one step further.

Trigger
cursor-ci runs in CI
AI coding agent, no owner
Reads the deploy token
.env file, 213 days old
Assumes ci-deployer
Cloud role with broad data access
Critical
customer db
PII, reachable today
staging db
Test data only
THE PROBLEM

Why coding agents are an access problem

Recent incidents show the same pattern. In the PocketOS case a Cursor agent found an account-scoped Railway token in an unrelated file and deleted a production volume. GitSpawn showed seven coding agents running attacker code from a repository setting, as the developer. The s1ngularity payload used installed AI CLIs to hunt for secrets. And the Codex sandbox research found the agent's own authorisation token readable from untrusted code.

None of these needed a new vulnerability class. Each needed a credential the agent could read and a permission nobody had checked end to end.

PocketOS →

An account-scoped Railway token sat in an unrelated file. A Cursor agent used it and deleted a production volume.

GitSpawn →

Seven coding agents ran attacker code from a repository setting, as the developer.

s1ngularity →

The payload used installed AI CLIs to hunt for secrets.

Codex sandbox →

The agent’s own authorisation token was readable from untrusted code.

INVENTORY

Every coding agent, found. Sanctioned or not.

Agents in GitHub, CI workflows and cloud accounts, next to the ones developers installed themselves.

Cursor
Developer laptops, reads local config files
Shadow
Claude Code
Terminal agent with shell access
Sanctioned
cursor-ci
GitHub Actions, deploy token in reach
No owner
codex-review
CI job reviewing pull requests
Sanctioned
test-writer
Writes tests in a CI sandbox
Scoped
release-agent
Tags and ships builds
Prod access
pr-bot
Opens dependency pull requests
Repo write
docs-agent
Updates docs from code
Scoped
migration-agent
Runs schema migrations
DB write
triage-agent
Labels and routes issues
Sanctioned

What Elmoz shows for coding agents

Five questions Elmoz answers for every coding agent in GitHub, CI and your cloud accounts.

Coding agents 4
CursorDeveloper laptopsShadow
Claude CodeDeveloper laptopsSanctioned
cursor-ciGitHub ActionsNo owner
codex-reviewCI jobSanctioned
[01]

Which coding agents exist

Agents found in GitHub, CI workflows and cloud accounts, including shadow agents nobody registered.

Credentials in reach
deploy token.env.production · 213 daysNo owner
AWS profile~/.aws/credentials · 90 daysBroad
GitHub tokenrepo scope · 34 daysScoped
[02]

Which credentials they hold

Tokens, keys and roles the agent runs with, where they live and how old they are.

cursor-ciAI coding agent in CI
deploy token213 days old, no owner
ci-deployerCloud role, broad data access
customer dbPII, reachable todayCritical
[03]

What those credentials reach

The path from the agent through roles and deploy identities to databases, buckets and production.

DISTANCE TO PRODUCTION

distance to production. Counted in steps.

How many steps separate a coding agent from a destructive action in production.

0
Agentcursor-ci, an AI coding agent running in CI
1
TokenA deploy token, 213 days old, no owner
2
Roleci-deployer, a cloud role with broad data access
3
Productioncustomer db, PII, reachable today
THE FIX

The breakpoint

The single change, for example scoping a deploy role off the customer database, that closes the path.

This is the kind of path Elmoz surfaces from live permissions. The fix is rarely to remove the agent.

Recommended actionsci-deployer
Scope ci-deployer off the customer DBCloses the path, deploys keep workingSafe
Rotate the deploy tokenTwo workflows need the new tokenDisruptive
Move the token out of the repoStore it in the CI secret storeSafe
Apply fixCreate ticketPaths closed: 1

An example path

This is the kind of path Elmoz surfaces from live permissions. The fix is rarely to remove the agent. It is usually to scope the role or rotate the one token that made the path possible.

Security GraphFocus: cursor-ciAll assetsIdentitiesData stores
ATTACK PATH7 entities · 3 access steps
cursor-ciAI coding agent · CI!deploy.ymlGitHub Actions!.env fileDeploy token, 213 daysaws2ci-deployerAWS IAM roleawsprod-accountAWS accountStagingTest dataaws!Production roleAssumable3Findings3 issuescustomer dbProduction · PIIPII/NameData findingPII/EmailData finding
FAQ

Questions, answered.

Short answers on what coding agents can reach and how to reduce it.

Can an AI coding agent access production?

Yes, if a credential it can read grants that access. Coding agents use the tokens, keys and cloud profiles available on the developer machine or in the CI job, so their reach is the reach of those credentials.

What is the biggest risk with coding agents?

Standing credentials within the agent's reach, such as account-scoped API tokens in files or broad deploy roles in CI. Incidents like PocketOS and GitSpawn turned exactly those into production impact.

How do I reduce what a coding agent can reach?

Inventory the credentials it can read, scope them to the task, keep production tokens out of developer files and review the roles CI identities can assume.

See what your agents can reach. Before someone else does.

Book a demo and we walk through the access paths in an environment like yours.