awesome-security-audit

awesome-security-audit is a skill for Claude Code from khasky/awesome-agent-skills. It costs 120 tokens per session (5,248 once invoked), scanned A, original, MIT.

A mostly read-only review of source code and configuration for common security weaknesses, including injection, exposed secrets, authentication errors, dependency vulnerabilities, CI/CD exposure, and cryptographic misuse. Findings are tied to evidence and common security classifications.

In plain words
What is it for?
Use it to review code, configuration, dependency manifests, endpoints, file handling, authentication, payment flows, secret storage, build pipelines, and encryption-related code for issues mapped to CWE or OWASP categories.
Why use it?
It helps identify high-risk problems before release or after changes involving accounts, payments, sensitive data, files, dependencies, or external services. Active scanners and network checks require a separate authorization and approval step.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin. Also seen: mentions subagents.

Part of the awesome-agent-skills plugin — 42 skills shipped together

Good fit Use it to review code, configuration, dependency manifests, endpoints, file handling, authentication, payment flows, secret storage, build pipelines, and encryption-related code for issues mapped to CWE or OWASP categories.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/khasky/awesome-agent-skills/awesome-security-audit
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add khasky/awesome-agent-skills --skill awesome-security-audit
Clone the repo
git clone --depth 1 https://github.com/khasky/awesome-agent-skills

Made for: Claude Code.

Or install awesome-agent-skills, the plugin that ships this one along with the rest of its 42 skills.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for awesome-security-audit

README.md
[![agentmods](https://agentmods.dev/badge/skills/khasky/awesome-agent-skills/awesome-security-audit/github.svg)](https://agentmods.dev/skills/khasky/awesome-agent-skills/awesome-security-audit)
Your own site
<a href="https://agentmods.dev/skills/khasky/awesome-agent-skills/awesome-security-audit"><img src="https://agentmods.dev/badge/skills/khasky/awesome-agent-skills/awesome-security-audit/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for awesome-security-audit

Your own site · 80×15
<a href="https://agentmods.dev/skills/khasky/awesome-agent-skills/awesome-security-audit"><img src="https://agentmods.dev/badge/skills/khasky/awesome-agent-skills/awesome-security-audit.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 120 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 5,248 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector warn 7 Sept 2026
SkillSpector: 2 findings, up to high

These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →

  • high YARA Match · line 153
    YARA rule matched a hack tool or exploit indicator (offensive tools, reconnaissance, privilege escalation, or exploit frameworks).
    Fix: Remove offensive tool references and exploit code. Legitimate agent skills should not contain penetration testing tools, exploit frameworks, or reconnaissance utilities.
  • medium Excessive Agency · line 29
    Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.
    Fix: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00120 $0.05248
Opus 5 $0.00060 $0.02624
Sonnet 5 $0.00024 $0.01050
Haiku 4.5 $0.00012 $0.00525

Measured yesterday against content hash 313c3fad5aa4, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

awesome-security-audit scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

- Same API, different verdicts — check context first: `requests.get(request.GET['url'])` = flag (SSRF); `requests.get(settings.API_URL)` = safe; `requests.get(f"{settings.BASE}/{path}")` = check where `path` comes from.
skills/awesome-security-audit/SKILL.md · 213 lines

How it starts

The opening of the file, as written. The whole thing — 213 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Security Audit

Review code and config for common security issues so risks are identified, evidenced, and handed over with the fix each one needs.

Read-only on the codebase: it reports findings and the remediation each calls for, and never applies an edit. The active phase (scanners, npm audit, registry lookups) is gated separately in step 2 and reads — it does not write either. A security fix belongs to whoever owns the code path, reviewed against the finding that motivated it; an audit that silently patches what it found leaves nobody able to check whether the patch closed the hole or moved it.

When to Activate

  • User asks for "security review", "security audit", or "check for vulnerabilities"
  • Before a release or after adding auth, payments, or sensitive data handling
  • Reviewing new or changed endpoints, file handling, or configuration
  • After adding a new dependency or external integration

Work Process

Split the work into a passive phase (reading source, config, and dependency manifests — no gate) and an active phase (running scanners, npm audit/pip audit, dependency resolution that reaches a registry, or any dynamic/network probe — behind the approval gate in step 2). Default to passive.

  1. Confirm scope, authorization, and mode — Pin down what is in scope and explicitly out of scope (exact origin, /api, specific modules, test accounts vs real data). Confirm the user owns or is authorized to test the target — required before any active command touches a live system or a package registry. Note the mode: this skill is white-box static review; dynamic and runtime issues are out of its reach (see Scope and limitations). Focus high-risk areas first.
  2. Plan, then gate active steps — Propose the active-scan plan (which scanners, which commands) and wait for approval before running it; passive code and config reading needs no approval. If authorization for an active step is missing, stay passive and say what that leaves unverified. Before recommending or running any scanner, confirm it exists at a known version (semgrep --version, exit 0) — an assumed-installed tool and an installed one produce different plans; where a tool is absent, mark that gate unavailable rather than skipping it silently.
  3. Detect the stack — Indicator files (package.json, requirements.txt, go.mod, framework configs) tell you which checks matter and which framework mitigations apply, before scanning.
  4. Work the surface in order — Attack-surface map (enumerate endpoints, inputs, trust boundaries, external integrations) → passive HTTP/config analysis → authentication and authorization model → tenant and object-ownership boundaries → business-logic abuse. Within each phase use the category checklists in references/checklists.md — load that file first; it is the working checklist. Trace high-value leads as source→sink data flow (taint chains): a secret reaching a network sink, a file read reaching a network sink, or external input reaching a code-exec sink is a finding of its own, distinct from "a secret is present".
  5. Gate findings by confidence — Report a finding only when the vulnerable pattern AND attacker-controlled input are both confirmed by reading the code. Medium-confidence items go to a separate "Needs verification" section with the specific open question. "Potentially" or "theoretically" in a finding means it is not one yet — every reported issue needs a concrete attacker, input, and result. Defense-in-depth suggestions go to a "Hardening notes" section, never into findings. Keep a candidate worklist — every grep hit and scanner line driven to an explicit verdict (confirmed / traced-safe / needs-PoC), never eyeballed-and-forgotten — and run each confirmed candidate through the restate-the-claim, adversarial-revalidation, and already-fixed checks in references/verification.md before it enters the report.
  6. Design-intent gate — Before flagging a boundary as unhandled, check whether the code explicitly returns/rejects there (errors.New("cache full"), HTTP 429, buffer-full reject). An explicit designed return is not a bug; a panic/crash at the boundary still is. Deduplicate a repeated pattern into one finding with a count, not N findings.
  7. Escalate criticals immediately — Don't hold a confirmed Critical (RCE, auth bypass, exposed live secret, bulk-PII exposure) for the final report; surface it to the user the moment it's confirmed, with the immediate containment step.
  8. Sweep for variants — a confirmed finding is a class, not an instance. Before writing it up, search the repo for the same shape: the same sink reached from a different caller, the same missing check on sibling routes, the same pattern copy-pasted into another module. Grep the sink, the vulnerable call, and the fix's absence (execute(f" after finding one f-string query; every route file after finding one without an ownership check), then read each hit in context. Report the class as one finding listing every location; split it out only where a variant's severity or reachability genuinely differs. Fixing the one caller the report named and leaving four siblings live is the failure this step exists to prevent.
  9. Document findings — Location (file:line or area), issue, impact, and recommended fix. Do not claim "secure"; frame as "no obvious issues in reviewed scope" and suggest further steps (e.g. dependency scan, pentest) if relevant.
  10. Specify the remediation — Describe the concrete fix per finding; do not apply it, and do not introduce new secrets or log sensitive data in what you propose.
  11. Stop on impact — If an active step shows signs of affecting the running system or its data (errors, state changes, account lockouts), stop that step and report before continuing.

Read the full file on GitHub · 213 lines

Files

What ships with it

3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday Changed 313c3fad5aa4
  2. 5d ago Changed · +2 lines · -39 tokens per session b7f2a300e354
  3. 8d ago Changed · +2 lines · +33 tokens per session ac0c9ff0f3aa
  4. 12d ago First seen · 209 lines · 126 tokens per session scan A 9c2f0f4329f6

Subscribe to this mod's changes

awesome-security-audit is a skill published in the GitHub repository khasky/awesome-agent-skills (8 stars, last pushed yesterday), licensed MIT. It adds 120 tokens to every session and 5,248 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

idea-refine

Refines raw ideas into sharp, actionable concepts through structured divergent and convergent thinking. Use when an idea is still vague, when you need to stress-test assumptions before committing to a plan, or when you want to expand options before converging on one. Triggers on "ideate", "refine this idea", or…

addyosmani/agent-skills · 75 tokens

9router-web-fetch

Fetch URL → markdown / text / HTML via 9Router /v1/web/fetch using Ollama Cloud / Firecrawl / Jina Reader / Tavily Extract / Exa Contents. Use when the user wants to scrape a webpage, extract URL content, read article, or convert a URL to markdown.

decolua/9router · 67 tokens

9router-web-search

Web and X search via 9Router /v1/search using Tavily / Exa / Brave / Serper / SearXNG / Google PSE / Linkup / SearchAPI / You.com / Perplexity / Xquik. Use when the user wants to search the web, find articles, or search public X posts.

decolua/9router · 74 tokens

9router-embeddings

Generate vector embeddings via 9Router /v1/embeddings using OpenAI / Gemini / Mistral / Voyage / Nvidia / GitHub embedding models for RAG, semantic search, similarity. Use when the user wants embeddings, vectors, RAG, semantic search, or to embed text.

decolua/9router · 66 tokens

9router-stt

Speech-to-text via 9Router /v1/audio/transcriptions using OpenAI Whisper / Groq / Gemini / Deepgram / AssemblyAI / NVIDIA / HuggingFace models. Use when the user wants to transcribe audio, convert speech to text, or get subtitles from audio files.

decolua/9router · 63 tokens

chinese-git-workflow

A reference for configuring Git with Chinese code-hosting services such as Gitee, Coding.net, GitLab China, and CNB, including SSH, HTTPS, credentials, CI, and repository mirroring.

jnMetaCode/superpowers-zh · 69 tokens