{"id":23344,"library":"bbot","title":"BBOT","description":"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.","status":"active","version":"2.8.4","language":"python","source_language":"en","source_url":"https://github.com/blacklanternsecurity/bbot","tags":["osint","security","automation","subdomain-enumeration"],"install":[{"cmd":"pip install bbot","lang":"bash","label":"Install from PyPI"}],"dependencies":[],"imports":[{"note":"The main entry point is the `scanner` class in `bbot.scanner` module, not a top-level `scan` function.","wrong":"from bbot import scan","symbol":"scan","correct":"from bbot.scanner import scanner"},{"note":"Scanner is not exposed at package level; must import from submodule.","wrong":"from bbot import Scanner","symbol":"Scanner","correct":"from bbot.scanner import Scanner"}],"quickstart":{"code":"from bbot.scanner import scanner\n\ns = scanner(\"example.com\", modules=[\"subdomain-enum\", \"portscan\"], output_modules=[\"csv\"], config={\"modules\": {\"portscan\": {\"ports\": [80, 443]}}})\ns.start()\nresults = s.json\nprint(results[:2])","lang":"python","description":"Initialize the BBOT scanner with target domain, enable subdomain enumeration and port scan, output to CSV, and run."},"warnings":[{"fix":"Update imports to `from bbot.scanner import scanner` and use `scanner()` function.","message":"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`.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Always instantiate a new scanner object per scan, e.g., `s = scanner(target)`.","message":"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.","severity":"gotcha","affected_versions":"all"},{"fix":"Check the documentation for module prerequisites and ensure required tools are in your PATH.","message":"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.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run `pip install bbot` in the correct Python environment.","cause":"BBOT is not installed or is installed in a different environment.","error":"ModuleNotFoundError: No module named 'bbot'"},{"fix":"Use `from bbot.scanner import Scanner` instead of `from bbot import Scanner`.","cause":"Importing Scanner from the top-level `bbot` package instead of the submodule.","error":"AttributeError: module 'bbot' has no attribute 'Scanner'"},{"fix":"Create a new scanner instance for each scan: `s = scanner(target); s.start()`.","cause":"Attempting to call `start()` on the same scanner instance more than once.","error":"ValueError: Scanner cannot be started twice with same target"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}