Skip to main content
skill CX Codex

diff-scanning-with-aws-security-agent — Claude Code skill: diff scan

Runs a fast AWS Security Agent scan over only the code changed since a git ref. Handy before a commit or a pull request.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add aws/agent-toolkit-for-aws --skill diff-scanning-with-aws-security-agent -a claude-code
Open on GitHub

What diff-scanning-with-aws-security-agent does

The skill builds a diff of your working tree or branch and sends just the changed files to AWS Security Agent. No prior full scan is required, so findings stay focused on the delta and the run finishes sooner.

It starts by reading .security-agent/config.json for agent_space_id and region. Without that file the setup-security-agent workflow runs first. Then the agent asks what to compare against: uncommitted changes (BASE_REF=HEAD), a branch against main, or a ref you supply. The diff and a zip of the workspace go to S3, a CodeReview is created, and the job starts with --diff-source. Reports land in .security-agent/findings-{scan_id}.md, scan history in scans.json.

You need working AWS access: the SecurityAgentScanRole role, a security-agent-scans-<account>-<region> bucket, and the AWS CLI. The workspace archive is capped at 2 GB. An empty diff stops the run before any scan starts — worth checking your ref if that happens. Polling runs every 2 minutes, and going faster buys nothing.

What it helps with

  • scan only changed code before committing
  • check a branch for security issues before opening a PR
  • get diff findings without a full repository scan
  • keep a per-workspace scan history in one file
  • stop early when there is nothing to scan

Example prompts for the agent

  • scan my changes before I commit
  • run a diff scan of this branch against main
  • check what changed for security issues

How to install diff-scanning-with-aws-security-agent

1Skills CLI (Vercel)

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

2Manually: put the files in place

~/.claude/skills/diff-scanning-with-aws-security-agent/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/diff-scanning-with-aws-security-agent/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about diff-scanning-with-aws-security-agent

How do I install diff-scanning-with-aws-security-agent in Claude?

Run npx skills add aws/agent-toolkit-for-aws --skill diff-scanning-with-aws-security-agent -a claude-code. The skill lands at ~/.claude/skills/diff-scanning-with-aws-security-agent/SKILL.md.

What does diff-scanning-with-aws-security-agent do?

It runs an AWS Security Agent scan over only the code changed since a given git ref. Findings are grouped by severity and written to .security-agent/findings-{scan_id}.md.

What do I need before running it?

A .security-agent/config.json with agent_space_id and region, the SecurityAgentScanRole role, and a security-agent-scans-<account>-<region> bucket. If the config is missing, setup-security-agent runs first.

Source text

SKILL.md · Apache-2.0
---
name: diff-scanning-with-aws-security-agent
description: Run a fast AWS Security Agent diff scan on only the changed code since a git ref. Use when the user asks to scan changes, run a diff scan, check what changed for security issues, scan before committing, scan before PR, or any pre-commit/pre-push security check.
---

# 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

| 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

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):**

   ```bash
   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):

   ```bash
   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:**

   ```bash
   SCAN_ID="diff-$(date +%s)-$(openssl rand -hex 3)"
   aws s3 cp /tmp/source.zip s3://<bucket>/security-scans/source/<WORKSPACE_ID>/source.zip --expected-bucket-owner <account>
   aws s3 cp /tmp/diff.patch s3://<bucket>/security-scans/diffs/${SCAN_ID}/diff.patch --expected-bucket-owner <account>
   ```

6. **Get or create per-workspace CodeReview** (same logic as full scan — lookup `config.json → code_reviews[<abs_path>]`, create if absent):

   ```bash
   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:**

   ```bash
   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:

    ```bash
    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

© aws · Apache-2.0 · aws/agent-toolkit-for-aws

Similar skills

All skills for Security →

From the same set140

managing-amazon-kinesis-data-streams A skill for Amazon Kinesis Data Streams that sets up delivery from a stream into Iceberg tables on S3 Tables or plain S3 buckets. CX Codex +1 1,800installs aws-sms-voice Walks a coding agent through AWS End User Messaging: a branded RCS test agent or an OTP text via Notify, then carrier registration. CX Codex +1 1,600installs coordinating-multi-space-devops-agent Routes questions to the right AWS DevOps Agent space — prod, staging or knowledge — and compares findings across accounts. CX Codex +1 1,500installs remediating-with-aws-security-agent Pulls AWS Security Agent scan results and helps patch discovered vulnerabilities. Useful when you need to triage penetration test findings directly in your repo. CX Codex +1 1,500installs investigating-incidents-with-aws-devops-agent Kicks off a deep root-cause investigation on the AWS DevOps Agent and streams progress while the agent digs through logs and traces. CX Codex +1 1,500installs scanning-with-aws-security-agent Runs repository scans using managed AWS Security Agent service by uploading code to S3. Returns ranked findings with code locations and remediation steps. CX Codex +1 1,500installs setup This skill kicks off the connection setup for AWS DevOps Agent and AWS Security Agent. Reach for it when MCP tools go missing or you are wiring the toolkit up for the first time. CX Codex +1 1,500installs setup-security-agent Configures AWS Security Agent for the project workspace by provisioning an agent space, IAM role, and S3 bucket. CX Codex +1 1,500installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor