
AWS Security Agent Diff Scan
OfficialFreeQuickly scan code changes for security issues in AWS.
Free · Opens the source repo
What AWS Security Agent Diff Scan does
The AWS Security Agent Diff Scan skill enables developers to efficiently scan only the code that has changed since a specified git reference. This targeted approach is faster than performing a full scan, allowing users to focus on recent modifications and identify potential security vulnerabilities before committing changes. The skill is particularly useful for pre-commit and pre-push checks, ensuring that security considerations are integrated into the development workflow.
To use the AWS Security Agent Diff Scan, users must first set up the necessary configuration in a .security-agent/config.json file, which includes the agent_space_id and region. Once configured, the skill can determine what to scan against, whether it be uncommitted changes, a specific branch, or a custom reference. The process involves generating a diff of the changes, zipping the relevant workspace files, and uploading them to an S3 bucket for analysis.
The skill is designed for developers who prioritize security in their coding practices. By running a diff scan, they can quickly receive feedback on the security implications of their changes without the overhead of a complete code review. This is especially beneficial in agile environments where rapid iteration and deployment are common.
However, it is important to note that this skill is not a replacement for comprehensive security assessments. It focuses solely on the changes made since the last reference and may not catch issues present in the broader codebase. Therefore, while it is an excellent tool for immediate feedback, it should be used in conjunction with other security practices for thorough coverage.
When to use it
Use this skill when you need to scan recent code changes for security vulnerabilities, especially before committing or pushing code.
When not to use it
Avoid using this skill if you require a comprehensive security review of the entire codebase, as it only analyzes the differences since the last git reference.
What you can build with it
Pre-commit Security Check
Run a diff scan before committing code to ensure no new security vulnerabilities are introduced.
Pull Request Review
Use the diff scan to analyze changes in a pull request for potential security issues before merging.
Continuous Integration Pipeline
Integrate the diff scan into your CI pipeline to automatically check for security issues in code changes.
How to install AWS Security Agent Diff Scan
View source1. Install with the skills CLI
npx skills add aws/agent-toolkit-for-aws/diff-scanning-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 — Diff Scan
Scan only the code that changed since a git ref. Faster than a full scan — focuses findings on the diff. No prior full 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.
Track scans in .security-agent/scans.json.
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> |
<WORKSPACE_ID> | printf '%s' "$(pwd)" | md5sum | cut -c1-12 |
Workflow
-
Pre-scan checks. Same as full scan — read config, verify agent space, resolve values, generate workspace ID.
-
Ask what to scan against:
- Uncommitted changes →
BASE_REF=HEAD(default) - Branch vs main →
BASE_REF=main - Custom ref → user provides
- Uncommitted changes →
-
Generate diff (fail fast if empty):
cd <absolute-workspace-path> if [ "$BASE_REF" = "HEAD" ]; then git diff HEAD > /tmp/diff.patch else git diff "$BASE_REF..HEAD" > /tmp/diff.patch fi [ -s /tmp/diff.patch ] || { echo "No changes vs $BASE_REF"; exit 1; } -
Zip the workspace (same exclusions as full scan, 2 GB limit):
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 both source zip and diff patch:
SCAN_ID="diff-$(date +%s)-$(openssl rand -hex 3)" aws s3 cp /tmp/source.zip s3://<bucket>/security-scans/source/<WORKSPACE_ID>/source.zip aws s3 cp /tmp/diff.patch s3://<bucket>/security-scans/diffs/${SCAN_ID}/diff.patch -
Get or create per-workspace CodeReview (same logic as full scan — lookup
config.json → code_reviews[<abs_path>], create if absent):aws securityagent create-code-review --agent-space-id <id> --title <title> \ --service-role <role-arn> \ --assets sourceCode=[{s3Location=s3://<bucket>/security-scans/source/<WORKSPACE_ID>/source.zip}] -
Start the diff job:
aws securityagent start-code-review-job --agent-space-id <id> --code-review-id <cr-id> \ --diff-source s3Uri=s3://<bucket>/security-scans/diffs/${SCAN_ID}/diff.patchIf
ResourceNotFoundException: recreate CodeReview and retry. -
Capture
codeReviewJobId. Persist toscans.jsonwithscan_type: "DIFF"andbase_ref. -
Tell user: "Diff scan started. Takes a few minutes. I'll check every 2 minutes — say 'stop polling' to opt out."
-
Poll every 2 minutes:
aws securityagent batch-get-code-review-jobs --agent-space-id <id> --code-review-job-ids <job_id>Only respond when status changes. On COMPLETED → fetch findings.
-
Findings: same presentation as full scan — grouped by severity, report written to
.security-agent/findings-{scan_id}.md.
Rules
- Diff scans are standalone — no prior full scan needed
- Poll every 2 minutes, not faster
- Default to
BASE_REF=HEADif user doesn't specify - Title:
diff-<git-branch>-<timestamp>(no spaces) - If diff is empty, tell user and stop — don't start a scan
Frequently asked questions about AWS Security Agent Diff Scan
Similar skills
CodeQL Code Scanning
Streamline CodeQL setup and configuration for security analysis.
Security Review
AI-powered codebase security scanner for vulnerabilities.
Integrating SAST into GitHub Actions
Automate SAST scanning in GitHub Actions workflows.
Implementing Semgrep for Custom SAST Rules
Enhance code security with custom Semgrep rules.
Infrastructure as Code Security Scanning
Automate security checks for your IaC deployments.
Implementing GitHub Advanced Security
Automate code scanning and vulnerability detection at scale.
