New to Claude Skills? Learn how to install them →

aws on GitHub

AWS Security Agent Diff Scan

OfficialFree

Quickly scan code changes for security issues in AWS.

by aws2.3k stars on aws/agent-toolkit-for-aws
2 views
Updated Aug 10, 2026
Get this skill

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 source

1. Install with the skills CLI

npx skills add aws/agent-toolkit-for-aws/diff-scanning-with-aws-security-agent --agent claude-code

2. 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 aws

AWS 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

PlaceholderHow 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

  1. Pre-scan checks. Same as full scan — read config, verify agent space, resolve values, generate workspace ID.

  2. Ask what to scan against:

    • Uncommitted changes → BASE_REF=HEAD (default)
    • Branch vs main → BASE_REF=main
    • Custom ref → user provides
  3. 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; }
    
  4. 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"
    
  5. 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
    
  6. 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}]
    
  7. 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.patch
    

    If ResourceNotFoundException: recreate CodeReview and retry.

  8. Capture codeReviewJobId. Persist to scans.json with scan_type: "DIFF" and base_ref.

  9. Tell user: "Diff scan started. Takes a few minutes. I'll check every 2 minutes — say 'stop polling' to opt out."

  10. 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.

  11. 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=HEAD if 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