scan

A complete security review of a web application codebase that selects relevant vulnerability checks and combines their findings into one report.

In plain words
What is it for?
Scanning an unfamiliar web application or running a full audit for common security weaknesses.
Why use it?
It gives an initial broad view when you do not yet know which security problems may exist.

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/emre-guler/websec/scan
Any agent
npx skills add emre-guler/websec --skill scan
Clone the repo
git clone --depth 1 https://github.com/emre-guler/websec

Made for: Claude Code, Codex.

Per session 56 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,732 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. 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.00056 $0.01732
Opus 5 $0.00028 $0.00866
Sonnet 5 $0.00011 $0.00346
Haiku 4.5 $0.00006 $0.00173

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

Security

Grade A, and why

scan scanned grade A with 0 findings 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.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/scan/SKILL.md · 83 lines

How it starts

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

Full Security Scan

Overview

Runs the whole websec pipeline: build the architecture picture, select the detectors that apply to this codebase, run them concurrently, and consolidate everything into one report. Use it when you want breadth. When you already know the class you care about, invoke that detector directly instead — it is faster and cheaper.

Prerequisites

  • Policy: read ${CLAUDE_PLUGIN_ROOT}/references/policy.default.yaml, then .websec/policy.yaml if present, merged per ${CLAUDE_PLUGIN_ROOT}/references/policy.md. You need output_dir, batch_size, classes.disabled, and any rules.<skill> entries.
  • Read ${CLAUDE_PLUGIN_ROOT}/references/prompt-injection-guard.md. Every subagent you launch gets that block.
  • Check that output_dir is writable and outside anything that must not be modified. Where the tree under review cannot be written to and no absolute output_dir is configured, do not write into it and do not silently pick a temporary directory whose path nobody will know: stop, say which path you would have used, and ask for one. A review that leaves its findings somewhere the user cannot find has not delivered them.

Step 1 — Architecture

Read the generated-from stamp at the top of <output_dir>/architecture.md. Re-run analysis if the file is missing, carries no stamp, or its stamp is a commit that does not equal the current git rev-parse HEAD. A stamp of no-vcs or unknown means the commit could not be recorded: do not treat that as stale on its own — reuse the document, and say in your summary that its freshness could not be verified — and also whenever the working tree has uncommitted changes to dependency manifests, route definitions, or authentication code, since those are what the document describes. Otherwise reuse it. To rebuild, run the analysis skill (${CLAUDE_PLUGIN_ROOT}/skills/analysis/SKILL.md) first and wait for it to finish. Everything downstream depends on it. Read the finished document yourself — you need its stack facts and its "Notes for detectors" section to make the next decision.

Read the full file on GitHub · 83 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 · 83 lines · 56 tokens per session scan A 7865b288bef2

Subscribe to this mod's changes

scan is a skill published in the GitHub repository emre-guler/websec (2 stars, last pushed 5d ago), licensed MIT. It adds 56 tokens to every session and 1,732 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. 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

vantage

Autonomous, artifact-driven SAST (Static Application Security Testing) for web AND mobile app repositories, plus optional code-level remediation. Use whenever the user asks to security-review, pentest, audit, or scan a codebase for vulnerabilities — web (SQLi, XSS, IDOR/BOLA, auth bypass, SSRF, XXE, hardcoded secrets…

tinoimammp/vantage-security-agent · 230 tokens

prowler-ui

Prowler UI-specific patterns. For generic patterns, see: typescript, react-19, nextjs-16, tailwind-4. Trigger: When working inside ui/ on Prowler-specific conventions (shadcn, folder placement, actions/adapters, shared types/hooks/lib).

prowler-cloud/prowler · 64 tokens

prowler-test-api

Testing patterns for Prowler API: JSON:API, Celery tasks, RLS isolation, RBAC. Trigger: When writing tests for api/ (JSON:API requests/assertions, cross-tenant isolation, RBAC, Celery tasks, viewsets/serializers).

prowler-cloud/prowler · 62 tokens

prowler-pr

Creates Pull Requests for Prowler following the project template and conventions. Trigger: When working on pull request requirements or creation (PR template sections, PR title Conventional Commits check, changelog gate/no-changelog label), or when inspecting PR-related GitHub workflows like conventional-commit.yml…

prowler-cloud/prowler · 84 tokens

tailwind-4

Tailwind CSS 4 patterns and best practices. Trigger: When styling with Tailwind (className, variants, cn()), especially when dynamic styling or CSS variables are involved (no var() in className).

prowler-cloud/prowler · 47 tokens

prowler-docs

Prowler documentation style guide and writing standards. Trigger: When writing documentation for Prowler features, tutorials, or guides.

prowler-cloud/prowler · 31 tokens