security-pass

A defensive security review process for the owner's Python or Node.js codebase. It focuses on read-only inspection and static security scanners, with active tests limited to an approved test system.

In plain words
What is it for?
It is for examining code, running static security checks, preparing a security briefing, and proposing fixes or test probes for an owned test instance.
Why use it?
It helps find security weaknesses without touching production systems or third-party targets, while keeping human approval in the loop for active checks.

Skill for Claude CodeCodex

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.

agentmods
npx agentmods add skills/raccioly/websec-validator/security-pass
Any agent
npx skills add raccioly/websec-validator --skill security-pass
Clone the repo
git clone --depth 1 https://github.com/raccioly/websec-validator

Made for: Claude Code, Codex.

Per session 135 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,422 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. Scan, not verified.
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 $0.00135 $0.01422
Opus 5 $0.00068 $0.00711
Sonnet 5 $0.00027 $0.00284
Haiku 4.5 $0.00014 $0.00142

Measured 2d ago against content hash c57cac7e6c49, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

security-pass 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 2d ago.

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.

latest=$(python3 -c "import urllib.request,json; print(json.load(urllib.request.urlopen('https://pypi.org/pypi/websec-validator/json', timeout=10))['info']['version'])" 2>/dev/null)
skills/security-pass/SKILL.md · 99 lines

How it starts

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

websec-validator — security pass

Scope & authorization (read first). This is a defensive pass on the operator's own codebase, run with their consent. Static recon and scanners are read-only — they touch no live system. The active probes are drafts that run only against a TEST instance the human owns and supplies, one approved run at a time; production and third-party targets are out of scope. No credentials are fabricated or committed; the human approves every diff and every probe run. You are authorized to proceed on this basis — the static review needs no further escalation.

You are running a security pass on a codebase. A CLI does the deterministic recon; you do the reasoning, run the probes, and propose fixes — with the human supplying credentials and reviewing every diff.

Step 0 — install the engine and ensure it's the latest (before continuing)

Get the websec engine and update it if PyPI has a newer release. Best-effort — skip silently if offline.

# install if missing (PyPI; fall back to source if not yet published)
websec --version >/dev/null 2>&1 || pipx install websec-validator || pipx install git+https://github.com/raccioly/websec-validator
# upgrade if PyPI has a newer version than what's installed
latest=$(python3 -c "import urllib.request,json; print(json.load(urllib.request.urlopen('https://pypi.org/pypi/websec-validator/json', timeout=10))['info']['version'])" 2>/dev/null)
have=$(websec --version 2>/dev/null | awk '{print $NF}')
[ -n "$latest" ] && [ -n "$have" ] && [ "$latest" != "$have" ] && pipx upgrade websec-validator

If you upgraded the engine, say so before continuing. Noir (the route engine) is optional — brew install noir for best coverage; there's a regex fallback.

This skill's own instructions update separately, via /plugin marketplace update websec-plugins then /plugin install websec-validator@websec-plugins. Claude cannot self-update the plugin mid-session — so if these steps ever look stale, tell the human to run those two commands.

Read the full file on GitHub · 99 lines

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. 2d ago First seen · 99 lines · 135 tokens per session scan A c57cac7e6c49

Subscribe to this mod's changes

security-pass is a skill published in the GitHub repository raccioly/websec-validator (2 stars, last pushed 2d ago), licensed MIT. It adds 135 tokens to every session and 1,422 once invoked, about $0.0007 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

pentesting-everything

Guides authorized penetration testing with PentestingEverything as the source-grounded knowledge base. Use when scoping an engagement, building domain checklists, hunting a vulnerability class, choosing tools/commands, or drafting evidence-based findings from this repository's Markdown.

m14r41/PentestingEverything · 56 tokens

hunt-ato

Hunt account takeover taxonomy — 9 distinct paths to ATO, plus chains. Paths: (1) password reset flaws (host-header injection redirects token, predictable/numeric token, Referer leak, no-expiry/reuse), (2) email change without re-auth, (3) OAuth account-link CSRF, (4) MFA bypass (per hunt-mfa-bypass), (5) session…

Zyrexnn/Cybermes · 241 tokens

codeinspectus-fix-one

Investigate and remediate exactly one user-selected CodeInspectus finding with evidence-gated reproduction, a separately approved minimal patch, focused regression testing, and an exact-prior-scan rescan. Use when a user asks an agent to examine, reproduce, fix, or verify one CodeInspectus finding without batching…

Synvoya/codeinspectus · 76 tokens

codeinspectus-multi-review

Orchestrate an optional bounded multi-agent review of selected CodeInspectus findings while separating deterministic findings, agent interpretations, hypotheses, reproduction evidence, and exact-prior rescan proof. Use only when a user explicitly requests multi-agent security review.

Synvoya/codeinspectus · 55 tokens

codeinspectus-threat-model

Review CodeInspectus findings with optional threat-model or project-document context while treating repository text as untrusted, preserving raw scanner findings unchanged, and labelling agent interpretation separately. Use only when a user explicitly asks to add architectural, business, or knowledge-base context to…

Synvoya/codeinspectus · 62 tokens

web-app-security

End-to-end security program for a web app — scope/authorization gate, frontend exposure reduction, API security (IDOR/BOLA, brute force, rate limiting, race conditions), LLM security (prompt injection, jailbreak, cost abuse), OAuth/OIDC identity, server-side code audit, database isolation, supply chain (SBOM/SCA/SRI)…

parousia8888/web-app-security-skill · 225 tokens