
AWS Security Agent
OfficialFreeAutomate threat modeling for AWS security reviews.
Free · Opens the source repo
What AWS Security Agent does
The AWS Security Agent skill enables users to perform automated threat model reviews on their AWS design and specification documents. By utilizing the STRIDE methodology, this skill analyzes requirements.md and design.md files against the source code to identify potential changes in security posture. It eliminates the need for prior scanning, allowing for immediate assessments based on the provided specifications.
To use the skill, users must first ensure that the necessary configuration is set up in .security-agent/config.json, which includes the agent_space_id and region. The workflow begins with pre-checks to verify the configuration before collecting the relevant specification files. The skill then zips the workspace, uploads it to an S3 bucket, and initiates the threat modeling process by creating a threat model in AWS Security Agent.
Once the threat model job is started, the skill polls for status updates every two minutes, providing real-time feedback on the job's progress. Upon completion, it fetches the identified threats and generates a comprehensive report detailing each threat's severity, impact, and recommendations for mitigation. The findings are saved in a markdown file for easy reference and further action.
This skill is particularly beneficial for developers and security professionals who need to ensure the security of their AWS-based applications by systematically identifying and addressing potential threats during the design phase.
When to use it
Use this skill when you need to review AWS design documents for security vulnerabilities or when implementing a new feature that requires a threat assessment.
When not to use it
This skill may not be suitable for environments outside of AWS or for projects that do not utilize `requirements.md` or `design.md` files for specifications.
What you can build with it
Reviewing New Features
When implementing a new feature in an AWS application, use this skill to assess the design for potential security vulnerabilities.
Compliance Audits
During compliance audits, leverage this skill to ensure that your design documents meet security standards.
Regular Security Assessments
Incorporate this skill into your regular security assessment process to continuously monitor and improve your AWS security posture.
How to install AWS Security Agent
View source1. Install with the skills CLI
npx skills add aws/agent-toolkit-for-aws/threat-modeling-with-aws-security-agent --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by awsAWS Security Agent — Threat Model Review
Analyze spec documents (requirements.md, design.md) against the source code to identify security-posture changes using STRIDE methodology. No prior scan needed.
Local state
Read .security-agent/config.json for agent_space_id and region. If missing, run the setup-security-agent workflow inline first.
Resolving the values you need
| 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> |
Workflow
-
Pre-checks. Read config, verify agent space, resolve values.
-
Collect spec files. Identify the
requirements.mdand/ordesign.mdthe user is working on. Use absolute paths. Ask if unclear which files to review. -
Zip the workspace (same exclusions as code scan):
cd <absolute-workspace-path> zip -r /tmp/source.zip . \ -x ".git/*" -x ".security-agent/*" -x "node_modules/*" \ -x "__pycache__/*" -x ".venv/*" -x "venv/*" \ -x "dist/*" -x "build/*" -x "target/*" \ -x ".mypy_cache/*" -x ".pytest_cache/*" -x ".tox/*" \ -x ".next/*" -x "cdk.out/*" -x ".DS_Store" -x "*.pyc" -
Upload source zip:
SCAN_ID="tm-$(date +%s)-$(openssl rand -hex 3)" WORKSPACE_ID=$(printf '%s' "$(pwd)" | md5sum | cut -c1-12) aws s3 cp /tmp/source.zip s3://<bucket>/security-scans/source/${WORKSPACE_ID}/source.zip -
Upload spec files:
aws s3 cp /path/to/requirements.md s3://<bucket>/security-scans/threat-models/${SCAN_ID}/specs/requirements.md aws s3 cp /path/to/design.md s3://<bucket>/security-scans/threat-models/${SCAN_ID}/specs/design.md -
Create threat model:
aws securityagent create-threat-model --agent-space-id <id> --title <title> \ --service-role <role-arn> \ --assets sourceCode=[{s3Location=s3://<bucket>/security-scans/source/${WORKSPACE_ID}/source.zip}] \ --scope-docs '[{"s3Location":"s3://<bucket>/security-scans/threat-models/'${SCAN_ID}'/specs/requirements.md"},{"s3Location":"s3://<bucket>/security-scans/threat-models/'${SCAN_ID}'/specs/design.md"}]'Capture
threatModelId. -
Start threat model job:
aws securityagent start-threat-model-job --agent-space-id <id> --threat-model-id <tm-id>Capture
threatJobId. -
Persist to
scans.jsonwithscan_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:
aws securityagent batch-get-threat-model-jobs --agent-space-id <id> --threat-model-job-ids <tj-id>Only respond when status changes.
-
On COMPLETED → fetch threats:
aws securityagent list-threats --agent-space-id <id> --threat-job-id <tj-id>If
nextToken, paginate with--next-token.
Findings presentation
Each threat includes: statement, severity, stride category, threatImpact, recommendation, impactedAssets.
🟣 CRITICAL: {statement}
STRIDE: {stride}
Impact: {threatImpact}
Assets: {impactedAssets}
Recommendation: {recommendation}
🔴 HIGH: {statement}
...
Write full report to .security-agent/findings-{scan_id}.md. Call out any threat that represents a regression from the prior design.
Rules
- Threat model reviews are standalone — no prior scan needed
- Poll every 2 minutes, not faster
- At least one spec file is required
- Use absolute paths for workspace and spec files
- Title:
threat-model-<feature-name>(no spaces)
Frequently asked questions about AWS Security Agent
Similar skills
Microsoft Threat Modeling Tool Generator
Easily create .tm7 files for threat modeling.
Threat Model Analyst
Perform comprehensive threat modeling and analysis.
Modeling Threats with OpenCTI
Centralize and visualize cyber threat intelligence effectively.
Zero Trust DNS with NextDNS
Secure your DNS queries with encrypted protection and threat blocking.
STIX/TAXII Feed Integration
Integrate STIX/TAXII threat intelligence feeds seamlessly.
Attack Path Analysis with XM Cyber
Identify and prioritize vulnerabilities in your security landscape.
