Build2 publishersAlso reported elsewhere3 min readPublished
AgentCore's region-wide default role let one public agent's stolen credentials reach every agent in the account
Zenity Labs found that one prompt to a single public Amazon Bedrock AgentCore agent could take over every agent in the same AWS account and region. Zenity says the partial fix from AWS still leaves teams to cut each agent's role down to minimal access by hand.
The Engineer · Build desk

What happened
- With those rights the researchers listed every agent, downloaded code packages that often held forgotten passwords or API keys, and invoked each agent individually.
- On agents with long-term memory enabled, they planted instructions that forwarded future user conversations to an external destination.
- Zenity reported the chain, which it calls AgentCorruption, to AWS on December 25, 2025.
Compiled by The EngineerSomething wrong?How this is made
Why it matters
- constraint Trimming an agent's tool list does not contain this flaw, because the command-line tool worked as well as the web tool. Containment has to come from the IAM role attached to each agent.
- decision Owners of agents deployed before AWS's change have to decide whether to rebuild them or rewrite their roles, because the metadata fix as reported covers new agents.
- cost Cleanup extends to rotating secrets: the default role reached the credential vault, including keys for services outside AWS, and no change on the AWS side revokes those.
The first link in the chain is old cloud plumbing. AWS runs an Instance Metadata Service at 169.254.169.254 that hands temporary credentials to the workload calling it, and whoever captures them can impersonate that workload [4]. An agent should not be able to reach it. According to Zenity's technical write-up, AgentCore lacked the isolation to stop it [19]. The researchers built a test agent on Strands, an open-source AWS framework that ships with a web tool [5]. They asked it in plain language to query the service and send the output to an external server [5]. It complied [5]. "The sandbox boundary we were supposed to be fighting simply wasn't there," the researchers wrote [6].
After that the agent was optional. The credentials worked from the researchers' own machine, outside the platform [7]. The same endpoint also returned certificate and key material for an internal AWS service, plus a presigned URL to an internal S3 bucket that belonged to some other account [8]. Removing the web tool would not have closed the hole. Zenity says a command-line tool got the same result, since the weakness is in the platform itself [9]. It describes the problem as systemic, affecting agents with built-in tools across AWS accounts [21].
What stolen credentials can do depends on the role attached to them. According to Zenity, the role AgentCore assigned by default was scoped to all agents in the region instead of the one agent holding it, with read, write and delete rights that extended to destructive actions [10]. With it, the researchers listed every agent, downloaded code packages in seconds and invoked each agent individually [11]. Those packages often hold forgotten passwords or API keys next to the source [11]. Zenity's example is a pivot from a public customer service agent to an internal finance agent and its data [18]. Every private conversation between users and agents was readable [12].
Two safeguards AWS itself recommends did not hold under that role. AWS tells builders to keep credentials in a separate secured vault, but the default permissions reached the vault directly, including keys for services outside AWS [14]. Long-term memory was writable too. Zenity planted instructions that made agents forward future conversations to an outside destination, while users kept talking to what looked like a trusted agent [13].
AWS has made it harder for new agents to retrieve internal metadata and has tightened the default execution role, according to the-decoder [16]. The report does not say whether agents and roles created before the change were updated. Zenity's position is that companies should still assign each agent a stricter role with minimal access by hand [17].
I think that advice is right, and the structure of the chain shows why. It needed two separate failures: an agent that could reach the metadata service [19], and a default role that covered every agent in the region [10]. The metadata change targets the first, and as reported it applies to new agents [16]. The role decided how far the leak travelled, and Zenity says the most damage came from those default permissions [20]. If the tightened default applies only to roles created after the change, accounts built before it keep the region-wide policy until someone rewrites it [16].
What to watch
- Whether AWS states that existing AgentCore agents and default execution roles were changed, or only those created after the fix.
- Whether AWS's tightened default execution role is scoped per agent or still spans other agents in the region.
- Whether Zenity publishes further findings on the internal S3 bucket and AWS service key material the metadata endpoint exposed.
Clarity's read
What the record supports and how the coverage leans. The claims behind it follow.
Reality
- Evidence45
- Adoption
- Insufficient
- Hype gap+15
- Incentives70
- Confidence40
Claim ledger
Ranked by verification strength, evidence, and original report placement.
- [1]
Zenity Labs researchers say a single publicly accessible AI agent on Amazon Bedrock AgentCore was enough to take over every AgentCore agent in the same AWS account and region, using a single prompt.
- [2]
An attacker only needed chat access to one publicly reachable agent; the researchers could read private conversations, download source code and grab stored credentials.
- [3]
Zenity Labs calls the chain of vulnerabilities "AgentCorruption."
- [4]
AWS runs an Instance Metadata Service at the internal address 169.254.169.254 that serves temporary credentials an instance or workload uses to authenticate with AWS; anyone who captures them can impersonate the instance.
- [5]
The researchers built a test agent using Strands, an open-source framework from AWS that ships with a web tool, asked it in plain language to query the metadata service and send the results to an external server, and the agent complied.
- [6]
"The sandbox boundary we were supposed to be fighting simply wasn't there."
- [7]
The stolen credentials worked outside the platform on the researchers' own machine, so they no longer needed the agent.
- [8]
The metadata service also exposed certificate and key material for an internal AWS service and a presigned URL pointing to an internal S3 bucket that did not belong to the researchers' account.
- [9]
According to Zenity, skipping the web tool would not have helped: the attack worked just as well through a command-line tool because the flaw sits in the platform itself.
- [10]
According to Zenity, AgentCore's default permissions were not scoped to a single agent but applied to all agents in the region, covering read, write and delete rights up to destructive actions.
- [11]
With the default permissions the researchers could list every agent, download their code packages in seconds and invoke each one individually; the packages often contain forgotten passwords or API keys alongside source code.
- [12]
Every private conversation between users and agents was readable.
- [13]
For agents with long-term memory, the researchers tampered with memory directly, planting instructions that made agents forward future conversations to an external destination while users kept talking to what looked like a trusted agent.
- [14]
AWS recommends storing credentials separately from agents in a secured vault, but the default permissions allowed direct access to that vault, including keys for services outside AWS.
- [15]
Zenity says it reported the AgentCore findings to AWS on December 25, 2025.
- [16]
AWS has partially fixed the issue by making it harder for new agents to retrieve internal metadata and by tightening the default execution role.
- [17]
The researchers still recommend that companies manually assign their AI agents stricter roles with minimal access rights.
- [18]
An attacker could pivot from a public-facing customer service agent to an internal finance agent and access its data.
- [19]
According to Zenity's technical blog post, AgentCore lacked proper isolation, so an agent could reach the metadata service.
- [20]
The most damage came from the permissions AgentCore assigned to every agent by default.
- [21]
According to Zenity, the problem was systemic and affected agents with built-in tools across AWS accounts.
Sources
2 independent publishers whose own reporting we read for this story.
- the-decoder.comA single prompt was enough to hijack every AI agent in an AWS account, Zenity researchers found
1 article · October 8, 2026
- thenextweb.comOne prompt let researchers take over every AWS AgentCore agent in a region
1 article · October 8, 2026
Topics and entities
Follow any of these and your For You feed starts watching them — no settings page required.
Topics
- AI Agent SecurityFollow
- Instance Metadata Credential TheftFollow
- Cloud Identity and Access ManagementFollow
Entities
- ZenityFollow
- Amazon Bedrock AgentCoreFollow
- Amazon Web ServicesFollow
- Strands AgentsFollow
- AWS Instance Metadata ServiceFollow
- AWS Secrets ManagerFollow
- AgentCorruptionFollow
- Michael BarguryFollow