Guide · Agent skill
How to use the Attack Surface Recon agent skill
Updated · written with AI from the project's own documentation and checked against our catalogue data
The attack-surface-recon skill is a reconnaissance checklist for an AI agent. When it is loaded, the agent maps what an organisation exposes on the internet before it attempts any exploitation, starting with passive lookups and then moving to active scanning. It is written for penetration testers, red teams, security engineers and bug bounty hunters working within authorised scope. After this guide you will know how to install it, how to phrase a request that triggers it, what tools it expects on your machine, and where its safety limits are.
Quick start
- 1Download the skill. Download the ZIP from the item page. It contains SKILL.md.
- 2Unzip it into a skills folder. Place it in ~/.claude/skills/ for personal use, or in .claude/skills/ inside a project. Alternatively upload it under Settings → Capabilities → Skills in the Claude apps.
- 3Install the required tools. Make sure whois, amass, dig, subfinder, httpx, naabu, nmap, katana, gau, ffuf and nuclei are available, along with SecLists and Nuclei templates at the paths the skill expects.
- 4Confirm you have authorisation. Check that you own the target or have written permission, and that the scope allows active scanning.
- 5Ask for recon in plain language. Name the domain and say you want attack surface recon with passive sources first.
- 6Review the passive results. Check WHOIS, certificate, DNS and FOFA or Shodan output before any active command runs.
- 7Run and save the active pipeline. Let the agent run the active steps, keep the output files, and review the nuclei results before moving on.
What the skill makes the agent do
The skill tells the agent to start an assessment with attack surface mapping rather than jumping straight to exploitation. Recon is split into two phases. The passive phase is meant to not touch the target directly: WHOIS lookups, certificate transparency searches on crt.sh, DNS comparisons across resolvers, archived URLs from the Wayback Machine, and FOFA and Shodan searches run through the browser.
The active phase then sends traffic to the targets. The source lists a pipeline using subfinder, dnsx, httpx, naabu, nmap, katana, gau, ffuf and nuclei to enumerate subdomains, confirm which hosts are alive, fingerprint technologies, find open ports and URLs, and run vulnerability templates.
- Spotting CDNs by comparing DNS answers from different resolvers
- Recognising catch-all nginx servers, which return the same response for any path
- Identifying common hosting panels and their login patterns
- Recording findings as it goes, so they are kept in the project
Install the skill (ZIP download or Claude apps)
The skill ships as a single file, SKILL.md. Download the ZIP from the item page and unzip it into one of two places. For a personal setup, use ~/.claude/skills/. For a single project, use the .claude/skills/ folder inside that project.
If you use the Claude apps instead, open Settings, go to Capabilities, and upload the skill under Skills.
- Personal install: unzip into ~/.claude/skills/
- Project install: unzip into .claude/skills/ inside your project
- Claude apps: Settings → Capabilities → Skills, then upload
Install the tools the skill expects
The skill does not install its tools for you. It calls command-line programs that must already be available. The source lists whois, amass, curl, dig, python3, subfinder, dnsx, httpx, naabu, nmap, katana, gau, ffuf and nuclei. It also expects SecLists wordlists at /usr/share/seclists and Nuclei templates at /root/nuclei-templates, and a browser navigation tool for crt.sh, FOFA and Shodan lookups.
The skill also refers to a second skill, component-vuln-intel, and to reference files that are not included in the SKILL.md you download. Expect some workflow steps to be incomplete without them.
How to trigger it with a natural request
The skill's description says to use it when starting recon, asset mapping, fingerprinting, or CDN/DNS bypass discovery. You do not need a special command. Describe the task in plain terms and name the authorised target and scope.
Be explicit about the engagement. A request that states the domain, that you have written permission, and what is in scope gives the agent the context it needs to choose the passive or active steps.
- "We have a signed pentest agreement for example.com. Start with attack surface recon and tell me what is exposed before any exploitation."
- "Map the subdomains and live web hosts for example.com, passive sources first."
- "I'm on a bug bounty for example.com. The scope is *.example.com only. Run recon and fingerprint the web stack."
- "Find out whether example.com sits behind a CDN and whether DNS answers differ between resolvers."
Example workflow from start to finish
A typical run begins with the passive lookups: WHOIS for the registrant, crt.sh for certificate-listed hostnames, DNS queries against 114.114.114.114, 8.8.8.8 and 1.1.1.1 to compare answers, and FOFA and Shodan searches. The results give you a candidate list of hostnames and hints about hosting.
Next the active pipeline merges subdomain sources, checks which names resolve, runs httpx for titles, status codes and technology detection, then scans ports and crawls URLs. Nuclei runs last, limited to medium, high and critical severities. The skill also says that when httpx identifies a framework or version, the agent should move to the component-vulnerability intelligence step before going deeper.
- Passive first, then active
- Save results to files such as subs.txt, alive_subs.txt, httpx_out.txt and nuclei_results.txt
- Map the attack surface before choosing where to look for weaknesses
subfinder -d {domain} -silent | tee subs.txt; amass enum -d {domain} -passive >> subs.txt; sort -u subs.txt -o subs.txtSafety notes: scripts and network access
This skill runs scripts and uses the network. The active steps send traffic to targets, and the source notes that active scanning and fuzzing can be illegal and disruptive without authorisation. Run it only against systems you own or have written permission to test, and respect the program's scope.
Some passive steps still make network requests to third-party services such as crt.sh, FOFA, Shodan and the Wayback Machine. Passive does not mean invisible to those services. Check your engagement rules before running any command.
- Do not use it on systems you do not own or lack written permission to test
- Do not use it where policy or contract prohibits active scanning
- Review each command before the agent runs it, especially ffuf, naabu and nuclei
Tips for getting useful output
The skill assumes you already understand nmap, DNS and HTTP responses, so read the output critically rather than trusting it. Compare subdomain lists against your scope before scanning. When a host returns 502, 404 and 403 for different paths, the skill treats those codes as different signals, so keep the raw responses.
Keep the notes the agent writes. The recon record is what lets you repeat the checklist for a later engagement.
- Confirm scope before the active phase starts
- Keep raw output files so you can recheck results
- Treat CDN IPs and wildcard DNS results with care, since they can hide the real origin
What people use it for
- Mapping subdomains and live web hosts at the start of an authorised external penetration test
- Building a repeatable recon checklist for a security engineering team
- Working out whether a target sits behind a CDN before choosing where to test within a bug bounty scope
- Fingerprinting web technologies with httpx so that version-specific research can follow
Frequently asked questions
How do I install the attack surface recon skill?
Download the ZIP from the item page and unzip it into ~/.claude/skills/ for personal use, or into .claude/skills/ in a project. In the Claude apps, you can instead upload it under Settings → Capabilities → Skills.
What tools do I need to run attack-surface-recon?
The source lists whois, amass, curl, dig, python3, subfinder, dnsx, httpx, naabu, nmap, katana, gau, ffuf and nuclei. It also expects SecLists at /usr/share/seclists, Nuclei templates at /root/nuclei-templates, and a browser navigation tool.
Is the attack surface recon skill free?
The item is listed under the Apache-2.0 licence. The source does not state pricing for the skill itself, so check the licence file in the repository for the terms of use.
Can I use this skill for bug bounty hunting?
Yes, the skill is described as suitable for bug bounty hunters working within a program's scope. Stay inside the listed scope, because the active scanning and fuzzing steps send traffic to targets.
Why does the skill fail or stop partway through?
The skill depends on several command-line tools, wordlists and templates at fixed paths, plus a referenced component-vuln-intel skill and reference files that are not in the SKILL.md download. Missing tools or paths can stop the workflow, so check each required tool is installed.
How is this different from running nmap or subfinder by hand?
The skill gives the agent a fixed order of work: passive lookups first, then active scanning, then fingerprinting and notes. It does not replace the tools themselves, and the source assumes you can read their output.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Use this skill if you are a penetration tester, red teamer, security engineer or bug bounty hunter who already has authorisation and knows the command-line recon tools. Pick something else if you are a beginner without security background, or if your engagement forbids active scanning, because the skill's active pipeline sends traffic to targets.
Download the skill