SurfaceLens is a passive attack surface and Shadow IT intelligence engine built to help security teams understand what assets are exposed, why it matters, and which risks are critical, all without touching or probing the network.
Modern organizations often lose visibility over their attack surface:
- Cloud assets spun up outside official processes
- Internet-exposed admin panels and databases
- High-risk services accidentally left public
- Shadow IT infrastructure hiding in plain sight
SurfaceLens gives security teams a clear, actionable map of exposure and potential risk — without active scanning.
-
Mode Selection Users select Online Mode (Shodan API) or Offline Mode (JSON dataset).
-
Asset Deduplication Removes duplicates and tracks first/last seen timestamps.
-
Passive Analysis Pipeline (per asset)
- Service Categorization — remote access, admin panel, database, etc.
- Exposure Analysis — high-risk ports, missing TLS
- Shadow IT Detection — hostname & certificate mismatches
- Risk Scoring — numeric score (0–10) with confidence and reasoning
-
Report Generation
- Formats: JSON (structured), Markdown (audits), HTML (executive-friendly)
- Timestamped and ready for documentation or presentation
- Passive asset discovery — no scanning or exploitation
- Shadow IT detection with confidence scoring
- Explainable risk scoring per asset
- Deduplication with timeline awareness
- Multi-format, portfolio-ready reporting
- Supports online (Shodan) and offline (JSON) workflows
git clone https://github.com/404saint/surfacelens.git
cd surfacelens
pip install shodanPython 3.9+ recommended
Set your Shodan API key:
export SHODAN_API_KEY="YOUR_API_KEY"Offline mode works fully without Shodan.
python surfacelens.pyInteractive prompts guide you through:
- Selecting mode (Online / Offline)
- Providing organization or ASN (Online) or JSON dataset path (Offline)
- Asset analysis (categorization, exposure, Shadow IT, risk scoring)
- Generating reports (JSON / Markdown / HTML)
- Service Category
- Exposure Findings
- Shadow IT Indicators (with confidence)
- Risk Score & Confidence
- Risk Reasoning
Outputs are suitable for technical teams, leadership, and audit documentation.
SurfaceLens is strictly passive and defensive:
- No active scanning
- No exploitation or brute forcing
- Use only on assets you own or are authorized to assess
MIT License