Agentshield

Kiro Security: Guardrails for Amazon Kiro IDE and Kiro CLI Agents

Kiro is unusually direct about the limits of its own safety features, including one sentence most buyers never reach. Read that sentence before you decide whether Kiro needs anything around it.

OWASP LLM Top 10 Immutable audit trail Never trains on your data

Direct answer

Kiro security rests on two layers: an autonomy mode that decides whether the agent pauses, and a capability permission layer of allow, ask and deny rules that gates specific operations. Kiro states plainly that the first layer is not a security boundary: "Supervised mode is a code review workflow, not a security control." It does not act as a sandbox, an isolation boundary, or an access control mechanism. The permission layer is the real control, and it protects Kiro's own configuration much more strictly than it protects your source tree, your shell or the cloud credentials on the machine. Trusted commands are matched by simple string prefix, not parsed, so a permissive prefix grants more than most teams intend.

Try it live

Watch Agentshield block an attack in real time.

Pick a scenario and drive the inspection lane yourself. No signup needed.

Threat Console
12,408 injections blocked this week

Run a request

Inspection lane

INSPECTING
untrusted input

Policy trace

High-risk action held for approval

Audit trail

The risk

Most teams inherit Kiro rather than choose it. AWS stopped new Amazon Q Developer signups on May 15, 2026 and set end of support for the IDE plugins and paid subscriptions at April 30, 2027, so a migration that nobody scheduled now has a deadline attached. The security review that cleared Amazon Q Developer does not carry over, because the product it cleared was largely an autocomplete and chat assistant. Kiro is an agentic development environment: it runs shell commands, edits files across a repository, and fires hooks on save. The same developer laptop usually holds long-lived AWS credentials, a kubeconfig, and production database URLs in a dotenv file. Nothing in the migration path prompts anyone to re-examine that, and the approval that mattered was granted against a different threat model.

How Agentshield handles it

Work outward from the machine, because that is where the blast radius actually is. First, decide the autonomy default per repository rather than per developer: Autopilot on a scratch repo is fine, Autopilot on the repository that holds your deployment scripts is a different decision. Second, audit trusted commands with the prefix behavior in mind, and register narrow, complete commands instead of broad leading fragments. Third, treat every MCP server as third-party code with your credentials, because that is what it is, and Kiro tells you to install only from sources you trust rather than checking on your behalf. Fourth, scope the credentials on the machine down to what the work needs, since no editor setting can revoke an access key the agent can read. Fifth, keep a record outside the tool of what the agent ran, because a local editor log is not evidence you can hand an auditor.

The controls

The controls that secure Kiro IDE and Kiro CLI agents, the commands they run and the credentials they can reach.

What each Kiro security control covers, and where Kiro says it stops

Kiro documents its own limits more candidly than most vendors in this category, which makes an honest table possible. Everything in the third column below is Kiro or AWS documentation, quoted, not our characterization.

ControlWhat it coversWhat Kiro documentation states it does not cover
Supervised modeVerbatim: "In Supervised mode, Kiro works interactively, pausing for your review after each turn." You see and approve changes before they landVerbatim, and this is the most important sentence in the docs: "Supervised mode is a code review workflow, not a security control." Kiro adds that it does not function as a sandbox, isolation boundary, or access control mechanism
Autopilot modeVerbatim: "In Autopilot mode, Kiro works autonomously: Kiro executes multiple steps without requiring approval for each one." Deny and ask rules still apply underneathRemoves the human checkpoint entirely. The permission layer becomes the only thing standing between the agent and your filesystem, your shell and any credential readable from that machine
Trusted commandsVerbatim: "By default, Kiro requires approval before running any command." You register the commands you do not want to approve repeatedlyVerbatim: "Kiro uses simple string prefix matching to determine if a command should be automatically trusted." A prefix is not a parser, so a broad leading fragment trusts far more than the command you had in mind
Protected pathsWrites to the Kiro settings directories are, in the documentation's words, "Always denied", so an agent cannot edit the permission rules that govern it. Writes to .git, the agents and hooks directories, and .kiroignore "Always asks" regardless of your configurationCovers Kiro's own configuration and git metadata. Your application source, local secrets files and everything reachable through the shell sit outside that protected set
MCP serversInstall links using the kiro scheme show a confirmation dialog with the command, the arguments and the environment variable names before Kiro changes any configurationVerbatim: "Only install MCP servers from sources you trust." The dialog shows you what will run. It does not evaluate whether the server is safe, and it shows variable names rather than values

Read the third column as a group and the design intent becomes clear. Kiro protects itself rigorously: the agent cannot rewrite its own permission files, and that is a genuinely good decision that several competing tools get wrong. What Kiro does not claim to do is contain the agent. The permission layer is a policy engine, not a jail, and the documentation never pretends otherwise.

The permission layer itself is better engineered than the trusted-commands shortcut suggests. Rules resolve as deny, then ask, then allow, with deny always winning. Shell command matching uses glob patterns, and compound commands joined by semicolons, double ampersands, pipes or double bars are parsed before pattern matching so that each sub-command is evaluated independently. That last detail matters: it closes the obvious trick of smuggling a denied command in behind an allowed one. Teams that write real deny rules get real enforcement. Teams that rely on the trusted-commands list get prefix matching, which is a different and much weaker thing.

Kiro also inherits the AWS shared responsibility model, stated in its docs as "Security of the cloud" belonging to AWS and "Security in the cloud" being, verbatim, "determined by the AWS service that you use." For an agent that runs on your laptop against your repositories with your credentials, almost everything interesting lands on your side of that line. The same boundary governs Cursor, Gemini CLI and Claude agents, and it is worth running as one program rather than one review per tool.

Amazon Q Developer is being retired, and the Kiro migration resets your agent controls

If you are reading about Kiro security because a migration landed on your desk, here is the timeline with AWS's own wording. These dates drive the budget conversation more than any feature comparison.

MilestoneDateWhat AWS states
Kiro launched internationallyMay 7, 2026AWS describes it as "an agentic development environment (IDE, CLI) built from the ground up for spec-driven development". It is a replacement product, not a rename
New Amazon Q Developer signups stopMay 15, 2026Verbatim: "New signups will no longer available starting May 15, 2026." This covers both free tier accounts and new subscriptions through the console
Amazon Q Business closed to new customersJuly 31, 2026Verbatim: "Amazon Q Business is no longer open to new customers." AWS will continue "bug fixes and security updates for existing customers, however new feature requests will no longer be considered"
Amazon Q Developer end of supportApril 30, 2027Verbatim: "Amazon Q Developer IDE plugins and paid Subscriptions will reach end of support on April 30, 2027". Critical bugfixes continue through the transition window
Existing Q Developer Pro subscriptionsThrough transitionVerbatim: "If you have an active Q Developer Pro subscription, you can continue to add new users to that subscription." Amazon Q capabilities inside the AWS console and other first-party AWS experiences continue operating normally

Two things about this migration deserve more attention than they get. The first is that the threat model changes underneath a product that looks like a continuation. Amazon Q Developer, in its IDE form, mostly suggested code and answered questions. Kiro plans work, edits across a codebase, runs commands and fires hooks. If your security sign-off predates May 2026, it approved the former and is being used to justify the latter.

The second is specific to teams also running Amazon Q Business, and AWS states it outright: the guardrails do not come with you. In the migration guide's words, "Q Business guardrails (global controls and topic-level controls) and Actions are explicitly excluded from the BYOI capability", which means "content filtering rules, blocked topics, and custom action configurations from your Q Business application will not transfer". AWS repeats the point in its validation advice, noting that guardrails configured in Q Business "will not apply through BYOI" and telling customers to verify that the replacement platform's native governance meets their requirements.

There is a quieter access-control change in the same document. For organizations not using IAM Identity Center, AWS says that because all users on the destination platform automatically receive access to connected indexes, "you lose the per-user and per-group access distinctions" that Q Business enforced at the index level, and that restoring granular access requires segmenting content into separate knowledge bases and assigning permissions programmatically. A migration that silently widens who can see what is a security event, not a project task. If your assistants read internal documents, the retrieval boundary is the thing to re-verify after cutover, and agent access control is where the work lands.

CVE-2025-8217: the Amazon Q supply chain incident, and why it still matters for Kiro

In July 2025 someone shipped a wiper prompt inside an official AWS developer extension. It is the clearest published example of the risk model that applies to any agentic coding tool, Kiro included, and AWS documented it without spin.

FieldValue
IdentifierCVE-2025-8217, affecting Amazon Q Developer for Visual Studio Code Extension version 1.84.0
SeverityModerate, CVSS 4.0. Low scores here are misleading: the score reflects the failed outcome, not the attempted one
Root causeVerbatim: "Amazon Q Developer for VS Code Extension had an inappropriately scoped GitHub token in their CodeBuild configuration." A threat actor used that access to commit code that was automatically included in a release
OutcomeVerbatim: "the malicious code was distributed with the extension but was unsuccessful in executing due to a syntax error". AWS states this prevented changes to any services or customer environments
RemediationVersion 1.85.0. AWS removed 1.84.0 from distribution channels and noted the malicious code "is still present in existing installations", so updating was required rather than automatic

The payload was not an exploit in the traditional sense. It was English. An instruction telling an agent with filesystem and shell access to reduce the system toward a factory state and delete cloud resources needs no memory corruption and no privilege escalation, because the agent already holds the privileges. That is the entire lesson, and it survives the specific product: when a tool is designed to run commands on your behalf, the distance between "attacker controls some text the tool reads" and "attacker runs commands as you" is close to zero.

Three consequences carry directly into a Kiro deployment. First, the trust boundary is the extension and its dependencies, not just the model. A compromised update, a malicious MCP server, or a poisoned file in a repository the agent reads are all the same class of problem. Second, the failure was caught by luck, a syntax error, rather than by a control, which is worth stating plainly because AWS did. Third, blast radius is the only variable you actually own. Nobody prevented that release from shipping, but the damage a wiper prompt can do is bounded entirely by what the agent's environment can reach.

That is the practical argument for sandboxing coding agents and for keeping developer credentials short-lived and narrowly scoped. It is also why an immutable record of what the agent ran matters more for coding agents than for chat assistants: when the question is "did anything execute on that machine between the 17th and the 23rd", a local editor history is not an answer you can defend. The same reasoning applies across coding agents generally.

Kiro data handling by tier: what AWS trains on and what it does not

The most common Kiro security question in procurement is whether AWS trains on proprietary code. The answer depends entirely on which tier you are on, and the difference is stark. Verified against Kiro documentation in August 2026.

ControlKiro FreeKiro Pro and individual paidKiro Enterprise
Content used for service improvement and model trainingYes by default. Kiro states it "may use certain content from Kiro Free Tier and Kiro individual subscribers for service improvement", covering questions, inputs, responses and generated codeYes by default, same policy as Free. Opt-out available in settingsNo. Verbatim: "We do not use content from Kiro enterprise users for service improvement"
How to opt outSettings, User tab, Application, Telemetry and Content. Uncheck the data sharing and prompt logging optionsSame path. It is a per-developer setting, so it is only as reliable as your least careful engineerNot needed. Enterprise users are "automatically opted out of telemetry and content collection"
Encryption at restAWS KMS owned keys by defaultAWS KMS owned keys by defaultAdmins can configure customer managed keys
Abuse detection retentionInputs stored "up to 60 days" for policy violation detectionApplies to individual subscribers on the same basisEnterprise content is excluded from improvement initiatives and stored in configured regions
Identity and administrationNoneNone. Users with an Amazon Q Developer Pro subscription accessing Kiro through an AWS account are also excluded from content sharingCentralized billing, SSO, usage analytics and enterprise security controls

The row that causes real incidents is the second one. On Free and individual paid tiers, the training opt-out is a checkbox inside each developer's own settings. That is a per-machine setting with no central enforcement and no report telling an administrator who has flipped it. If your compliance position is that proprietary source code is never used for model training, an individual subscription cannot evidence that position, no matter how carefully each engineer configures their editor. The enterprise tier is the only one where the commitment is contractual and default.

Worth noting for teams mid-migration: the documentation treats an existing Amazon Q Developer Pro subscription accessed through an AWS account as excluded from content sharing. So the safest sequencing during a Q Developer to Kiro transition is often to keep enterprise identity in the loop from day one rather than letting developers self-serve individual subscriptions during the gap, which is exactly what tends to happen when a deadline is public and the procurement process is slow.

Data handling is only half of a Kiro security review. The other half is what the agent is permitted to do, which is a tool permission question rather than a privacy question, and it is not addressed by any tier.

Where AgentShield fits for Kiro, and where it does not

We would rather lose the evaluation than win it dishonestly, so here is the split as we see it. Several rows below tell you to buy nothing.

What you needKiro built inAgentShieldWho should own it
Stop the agent editing its own permission rulesYes, protected paths are always deniedNoKiro. This is solved and we add nothing
Approve or reject each change before it landsYes, supervised modeNoKiro, with the caveat Kiro itself states: it is a review workflow, not a security control
Keep proprietary code out of model trainingYes on Enterprise, by defaultNoKiro Enterprise. If this is your only concern, buy the tier and stop reading
Governed policy across many agents and tools, not one editorPer workspace configuration filesYes, one policy applied at the gateway all agents call throughUs, once you are running more than one agent product and cannot answer what the policy is
Evidence for an auditor of what an agent did and whyLocal session history on the developer machineYes, an immutable record outside the tool being auditedUs, if you are regulated. Otherwise local history is genuinely enough

The first three rows are the reason many readers should close this page. If Kiro sits on a handful of laptops working on a product with no regulated data, its native controls plus an enterprise subscription are a proportionate answer, and adding a runtime gateway would be spend without a matching risk. That is the honest recommendation and it costs us nothing to say.

The last two rows are where an external control earns its place, and the trigger is plurality rather than paranoia. One team on Kiro is a configuration problem. Four teams on Kiro, Cursor, Claude Code and an internal agent calling production APIs is a governance problem, because the policy now lives in four different formats maintained by four different people, and nobody can answer what an agent is allowed to do without opening four repositories. That is the point at which AI agent hardening stops being per-tool configuration and starts needing a single place to see and constrain agent behavior. If the agents also reach shared infrastructure through MCP servers, that boundary is usually the first one worth centralizing.

If you are surveying the category rather than shopping for us specifically, our writeup of the AI agent security vendor landscape covers who does what, including vendors whose developer-endpoint coverage is stronger than ours.

FAQ

Common questions about kiro security.

Is Kiro secure?

For most teams, yes, with one honest caveat that Kiro publishes itself. Its permission layer genuinely enforces deny rules and even parses compound shell commands so each part is checked independently. But Kiro states that supervised mode "is a code review workflow, not a security control", and that it is not a sandbox or isolation boundary. Security depends on your configuration, not the default.

Is Kiro an AWS service?

Yes. Kiro is an AWS product and AWS positions it as the replacement for Amazon Q Developer, which reaches end of support for IDE plugins and paid subscriptions on April 30, 2027. Kiro follows the AWS shared responsibility model, so AWS secures the infrastructure and your responsibility is, in their words, determined by the service you use.

Does Kiro train on my code?

It depends on your tier. Kiro states it "may use certain content from Kiro Free Tier and Kiro individual subscribers for service improvement", including generated code, with an opt-out in settings. For Enterprise the answer is a flat no: "We do not use content from Kiro enterprise users for service improvement", and enterprise users are automatically opted out of telemetry.

What are Kiro security best practices?

Five in order of impact. Set the autonomy mode per repository rather than per developer. Write explicit deny rules instead of relying on trusted commands. Register narrow, complete trusted commands, since matching is by string prefix. Vet every MCP server as third-party code holding your credentials. Scope the credentials on the machine down to what the work actually needs.

Is Kiro Autopilot mode safe to leave on?

It depends entirely on what the repository can reach. In Autopilot, Kiro "executes multiple steps without requiring approval for each one", so your deny and ask rules become the only checkpoint. On a scratch repository that is fine. On a repository holding deployment scripts, with cloud credentials on the same machine, it is a decision that deserves a written rationale.

How do Kiro trusted commands work?

By default Kiro requires approval before running any command, and you can register commands to skip that prompt. The mechanism matters: Kiro "uses simple string prefix matching to determine if a command should be automatically trusted". A short prefix trusts every command that starts with it, so register complete commands rather than broad leading fragments.

Are Kiro MCP servers safe to install?

Treat them as third-party code running with your credentials. Kiro shows a confirmation dialog listing the command, arguments and environment variable names before changing configuration, and its guidance is direct: "Only install MCP servers from sources you trust." The dialog shows what will run. It does not assess whether the server is trustworthy.

What happens to Amazon Q Developer and when do I have to move?

New signups stopped on May 15, 2026 and IDE plugins plus paid subscriptions reach end of support on April 30, 2027. Existing Pro subscriptions can still add users, and critical bugfixes continue through the transition window. Amazon Q capabilities inside the AWS console and other first-party AWS experiences continue operating normally.

Do Amazon Q Business guardrails transfer to the new platform?

No, and AWS says so directly. Q Business guardrails and Actions are "explicitly excluded from the BYOI capability", so content filtering rules, blocked topics and custom action configurations do not transfer. AWS advises verifying that native governance on the destination platform meets your requirements before cutting over.

What was CVE-2025-8217 and does it affect Kiro?

It was the July 2025 compromise of the Amazon Q Developer VS Code extension, where an inappropriately scoped GitHub token let an attacker commit a destructive prompt into version 1.84.0. AWS states the code failed to execute because of a syntax error. It does not affect Kiro directly, but it is the clearest illustration of the supply chain risk any agentic coding tool carries.

Does Kiro sandbox the agent?

No, and Kiro does not claim to. The documentation states supervised mode "does not function as a sandbox, isolation boundary, or access control mechanism", and points you instead to protected paths, trusted commands, workspace isolation and credential scoping. If you need genuine containment, it has to come from the environment you run Kiro in.

Do I need third-party security tooling for Kiro?

Usually not for a single team on an enterprise subscription with sensible deny rules. It starts earning its place when you run several different agent products, because the policy then lives in several formats and nobody can state what agents are allowed to do, or when you are regulated and need evidence of agent activity that does not live on the machine being audited.

Secure your kiro security.