Mole // Attack Surface Indicator
OSINT / SIGINT / CyberSecurity / Stealth Driven Browser

Mole Attack Surface Indicator

Mole is a Python desktop browser shell for controlled request identity, isolated cookies, redirect tracing, response inspection, and attack-surface visibility. It does not masquerade as a full modern browser engine. It behaves more like a pressure probe in a dark steel housing: compact, deliberate, and built to watch how the surface reacts when the request identity changes.

Python • Tkinter • httpx • requests • BeautifulSoup

Overview

Mole is aimed at analysts, operators, defenders, researchers, and curious engineers who need a lighter instrument than Chromium when testing how a target responds to different identities and request conditions. The application keeps its own storage beside the script or executable, making it useful for controlled sessions that should not bleed into daily browsing.

Capabilities

Identity Control

  • Mole Desktop, Firefox, Chrome, Edge, Safari
  • Bot identities including Googlebot, Bingbot, GPTBot, OAI-SearchBot, ClaudeBot, Bytespider
  • Custom User-Agent override field

Inspection

  • Rendered text view
  • HTML source review
  • Response headers panel
  • Link extraction and navigation

Isolation

  • Dedicated mole_data folder
  • Cookies persisted to JSON
  • History and settings stored beside runtime
  • Last fetched page archived locally

Install

Python Setup

python3 -m venv venv source venv/bin/activate pip install -r requirements.txt

On Linux, install Tkinter through your package manager if it is not already present.

Dependencies

httpx requests beautifulsoup4 bs4 h2 httpcore anyio urllib3 certifi charset-normalizer idna soupsieve typing_extensions

Mole uses Python networking and parsing libraries rather than a heavyweight embedded browser engine.

Compile Binary

Build

pip install pyinstaller pyinstaller --onefile --windowed --name mole mole.py

The resulting binary lands in the dist/ directory.

Runtime Behavior

When frozen with PyInstaller, Mole resolves its runtime base from the executable location and writes its working data beside the binary. That keeps cookies, history, settings, cache, and saved HTML local to the release folder.

Run

Run as Python

python3 mole.py

Run as Binary

./mole # or on Windows mole.exe

Operational Character

Mole occupies the narrow corridor between a simple HTTP client and a full browser. It is fast enough for controlled request work, dark enough to feel like machinery, and small enough to carry without turning every test into an opera house of browser side effects.