ExternalAttackerSAFE
A modular external attack surface mapping tool integrating tools for automated reconnaissance and bug bounty workflows.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
Model Context Protocol (MCP) Server for External Attack Surface Management
ExternalAttacker is a powerful integration that brings automated scanning capabilities with natural language interface for comprehensive external attack surface management and reconnaissance.
🔍 Automated Attack Surface Management with AI! Scan domains, analyze infrastructure, and discover vulnerabilities using natural language.
🔍 What is ExternalAttacker?
ExternalAttacker combines the power of:
- Automated Scanning: Comprehensive toolset for external reconnaissance
- Model Context Protocol (MCP): An open protocol for creating custom AI tools
- Natural Language Processing: Convert plain English queries into scanning commands
📱 Community
Join our Telegram channel for updates, tips, and discussion:
- Telegram: https://t.me/root_sec
✨ Features
- Natural Language Interface: Run scans using plain English
- Comprehensive Scanning Categories:
- 🌐 Subdomain Discovery (subfinder)
- 🔢 Port Scanning (naabu)
- 🌍 HTTP Analysis (httpx)
- 🛡️ CDN Detection (cdncheck)
- 🔐 TLS Analysis (tlsx)
- 📁 Directory Fuzzing (ffuf, gobuster)
- 📝 DNS Enumeration (dnsx)
📋 Prerequisites
- Python 3.8 or higher
- Go (for installing tools)
- MCP Client
🔧 Installation
- Clone this repository:
git clone https://github.com/mordavid/ExternalAttacker-MCP.git cd ExternalAttacker
- Install Python dependencies:
pip install -r requirements.txt
- Install required Go tools:
go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest go install -v github.com/projectdiscovery/naabu/v2/cmd/naabu@latest go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest go install -v github.com/projectdiscovery/cdncheck/cmd/cdncheck@latest go install -v
e9a659c2335dOBSERVED · 2026-10-07Exposed tools (8)
8 read · 0 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
analyze_http_services | read | |
analyze_tls_config | read | |
detect_cdn | read | |
enumerate_assets | read | |
fuzz_endpoints | read | |
resolve_dns | read | |
scan_ports | read | |
scan_subdomains | read |
Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- declared (5 observation(s))
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (1)
Gates applied: no_behavioural_pass, no_license.
e9a659c2335dfull audit observations/trust-audit/mcp-server/mordavid__externalattacker.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-07 | e9a659c2335d | SAFE | B | 89 | first audit |
Questions
What is the ExternalAttacker MCP server?
A modular external attack surface mapping tool integrating tools for automated reconnaissance and bug bounty workflows.
What tools does ExternalAttacker expose?
8 in total: 8 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is ExternalAttacker safe to connect to an agent?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.
What credentials does ExternalAttacker need?
It reads API_KEY and FLASK_SECRET_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does ExternalAttacker run?
It speaks stdio, so it runs as a local process your client starts.
How current is this page?
The grade is for one exact copy of the source (e9a659c2335d), read on 2026-10-07. The repository is watched and re-audited when it changes.