Network reconnaissance — subdomain enumeration, port scanning, DNS/WHOIS/ASN lookups, endpoint discovery from JS, mass scanning, path discovery, CIDR/netblock analysis. Passive and active modes with corporate structure mapping and bounty program tracking. USE WHEN recon, reconnaissance, bug bounty, bounty programs, attack surface, subdomains, subdomain enumeration, port scan, mass scan, DNS, WHOIS, ASN, CIDR, netblock, IP recon, domain recon, passive recon, corporate structure, endpoint discovery, path discovery, scan results, analyze scan, update tools.
Before executing, check for user customizations at:
~/.claude/PAI/USER/SKILLCUSTOMIZATIONS/Recon/
If this directory exists, load and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults.
Infrastructure and Network Reconnaissance
You MUST send this notification BEFORE doing anything else when this skill is invoked.
Send voice notification:
curl -s -X POST http://localhost:8888/notify \
-H "Content-Type: application/json" \
-d '{"message": "Running the WORKFLOWNAME workflow in the Recon skill to ACTION"}' \
> /dev/null 2>&1 &
Output text notification:
Running the **WorkflowName** workflow in the **Recon** skill to ACTION...
This is not optional. Execute this curl command immediately upon skill invocation.
Technical reconnaissance of network infrastructure including domains, IP addresses, netblocks, and ASNs. Combines passive intelligence gathering with authorized active scanning to map attack surfaces and identify assets.
Core Triggers - Use this skill when user says:
OSINT → recon (Common Pattern):
recon → webassessment:
Workflow Integration:
// OSINT skill discovers company infrastructure
const domains = await osintFindCompanyDomains("Acme Corp");
// Calls recon skill to map technical details
const infraMap = await reconDomain(domains[0]);
// Recon identifies web apps
const webApps = infraMap.subdomains.filter(s => s.hasHTTP);
// Calls web assessment for testing
await webAssessment(webApps);
CRITICAL AUTHORIZATION REQUIREMENTS:
Active reconnaissance MUST have:
Default behavior is PASSIVE ONLY. Always confirm before active techniques.
PassiveRecon.md - Safe ReconnaissanceNon-intrusive intelligence gathering using public sources:
Input: Domain, IP, or netblock Output: Passive intelligence report Authorization: None required
IpRecon.md - IP Address InvestigationComprehensive IP address reconnaissance:
Input: Single IP address Output: IP reconnaissance report Authorization: Required for active scanning
DomainRecon.md - Domain InvestigationFull domain mapping and enumeration:
Input: Domain name Output: Domain reconnaissance report Authorization: Required for active subdomain probing
NetblockRecon.md - CIDR Range ScanningNetwork range reconnaissance:
Input: CIDR notation (e.g., 192.168.1.0/24) Output: Netblock scan report Authorization: Required for active scanning
ASN and BGP reconnaissance (performed inline using WHOIS, IPInfo, and public BGP data):
Input: ASN number (e.g., AS15169) Output: ASN mapping report Authorization: None required (passive data)
IPInfo API (ipinfo.io)
process.env.IPINFO_API_KEYTools/IpinfoClient.tsSystem Tools (always available)
whois - Domain and IP WHOIS lookupsdig - DNS queriesnslookup - DNS resolutioncurl - HTTP requests, API callsMCP Tools (security profile required)
httpx - HTTP probing and technology detectionnaabu - Port scanning~/.claude/MCPs/swap-mcp security)Shodan (when API key added)
Censys (when API key added)
SecurityTrails (when API key added)
VirusTotal (when API key added)
Located in Tools/ directory:
IpinfoClient.ts
DnsUtils.ts
WhoisParser.ts
CidrUtils.ts
# IP Reconnaissance: 1.2.3.4
## Summary
- IP: 1.2.3.4
- Organization: Example Corp
- ASN: AS12345
- Location: San Francisco, CA, US
- ISP: Example Hosting
## DNS
- Reverse DNS: server.example.com
- Additional PTR: ...
## Network Information
- CIDR: 1.2.3.0/24
- Netblock Owner: Example Corp
- Abuse Contact: [email protected]
## Services (Passive)
- Certificates: 3 certificates found
- Historical DNS: ...
## Services (Active - Authorized)
- Open Ports: 22, 80, 443
- Services: SSH (OpenSSH 8.2), HTTP (nginx 1.20.1), HTTPS
- Technologies: nginx, OpenSSH
## Recommendations
- Further investigation areas
- Related assets
- Security observations
# Domain Reconnaissance: example.com
## Summary
- Domain: example.com
- Registrar: Example Registrar
- Registration: 2010-01-15
- Expiry: 2026-01-15
## DNS Records
### A Records
- 1.2.3.4
- 5.6.7.8
### MX Records
- 10 mail.example.com
## Subdomains
- www.example.com (1.2.3.4)
- api.example.com (1.2.3.5)
- admin.example.com (1.2.3.6)
## Email Security
- SPF: Configured
- DMARC: Configured
- DKIM: Configured
## Technologies
- Web Server: nginx
- Framework: React
- CDN: Cloudflare
## Recommendations
- Interesting subdomains: admin.example.com, api.example.com
- Attack surface: 15 web applications identified
Reports saved to:
~/.claude/MEMORY/WORK/{current_work}/) - For iterative artifacts during investigation~/.claude/MEMORY/RESEARCH/YYYY-MM/) - For pentest engagements and formal assessmentsFor passive recon: No special MCP profile needed
For active recon: Requires security MCP profile
# Switch to security profile
~/.claude/MCPs/swap-mcp security
# Restart Claude Code to apply
# Then run active reconnaissance
Security profile includes:
CRITICAL RULES:
Authorization Types:
Never scan:
When in doubt: Ask for explicit confirmation and documented authorization.
User: "Do passive recon on example.com"
Assistant: Activating recon skill with passive-recon workflow.
Target: example.com
Mode: Passive only (no active scanning)
[Performs WHOIS, DNS, cert transparency, IPInfo]
[Generates report in scratchpad]
Report: ~/.claude/MEMORY/WORK/{current_work}/recon-example-com/
User: "Investigate IP 1.2.3.4 - I own this server"
Assistant: Activating recon skill with ip-recon workflow.
Target: 1.2.3.4
Authorization check: You confirmed this is an owned asset.
Proceeding with passive + active reconnaissance.
[Performs IPInfo, reverse DNS, WHOIS, port scan, service detection]
[Generates comprehensive report]
Report: Open ports found (22, 80, 443)
Services: SSH, HTTP, HTTPS
Technologies: nginx 1.20.1, OpenSSH 8.2
User: "Do OSINT on Acme Corp and map their infrastructure"
Assistant: Activating OSINT skill...
Found domains: acme.com, acmecorp.com, acme.io
Now calling recon for infrastructure mapping...
[Recon skill maps each domain]
[Discovers subdomains, IPs, netblocks]
[Creates comprehensive infrastructure map]
Report: Complete OSINT + Infrastructure report
15 domains, 47 subdomains, 3 netblocks identified
Automatic workflow selection based on input:
IpRecon.mdDomainRecon.mdNetblockRecon.mdPassiveRecon.mdUser can override:
"Use passive-recon workflow on 1.2.3.4"
"Run domain-recon on example.com with active scanning"
Passive Recon Success:
Active Recon Success:
Security Skills:
~/.claude/skills/Investigation/ - Entity and people reconnaissance (OSINT)~/.claude/skills/Security/WebAssessment/ - Web application testingTool Documentation:
Best Practices:
Remember: Start passive, confirm authorization before going active, document everything, and be respectful of target systems.