Skip to content
Back to skills

Embed

ASecurity

Scan the codebase for security vulnerabilities using an iterative multi-agent pipeline

  • 67 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 23, 2026
ai-agentsrustgobashdockergitsecurity

Security analysis

A100/100

Pro scans all 21 files and shows the line behind each finding

Scanned October 2, 2026

npx -y skills add gethuman-sh/human --skill embed --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Embed?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Embed
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/gethuman-sh-embed-65de075a/badge)](https://www.skillsdirectory.com/skills/gethuman-sh-embed-65de075a)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: human-security
description: Scan the codebase for security vulnerabilities using an iterative multi-agent pipeline
---

# AI-Powered Security Scanner

Scan this codebase for security vulnerabilities using an iterative agent pipeline: attack surface mapping once, then repeated specialized scanning passes that accumulate candidate findings, followed by exploitation analysis and triage when no new findings emerge.

## Phase 1: Attack Surface Mapping

Initialize the pipeline (creates `.human/security/` and prints the candidates/state paths), then run the surface mapper:

```bash
human pipeline init security
```

```
Task(subagent_type="security-surface", model="opus", prompt="Map the attack surface of this codebase. Write your report to .human/security/.security-surface.md")
```

Wait for the surface mapper to finish before proceeding.

## Phase 2: Initialize pipeline state

The candidates file is managed by `human pipeline append` — do not create it by hand. Just seed the shared state:

```bash
human pipeline state set security iterations 0
human pipeline state set security status running
```

## Phase 3: Iterative Specialized Scanning

Repeat the following iteration block. Stop when an iteration finds zero new candidates.

### Iteration step

Determine the iteration number and snapshot the candidate count before the round:

```bash
ITER_NUM=$(human pipeline state get security iterations)
ITER_NUM=$((ITER_NUM + 1))
BEFORE=$(human pipeline count security)
echo "Starting iteration $ITER_NUM with $BEFORE existing candidates"
```

Launch all 7 scanning agents **in a single message** so they run in parallel:

```
Task(subagent_type="security-injection", model="sonnet", prompt="Read the attack surface report at .human/security/.security-surface.md and existing candidates at .human/security/.security-candidates.md. This is iteration ITER_NUM. Analyze the codebase for injection and input validation vulnerabilities. Report each new finding via `human pipeline append security` as described in your output format.")

Task(subagent_type="security-auth", model="sonnet", prompt="Read the attack surface report at .human/security/.security-surface.md and existing candidates at .human/security/.security-candidates.md. This is iteration ITER_NUM. Analyze the codebase for authentication, authorization, and session management vulnerabilities. Report each new finding via `human pipeline append security` as described in your output format.")

Task(subagent_type="security-secrets", model="sonnet", prompt="Read the attack surface report at .human/security/.security-surface.md and existing candidates at .human/security/.security-candidates.md. This is iteration ITER_NUM. Scan the codebase and git history for leaked secrets, hardcoded credentials, and weak cryptography. Report each new finding via `human pipeline append security` as described in your output format.")

Task(subagent_type="security-deps", model="sonnet", prompt="Read the attack surface report at .human/security/.security-surface.md and existing candidates at .human/security/.security-candidates.md. This is iteration ITER_NUM. Audit dependencies for known vulnerabilities and supply chain risks. Report each new finding via `human pipeline append security` as described in your output format.")

Task(subagent_type="security-infra", model="sonnet", prompt="Read the attack surface report at .human/security/.security-surface.md and existing candidates at .human/security/.security-candidates.md. This is iteration ITER_NUM. Analyze configuration files, Dockerfiles, CI pipelines, and infrastructure settings for security misconfigurations. Report each new finding via `human pipeline append security` as described in your output format.")

Task(subagent_type="security-ssrf", model="sonnet", prompt="Read the attack surface report at .human/security/.security-surface.md and existing candidates at .human/security/.security-candidates.md. This is iteration ITER_NUM. Analyze the codebase for server-side request forgery (SSRF) — user-controlled input reaching outbound request sinks, missing egress restrictions, and cloud metadata endpoint exposure. Report each new finding via `human pipeline append security` as described in your output format.")

Task(subagent_type="security-deserialization", model="sonnet", prompt="Read the attack surface report at .human/security/.security-surface.md and existing candidates at .human/security/.security-candidates.md. This is iteration ITER_NUM. Analyze the codebase for insecure deserialization and software/data-integrity failures — untrusted bytes into decoders, prototype pollution, unsigned artifacts, and dependency confusion. Report each new finding via `human pipeline append security` as described in your output format.")
```

Wait for all 7 agents to finish.

### Check convergence

Compare the candidate count against the pre-round snapshot (`human pipeline append` deduplicates, so the count only grows for genuinely new findings):

```bash
AFTER=$(human pipeline count security)
NEW_TOTAL=$((AFTER - BEFORE))
echo "Iteration $ITER_NUM: $NEW_TOTAL new candidates. Total: $AFTER"
```

Update the shared state:

```bash
human pipeline state set security iterations $ITER_NUM
human pipeline state set security last_new_candidates $NEW_TOTAL
human pipeline state set security total_candidates $AFTER
```

**Decision point:**
- If `NEW_TOTAL` is **0** → proceed to Phase 4 (Exploitation Analysis)
- If `NEW_TOTAL` is **> 0** → go back to "Iteration step" and repeat

## Phase 4: Exploitation Analysis

Update state:

```bash
human pipeline state set security status chains
```

Run the attack chain agent to connect individual findings into exploitable paths:

```
Task(subagent_type="security-chains", model="opus", prompt="Read all candidate findings from .human/security/.security-candidates.md and the attack surface map from .human/security/.security-surface.md. Trace data flows to build attack chains that connect individual candidate findings into exploitable paths. Reference candidates by their C-NNN IDs. Write your analysis to .human/security/.security-chains.md")
```

Wait for the chain analysis to finish before proceeding.

## Phase 5: Triage

Update state:

```bash
human pipeline state set security status triaging
```

Run the triage agent to validate, deduplicate, and produce the final report:

```
Task(subagent_type="security-triage", model="opus", prompt="Read all candidate findings from .human/security/.security-candidates.md, the attack chain analysis from .human/security/.security-chains.md, and the surface map from .human/security/.security-surface.md. Validate every finding against actual code, assign severity, and write the final security report to .human/security/. Clean up intermediate files when done.")
```

## After completion

Tell the user:
- How many iterations ran before convergence
- How many vulnerabilities were found (by severity)
- Any critical findings that need immediate attention
- The path to the final report
- If attack chains were found, highlight the most dangerous one

Files in this skill

  • brainstorm-codebase-agent.md3.3 KB
  • brainstorm-opportunities-agent.md3.7 KB
  • brainstorm-recon-agent.md3.3 KB
  • brainstorm-trajectory-agent.md3.4 KB
  • brainstorm-triage-agent.md4.5 KB
  • codenav-skill.md2.6 KB
  • features-recon-agent.md4.8 KB
  • features-synthesis-agent.md10.2 KB
  • findbugs-api-agent.md5.8 KB
  • findbugs-concurrency-agent.md5.6 KB
  • findbugs-errors-agent.md5 KB
  • findbugs-logic-agent.md4.8 KB
  • findbugs-recon-agent.md4.6 KB
  • findbugs-triage-agent.md4.7 KB
  • gardening-complexity-agent.md5.8 KB
  • gardening-duplication-agent.md5.2 KB
  • gardening-hygiene-agent.md6.6 KB
  • gardening-structure-agent.md5.3 KB
  • gardening-survey-agent.md7.1 KB
  • gardening-triage-agent.md8.6 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.