surface

surface is a command for Claude Code from elementalsouls/Claude-BugHunter. It costs 51 tokens per session (458 once invoked), scanned A, original, MIT.

A command that ranks the parts of a website or service most worth testing for security problems, using reconnaissance data and earlier testing records.

In plain words
What is it for?
Use it after reconnaissance to prioritize endpoints, APIs, and other possible entry points for security testing.
Why use it?
It reduces the time spent testing low-priority or already-covered areas by showing where to start and what to skip.

Command for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Needs its repository: it reads a path above its own folder, which exists only inside the repository. The line is The manifest is the recon→hunt contract — see [`docs/recon-manifest.md`](../docs/recon-manifest.md)..

Part of the Claude-BugHunter plugin — 11 skills, 15 commands shipped together

Good fit Use it after reconnaissance to prioritize endpoints, APIs, and other possible entry points for security testing.

Compare 6 commands from other repositories ↓
About the project

Claude Code Spec Workflow is a set of Claude Code commands and agents that organizes software work into documented stages for new features and bug fixes. It is for developers who want Claude Code to handle requirements, design, implementation, issue resolution, and verification through repeatable workflows, with the catalogue entries providing the associated commands and agents.

elementalsouls/Claude-BugHunter · 5,150 stars · on GitHub · elementalsouls.github.io

Install

Getting it into your agent

It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.

Clone the repo
git clone --depth 1 https://github.com/elementalsouls/Claude-BugHunter
agentmods
npx agentmods add commands/elementalsouls/claude-bughunter/surface

Made for: Claude Code.

Or install Claude-BugHunter, the plugin that ships this one along with the rest of its 11 skills, 15 commands.

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 surface

README.md
[![agentmods](https://agentmods.dev/badge/commands/elementalsouls/claude-bughunter/surface/github.svg)](https://agentmods.dev/commands/elementalsouls/claude-bughunter/surface)
Your own site
<a href="https://agentmods.dev/commands/elementalsouls/claude-bughunter/surface"><img src="https://agentmods.dev/badge/commands/elementalsouls/claude-bughunter/surface/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 surface

Your own site · 80×15
<a href="https://agentmods.dev/commands/elementalsouls/claude-bughunter/surface"><img src="https://agentmods.dev/badge/commands/elementalsouls/claude-bughunter/surface.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 51 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 458 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
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.00051 $0.00458
Opus 5.5 $0.00020 $0.00183
Sonnet 5.5 $0.00010 $0.00092
Haiku 4.5 $0.00005 $0.00046

Measured 1mo ago against content hash b0af55c13783, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

surface 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 1mo 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.

Origin

Copies of this mod

1 near-identical copy found in the catalogue:

  • surface — 100% identical, 0 lines differ
commands/surface.md · 58 lines

What it actually says

/surface

View the prioritized attack surface for a target.

What This Does

  1. Reads the recon manifest at recon/<target>/manifest.json (produced by cbh recon) — the deterministic ranking comes from cbh surface <target>
  2. Reads hunt memory for patterns and previously tested endpoints
  3. Layers engine/skill_map.py (surface → bug-class → skill) + ledger signal on top of the manifest's ranked_surface (P1/P2/Kill)
  4. Outputs P1 (start here), P2 (after P1), and Kill List (skip)

The manifest is the recon→hunt contract — see docs/recon-manifest.md. Run cbh surface <target> for the raw deterministic ranking.

Usage

/surface target.com

Prerequisites

Run /recon target.com first. If no recon data exists, you'll be prompted to run recon.

Output

ATTACK SURFACE: target.com
═══════════════════════════════════════

Priority 1 (start here):
1. api.target.com/v2/users/{id} — IDOR candidate
   Tech: Express + PostgreSQL | First seen 12 days ago
   Suggested: numeric ID swap on GET/PUT/DELETE

2. api.target.com/graphql — introspection enabled, 47 mutations
   Suggested: field-level auth check on sensitive mutations

Priority 2 (after P1):
1. cdn.target.com:8443/upload — file upload endpoint
   Suggested: extension bypass, magic bytes

Kill List (skip):
- static.target.com — CDN only
- docs.target.com — third-party hosted

Memory:
- Pattern from alpha.com (same tech): auth bypass via method override ($800)
- 3 endpoints tested in previous session, 5 remain
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. 1mo ago First seen · 58 lines · 0 tokens per session scan A b0af55c13783

Subscribe to this mod's changes

surface is a command published in the GitHub repository elementalsouls/Claude-BugHunter (5,150 stars, last pushed 4d ago), licensed MIT. It adds 51 tokens to every session and 458 once invoked, about $0.0002 per session on Opus 5.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-30.

Related

Other commands, from other repositories

web3-audit

Smart contract security audit — runs through 10 bug class checklist (accounting desync, access control, incomplete path, off-by-one, oracle errors, ERC4626, reentrancy, flash loan, signature replay, proxy/upgrade). Applies pre-dive kill signals first. Generates Foundry PoC template for confirmed findings. Usage…

Awarexone/Agentic-Bug-Hunter · 0 tokens

bypass-403

Probe a 403/401 endpoint with the most-paid bypass tricks (header injection, path encoding, method swap, WAF fingerprint, vendor-specific). Wraps byp4xx when installed; otherwise runs a built-in matrix of 38+ techniques. Usage: /bypass-403 | /bypass-403 -l.

Awarexone/Agentic-Bug-Hunter · 0 tokens

recon

Run the full recon pipeline by invoking tools/reconengine.sh — subdomain enum (subfinder + amass + crt.sh + wayback), httpx live host probing with tech detection, nmap port scan, gau URL collection, JS analysis, ffuf directory fuzzing, parameter discovery, config exposure check, CI/CD workflow scan. Outputs to recon/…

Awarexone/Agentic-Bug-Hunter · 0 tokens

spray

Password spray with hard guards — typed-hostname confirmation, lockout warning, audit log. Modes: http-form (custom login page), oauth (password grant), o365 + okta (via TREVORspray). Default delay 30min/round + 60s jitter. Usage /spray --mode --users --passes.

Awarexone/Agentic-Bug-Hunter · 0 tokens

token-scan

Meme coin and token security scan — checks for rug pull vectors (hidden mint, honeypot, fee manipulation, LP lock bypass, authority retention, bonding curve exploits, fake renounce, sandwich amplification). Runs automated tokenscanner.py + manual 8-class audit. Usage: /token-scan [--chain solana].

Awarexone/Agentic-Bug-Hunter · 0 tokens

validate

Validate a finding — runs 7-Question Gate + 4-gate checklist. Kills weak findings before report writing. Prevents N/A submissions that hurt validity ratio. Usage: /validate.

Awarexone/Agentic-Bug-Hunter · 0 tokens