osint-recon
Skill0 starsChanged 7 months agoMITView on GitHub
Open Source Intelligence reconnaissance toolkit. Username enumeration across 10+ platforms, EXIF metadata extraction, domain intelligence scanning, and digital footprint mapping. All public data only — no breach lookups, no dark web. Use for pre-outreach research, competitor intelligence, security assessment, and document verification.
- Installs packages
4 other projects use a version of this.
Adopted by
Most recently taken up by
- mrhlaingbwardev/agentic-hacking-skillstheir own version, first seen Nov 8, 2026
- briiirussell/cybersecurity-skillstheir own version, first seen Nov 1, 2026
- imMamdouhaboammar/cybersecurity-skillstheir own version, first seen Sep 5, 2026
- TheWatcher01/skillstheir own version, first seen Apr 1, 2026
Other versions4 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 4
- briiirussell/cybersecurity-skills★ 489same name
- mrhlaingbwardev/agentic-hacking-skills★ 347same name
- imMamdouhaboammar/cybersecurity-skills★ 0same name
- TheWatcher01/skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
4 rules. 0 are common, 1 is distinctive, and 3 are very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 51
Search for a username across 10 platforms: GitHub, Twitter/X, Instagram, LinkedIn, Facebook, TikTok, Telegram, Reddit, YouTube, Pinterest.
- Very specific: line 201
Recommendation: Use domain-intel for bulk/programmatic analysis and subdomain discovery.
- Very specific: line 212
Ensure dig is installed: apt install dnsutils (Debian/Ubuntu) or yum install bind-utils (RHEL/CentOS).
- Very specific: line 215
All scripts require jq: apt install jq
“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
🔍 OSINT Recon — Open Source Intelligence Toolkit
Legitimate OSINT reconnaissance using only public data sources. Inspired by professional OSINT frameworks, built for Council operations.
⚠️ SAFETY RULES (NON-NEGOTIABLE)
┌─────────────────────────────────────────────────────────┐
│ 🚫 NO breach/credential/leaked data lookups │
│ 🚫 NO phishing tools or social engineering scripts │
│ 🚫 NO dark web / .onion access │
│ 🚫 NO password cracking or brute force │
│ 🚫 NEVER store passwords, tokens, or leaked data │
│ ✅ ALL searches use PUBLIC, openly accessible data │
│ ✅ Respect robots.txt and rate limits │
│ ✅ Results are informational — verify before acting │
└─────────────────────────────────────────────────────────┘🎯 Agent Assignments
| Agent | Use Case | Primary Scripts |
| 🤝 Raguel | Pre-outreach research — who are we reaching out to? | username-search.sh, footprint.sh |
| 🔮 Metis | Competitor intelligence — what tech stack, who's behind it? | domain-scan.sh, username-search.sh |
| ⚖️ Samael | Security assessment — what's exposed? Headers configured? | domain-scan.sh, exif-extract.sh |
| 🔥 Uriel | Document verification — is this image authentic? metadata intact? | exif-extract.sh |
📦 Prerequisites
Required (standard on most Linux/macOS):
curl— HTTP requestsjq— JSON processingdig— DNS lookups (fromdnsutils/bind-utils)openssl— SSL certificate inspection
Optional (enhanced functionality):
exiftool— Full EXIF extraction (apt install libimage-exiftool-perl)whois— Domain WHOIS lookups (apt install whois)python3+Pillow— Fallback EXIF extraction (pip3 install Pillow)
📋 Scripts
1. Username Enumeration — scripts/username-search.sh
Search for a username across 10 platforms: GitHub, Twitter/X, Instagram, LinkedIn, Facebook, TikTok, Telegram, Reddit, YouTube, Pinterest.
# Basic usage
bash scripts/username-search.sh johndoe
# Pipe to file
bash scripts/username-search.sh competitor_ceo > results.json
# Filter found only
bash scripts/username-search.sh johndoe | jq '.results[] | select(.status == "found")'Output format:
{
"username": "johndoe",
"timestamp": "2026-04-05T01:00:00Z",
"summary": {
"total_checked": 10,
"found": 4,
"not_found": 5,
"errors": 1
},
"results": [
{
"platform": "GitHub",
"url": "https://github.com/johndoe",
"status": "found",
"http_code": 200
}
]
}Detection methods:
- Standard HTTP status code (200=found, 404=not found)
- Content-based detection for Telegram (always returns 200)
- Handles LinkedIn bot detection (999 status)
- Follows redirects with
-L
2. EXIF Metadata Extraction — scripts/exif-extract.sh
Extract GPS coordinates, camera info, timestamps, and software from images.
# Extract metadata from an image
bash scripts/exif-extract.sh photo.jpg
# Check for GPS data specifically
bash scripts/exif-extract.sh photo.jpg | jq '.gps'
# Get camera model
bash scripts/exif-extract.sh photo.jpg | jq '.camera.model'
# Check if image was edited (software field)
bash scripts/exif-extract.sh photo.jpg | jq '.software'Output includes:
file— name, size, MIME typecamera— make, model, lens, serialimage— dimensions, orientation, color spacegps— latitude, longitude, altitude, Google Maps URLdatetime— original, created, modified, digitizedsoftware— editing software, creator toolsettings— exposure, f-number, ISO, focal length, flash
Tool priority: exiftool → Python3/Pillow → error with install instructions
3. Domain Intelligence Scan — scripts/domain-scan.sh
Comprehensive domain analysis: DNS, SSL, security headers, technology detection, WHOIS.
# Full domain scan
bash scripts/domain-scan.sh example.com
# Check security headers only
bash scripts/domain-scan.sh example.com | jq '.http.security'
# List detected technologies
bash scripts/domain-scan.sh example.com | jq '.technologies'
# SSL certificate details
bash scripts/domain-scan.sh example.com | jq '.ssl'
# DNS records
bash scripts/domain-scan.sh example.com | jq '.dns'Scans include:
- DNS — A, AAAA, MX, TXT, NS, CNAME, SOA records
- SSL — subject, issuer, validity dates, SAN domains, serial
- Security headers — HSTS, CSP, X-Frame-Options, X-Content-Type-Options, XSS-Protection, Referrer-Policy, Permissions-Policy (with score)
- Technology — detects 18+ technologies: WordPress, React, Next.js, Vue, Angular, Svelte, Shopify, Cloudflare, Vercel, Tailwind, Bootstrap, jQuery, Google Analytics, and more
- WHOIS — registrar, creation/expiry dates, organization, name servers
4. Digital Footprint — scripts/footprint.sh
Map an email address to public profiles and online presence.
# Search for profiles linked to an email
bash scripts/footprint.sh user@example.com
# Get only confirmed matches
bash scripts/footprint.sh user@example.com | jq '.results[] | select(.status == "found")'
# Get probable matches (username correlation)
bash scripts/footprint.sh user@example.com | jq '.results[] | select(.status == "probable")'Checks performed:
- Gravatar — MD5 hash lookup, profile data extraction
- GitHub — email-based search via API + username match
- Twitter/X — username part correlation
- Reddit — username part correlation
- Keybase — public key directory lookup
- Email domain — custom vs. free provider detection, website check, MX record analysis
Status values:
found— confirmed match (email-linked or direct hit)probable— username matches email prefix (may not be same person)not_found— no match founddetected— metadata discovered (e.g., email provider)
🔗 Integration with Existing Skills
domain-intel skill
The existing domain-intel skill provides Python-based domain reconnaissance. This toolkit complements it:
| Feature | domain-intel | osint-recon/domain-scan.sh |
| DNS records | ✅ Python stdlib | ✅ dig (more record types) |
| SSL inspection | ✅ Python ssl | ✅ openssl s_client |
| WHOIS | ✅ Python | ✅ whois CLI |
| HTTP security headers | ❌ | ✅ Full 7-header audit |
| Technology detection | ❌ | ✅ 18+ technologies |
| Subdomain discovery | ✅ | ❌ (use domain-intel) |
| Bulk analysis | ✅ | ❌ (single domain) |
Recommendation: Use domain-intel for bulk/programmatic analysis and subdomain discovery. Use osint-recon/domain-scan.sh for quick single-domain deep dives with technology detection and security header audits.
🛠️ Troubleshooting
Rate limited on Instagram/LinkedIn?
These platforms aggressively block automated requests. Results may show error or blocked. This is expected — don't retry aggressively.
exiftool not found?
The EXIF script falls back to Python3 + Pillow automatically. Install exiftool for best results: apt install libimage-exiftool-perl
DNS queries failing?
Ensure dig is installed: apt install dnsutils (Debian/Ubuntu) or yum install bind-utils (RHEL/CentOS).
jq not found?
All scripts require jq: apt install jq
📜 Legal & Ethical Notice
This toolkit accesses only publicly available information. It does not:
- Access any private, restricted, or authenticated data
- Perform any unauthorized testing or scanning
- Store or process credentials, passwords, or breach data
- Circumvent any access controls or security measures
Users are responsible for ensuring their use complies with applicable laws, terms of service, and ethical guidelines. Results should be verified through official channels before taking action.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

