BBOT
raw JSON → 2.8.4 verified Fri May 01 auth: no python
BBOT (Bighorn Buster OSINT Tool) is an OSINT automation framework for hackers and security researchers, combining subdomain enumeration, port scanning, web screenshots, and more into a single modular pipeline. Current version: 2.8.4. Released regularly (multiple minor versions per month) on PyPI.
pip install bbot Common errors
error ModuleNotFoundError: No module named 'bbot' ↓
cause BBOT is not installed or is installed in a different environment.
fix
Run
pip install bbot in the correct Python environment. error AttributeError: module 'bbot' has no attribute 'Scanner' ↓
cause Importing Scanner from the top-level `bbot` package instead of the submodule.
fix
Use
from bbot.scanner import Scanner instead of from bbot import Scanner. error ValueError: Scanner cannot be started twice with same target ↓
cause Attempting to call `start()` on the same scanner instance more than once.
fix
Create a new scanner instance for each scan:
s = scanner(target); s.start(). Warnings
breaking BBOT 2.x introduced a completely rewritten API. Old scripts using `from bbot import scan` or `BBot()` will fail. The new entry point is `bbot.scanner.scanner`. ↓
fix Update imports to `from bbot.scanner import scanner` and use `scanner()` function.
gotcha Do not call `scanner()` with the same target more than once in the same process; BBOT reuses state and may produce unexpected results. Create a new scanner instance for each scan. ↓
fix Always instantiate a new scanner object per scan, e.g., `s = scanner(target)`.
gotcha Some modules require external tools (e.g., nuclei, ffuf) to be installed separately. BBOT will not warn if they are missing; scans may silently skip those steps. ↓
fix Check the documentation for module prerequisites and ensure required tools are in your PATH.
Imports
- scan wrong
from bbot import scancorrectfrom bbot.scanner import scanner - Scanner wrong
from bbot import Scannercorrectfrom bbot.scanner import Scanner
Quickstart
from bbot.scanner import scanner
s = scanner("example.com", modules=["subdomain-enum", "portscan"], output_modules=["csv"], config={"modules": {"portscan": {"ports": [80, 443]}}})
s.start()
results = s.json
print(results[:2])