Personal project · Open source2026 – ongoingIn development · Live demo

SurfaceGuard-BJ

Command-line tool for explainable external attack surface mapping

cli-surfaceguard-bj.vercel.app
SurfaceGuard-BJ

1. The Identified Problem

External attack surface management (EASM) tools produce raw results: the same server counted once per DNS name, a visible exposure treated as a confirmed vulnerability, and prioritisation that is opaque or missing.

2. Solution Engineered

A Python command-line tool that cross-checks passive sources (DNS, Certificate Transparency, RDAP), groups names that point to the same server, and gives each observation one of 4 confidence levels before ranking it with explainable criteria. Reports are written in French. Active testing is limited to a lab and to domains with written authorisation.

3. Results & Measurable Impact

Live demo with fictitious data (reserved domains, documentation IP addresses and AS number), published method and roadmap. An exploratory, passive-only study compares the DNS visibility of government domains in 7 countries. The command-line prototype is in development.

My role

  • Initial study: passive reconnaissance of government domains in 7 countries with DNSDumpster, to measure differences in external visibility.
  • Method design: source fusion, asset identity resolution, multi-criteria scoring that accounts for uncertainty.
  • Ethical framework: active testing only in a lab and on domains with written authorisation, reporting to bjCSIRT for any critical exposure.
  • Web demo: simulated terminal, report and roadmap, with entirely fictitious data.

Key Figures & Milestones

3 sourcesPassive and cross-checked: DNS, Certificate Transparency, RDAP
4 levelsOf confidence attached to each observation, from confirmed fact to hint
7 countriesCompared on the DNS visibility of their government domains, with no active testing

Interface Gallery & Previews

Click any preview to inspect it in full screen view.

Technology Stack

  • Python
  • DNS
  • Certificate Transparency
  • RDAP
  • Next.js
  • TypeScript