Metabigor OSINT Recon
j3ssie/metabigor
Operates the metabigor CLI to map a target's network ranges, subdomains, ports, related domains, CDNs and archived URLs from free sources without API keys.
Query Shodan for reconnaissance, target enrichment, and exposed service discovery.
$ npx skills add SpecterOps/skills --skill shodan -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install SpecterOps/skills shodan --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/SpecterOps/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/ops-reconnaissance/skills/shodan .claude/skills/shodan && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "shodan" agent skill from https://github.com/SpecterOps/skills/tree/main/plugins/ops-reconnaissance/skills/shodan into .claude/skills/shodan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shodan", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/SpecterOps/skills/tree/main/plugins/ops-reconnaissance/skills/shodanType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add SpecterOps/skills --skill shodan -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install SpecterOps/skills shodan --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/SpecterOps/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/ops-reconnaissance/skills/shodan .agents/skills/shodan && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "shodan" agent skill from https://github.com/SpecterOps/skills/tree/main/plugins/ops-reconnaissance/skills/shodan into .agents/skills/shodan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shodan", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add SpecterOps/skills --skill shodan -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install SpecterOps/skills shodan --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/SpecterOps/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/ops-reconnaissance/skills/shodan .cursor/skills/shodan && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "shodan" agent skill from https://github.com/SpecterOps/skills/tree/main/plugins/ops-reconnaissance/skills/shodan into .cursor/skills/shodan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shodan", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/SpecterOps/skills.git --path plugins/ops-reconnaissance/skills/shodan--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add SpecterOps/skills --skill shodan -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install SpecterOps/skills shodan --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/SpecterOps/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/ops-reconnaissance/skills/shodan .gemini/skills/shodan && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "shodan" agent skill from https://github.com/SpecterOps/skills/tree/main/plugins/ops-reconnaissance/skills/shodan into .gemini/skills/shodan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shodan", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install SpecterOps/skills shodanInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add SpecterOps/skills --skill shodan -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/SpecterOps/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/ops-reconnaissance/skills/shodan .github/skills/shodan && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "shodan" agent skill from https://github.com/SpecterOps/skills/tree/main/plugins/ops-reconnaissance/skills/shodan into .github/skills/shodan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shodan", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add SpecterOps/skills --skill shodan -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install SpecterOps/skills shodan --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/SpecterOps/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/ops-reconnaissance/skills/shodan .opencode/skills/shodan && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "shodan" agent skill from https://github.com/SpecterOps/skills/tree/main/plugins/ops-reconnaissance/skills/shodan into .opencode/skills/shodan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shodan", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
shodanQuery Shodan for reconnaissance, target enrichment, and exposed service discovery.
Shodan is an agent skill from SpecterOps/skills. Query Shodan for reconnaissance, target enrichment, and exposed service discovery. Builds queries, parses results, and highlights interesting findings. Requires SHODANAPIKEY environment variable.
Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including assets (for example `agents/openai.yaml`).
It sits in Security, covering OSINT. The repository describes itself as: A marketplace for LLM skills. The licence is Apache-2.0.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit e655f93. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pipuvFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pip and uv, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
SHODAN_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Shodan loads about 2k tokens when it runs. Until then it costs about 51 tokens; SKILL.md has 612 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from SpecterOps/skills at commit e655f93, republished under its Apache-2.0 licence (© SpecterOps). 612 words, ~1,997 tokens.
.claude/skills/shodan/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Query Shodan for exposed services, target enrichment, and attack surface discovery.
Parse the user's input to determine the action:
$shodan search "org:Acme port:443" → run a Shodan search query$shodan target 203.0.113.1 → enrich a specific IP$shodan target example.com → enrich a domain (DNS + per-IP lookup)$shodan dorking "Acme Corp" → build advanced Shodan dorks for a target$shodan monitor "Acme Corp" → exposure report for an organization$shodan cve CVE-2024-3400 → find hosts vulnerable to a specific CVE$shodan cve CVE-2024-3400 "Acme Corp" → CVE search scoped to an orgSHODAN_API_KEY environment variablepip install shodan or uv add shodanshodan info (shows query/scan credits remaining)If the API key is not set, inform the user and show how to set it:
export SHODAN_API_KEY="your-key-here"
# Or add to ~/.zshrc for persistence
echo 'export SHODAN_API_KEY="your-key-here"' >> ~/.zshrcBuild the query from the user's input
Execute: shodan search --fields ip_str,port,org,hostnames,product,version,os "<query>" --limit 100
Parse and format results into a table:
IP Port Service Version Org Hostnames
─────────────────────────────────────────────────────────────────────────────
203.0.113.1 443 nginx 1.25.3 Target Corp www.target.com
203.0.113.2 22 OpenSSH 8.9p1 Target Corp ssh.target.comHighlight interesting findings:
Group results by service type when there are many results
For IPs: shodan host <ip>
For domains: shodan domain <domain> then lookup each IP found
Collect and present:
Host Summary:
Domain Summary (if domain provided):
Flag anything juicy:
Based on what the user describes, build targeted Shodan dorks.
Query building reference:
# Organization targeting
org:"Target Corp"
org:"Target Corp" port:443
# Network range
net:203.0.113.0/24
net:203.0.113.0/24 port:22
# Service-specific
product:"Apache httpd" version:"2.4.49" # Path traversal CVE-2021-41773
product:"Microsoft Exchange" port:443 # Exchange servers
product:"OpenSSH" version:"7.6" # Older SSH
"Server: Apache/2.4.49" # Raw banner match
# Exposed services (shouldn't be public)
org:"Target" port:3389 # RDP
org:"Target" port:445 # SMB
org:"Target" port:27017 # MongoDB
org:"Target" port:6379 # Redis
org:"Target" port:9200 # Elasticsearch
org:"Target" port:5432 # PostgreSQL
org:"Target" port:3306 # MySQL
org:"Target" port:11211 # Memcached
org:"Target" "port:2379" # etcd
# Web technologies
org:"Target" http.title:"Dashboard"
org:"Target" http.title:"Login"
org:"Target" http.title:"Index of /" # Directory listing
org:"Target" http.component:"WordPress"
org:"Target" http.component:"Jira"
org:"Target" http.component:"Jenkins"
org:"Target" http.component:"Grafana"
org:"Target" http.favicon.hash: # Favicon hash matching
# SSL/TLS
org:"Target" ssl.cert.expired:true
org:"Target" ssl.cert.issuer.cn:"Let's Encrypt"
ssl.cert.subject.cn:"target.com" # Find all IPs for a cert
# Vulnerable services
vuln:CVE-2021-44228 # Log4Shell
vuln:CVE-2023-22515 # Confluence
vuln:CVE-2024-3400 # PAN-OS
# ICS/SCADA (if in scope)
org:"Target" tag:ics
org:"Target" port:502 # Modbus
org:"Target" port:44818 # EtherNet/IP
# Cloud metadata
org:"Amazon" http.title:"Target"
"X-Powered-By" org:"Target"
# Country/city filtering
org:"Target" country:"US" city:"New York"
# Screenshot available
org:"Target" has_screenshot:true
# Honeypot detection
org:"Target" tag:honeypotPresent 5-10 relevant queries for the scenario with explanations of what each finds and why it matters.
Run multiple targeted queries for the org:
shodan search 'org:"<org_name>"' --fields ip_str,port,product,version --limit 500Build an exposure report:
Attack Surface Summary:
Exposed Services by Risk:
| Risk | Service | Count | Details |
|---|---|---|---|
| Critical | RDP (3389) | 3 | Direct RDP exposure to internet |
| Critical | MongoDB (27017) | 1 | No auth likely |
| High | SSH (22) | 15 | Check for password auth |
| High | Expired SSL | 4 | Trust issues, possible neglect |
| Info | HTTPS (443) | 42 | Normal |
Version Intelligence:
Recommendations:
If the user asks, save the full report as markdown
shodan search "vuln:<cve_id>" (or if targeting an org: shodan search "vuln:<cve_id> org:\"<org>\"")If the Shodan CLI isn't available or for complex queries, use the Python API:
import shodan
import os
api = shodan.Shodan(os.environ["SHODAN_API_KEY"])
# Search
results = api.search("org:\"Target Corp\" port:443")
for result in results["matches"]:
print(f"{result['ip_str']}:{result['port']} - {result.get('product', 'unknown')}")
# Host lookup
host = api.host("203.0.113.1")
print(f"Ports: {host['ports']}")
print(f"Vulns: {host.get('vulns', [])}")
# DNS lookup
dns = api.dns.domain_info("target.com")--output <file>: Markdown report file with full details© SpecterOps, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (assets) in plugins/ops-reconnaissance/skills/shodan of SpecterOps/skills.
Open the folder on GitHubat commit e655f93
Shodan next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Shodan this skillSpecterOps/skills | 702 | — | ~2k | Automated safety check: Pass | Apache-2.0 | |
| Metabigor OSINT Reconj3ssie/metabigor | 1.9k | — | ~2.4k | Automated safety check: Pass | MIT | |
| Ctf Osintljagiello/ctf-skills | 3.4k | 2 repos | ~2.3k | Automated safety check: Notes | MIT | |
| ShadowBroker Intelligence ClientBigBodyCobain/Shadowbroker | 11k | — | ~8.9k | Automated safety check: Warn | AGPL-3.0 | |
| Awesome Osint Operatorshoyann/RZK-The-Hunter | 140 | — | ~4.8k | Automated safety check: Pass | CC-BY-SA-4.0 | |
| Run Claude Osintelementalsouls/Claude-OSINT | 2.8k | — | ~1.2k | Automated safety check: Pass | MIT |
j3ssie/metabigor
Operates the metabigor CLI to map a target's network ranges, subdomains, ports, related domains, CDNs and archived URLs from free sources without API keys.
ljagiello/ctf-skills
Provides open source intelligence techniques for CTF challenges.
BigBodyCobain/Shadowbroker
Lets an agent query a ShadowBroker OSINT platform for tracked flights, ships, satellites and news, and place its findings on the map as intel pins.
shoyann/RZK-The-Hunter
Ethical, evidence-first OSINT planning, tool selection, verification, monitoring, reporting, and guarded official wanted/fugitive-person location intelligence using a structured catalog adapted from…
elementalsouls/Claude-OSINT
Build, validate, and run the claude-osint skills repo — check SKILL.md frontmatter, run the secretscan.py and h1reference.py helpers, run sync-skill-content.sh, run the smoke test.
smixs/osint-skill
Conduct deep OSINT research on individuals. An agent skill from smixs/osint-skill.
SpecterOps/skills
Generate a normalized UTC timeline and evidence-based narrative from Codex activity artifacts.
SpecterOps/skills
A skill your agent uses when the user wants to triage Windows COM proxy/hijack candidates by capturing HKCU\Software\Classes\CLSID\{...}\InProcServer32 NAME NOT FOUND lookups for a process, mapping…
SpecterOps/skills
Perform CWE-grounded security code reviews and precise weakness mapping using a locally derived MITRE CWE corpus, relationship graphs, mapping notes, detection methods, mitigations, and schema…
SpecterOps/skills
A skill your agent uses for Ghostwriter operation log entries from Codex, including config guidance, quick notes, evidence-backed entries, and guided oplog capture through the Ghostwriter MCP tools.
SpecterOps/skills
Parse nmap scan output and generate actionable recon notes. An agent skill from SpecterOps/skills.
SpecterOps/skills
Perform OSINT and external reconnaissance for approved targets.
Categories
Query Shodan for reconnaissance, target enrichment, and exposed service discovery. Shodan is an agent skill from SpecterOps/skills. Query Shodan for reconnaissance, target enrichment, and exposed service discovery.
Shodan fits situations like: tasks that involve OSINT.
Run `npx skills add SpecterOps/skills --skill shodan -a claude-code`. Or copy the skill folder (plugins/ops-reconnaissance/skills/shodan in SpecterOps/skills) into .claude/skills/shodan in your project. Claude Code loads it when a task matches its description.
Run `npx skills add SpecterOps/skills --skill shodan -a codex`. Or copy the skill folder (plugins/ops-reconnaissance/skills/shodan in SpecterOps/skills) into .agents/skills/shodan in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add SpecterOps/skills --skill shodan -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/shodan, .gemini/skills/shodan, .github/skills/shodan and .opencode/skills/shodan in your project.
Going by SKILL.md and its folder, Shodan needs the command-line tools its instructions call (pip and uv) and credentials named SHODAN_API_KEY. Our summary lists: Python 3; A credential in SHODAN_API_KEY.
SKILL.md contains no URLs. Its commands use pip and uv, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Shodan is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Shodan: Metabigor OSINT Recon (j3ssie/metabigor, 1.9k stars), Ctf Osint (ljagiello/ctf-skills, 3.4k stars), ShadowBroker Intelligence Client (BigBodyCobain/Shadowbroker, 11k stars) and Awesome Osint Operator (shoyann/RZK-The-Hunter, 140 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
SpecterOps (a GitHub organization) maintains it in SpecterOps/skills, which has 702 GitHub stars. The repository holds 38 skills in this directory. The repository was last updated on September 23, 2026.
Source: SpecterOps/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.