npx skills add ...
npx skills add aws/agent-toolkit-for-aws --skill threat-modeling-with-aws-security-agent
npx skills add aws/agent-toolkit-for-aws --skill threat-modeling-with-aws-security-agent
Run an AWS Security Agent threat model review on spec/design documents. Use when the user asks to review a spec for security, run a threat model, check if a design introduces security risks, review requirements.md or design.md for security posture changes, or STRIDE analysis.
Analyze spec documents (requirements.md, design.md) against the source code to identify security-posture changes using STRIDE methodology. No prior scan needed.
Read .security-agent/config.json for agent_space_id and region. If missing, run the setup-security-agent workflow inline first.
| Placeholder | How to resolve |
|---|---|
<id> (agent space) | config.agent_space_id |
<region> | config.region (default us-east-1) |
<account> | aws sts get-caller-identity --query Account --output text |
<role-arn> | arn:aws:iam::<account>:role/SecurityAgentScanRole |
<bucket> | security-agent-scans-<account>-<region> |
Pre-checks. Read config, verify agent space, resolve values.
Collect spec files. Identify the requirements.md and/or design.md the user is working on. Use absolute paths. Ask if unclear which files to review.
Zip the workspace (same exclusions as code scan):
Upload source zip:
Upload spec files:
Create threat model:
Capture threatModelId.
Start threat model job:
Capture threatJobId.
Persist to scans.json with scan_type: "THREAT_MODEL".
Tell user: "Threat model review started. Runtime varies with workspace size. I'll check every 2 minutes โ say 'stop polling' to opt out."
Poll every 2 minutes:
Only respond when status changes.
On COMPLETED โ fetch threats:
If nextToken, paginate with --next-token.
Each threat includes: statement, severity, stride category, threatImpact, recommendation, impactedAssets.
Write full report to .security-agent/findings-{scan_id}.md. Call out any threat that represents a regression from the prior design.
threat-model-<feature-name> (no spaces)