프로젝트 소개

BBOT(BEE·bot)은 Spiderfoot에서 영감을 받은 다목적 재귀적 인터넷 스캐너로, 정찰, 버그 바운티 작업, 공격 표면 관리(ASM)를 목표로 합니다. Python(3.10+)으로 작성되었으며 AGPLv3로 배포됩니다. 핵심 워크플로: 대상과 프리셋을 제공하면 이벤트를 발생시키는 모듈 체인이 실행되고, 그 이벤트가 추가 모듈로 전달됩니다. 프리셋은 플래그, 모듈, 설정을 묶은 것입니다. 예로는 subdomain-enum(패시브 API와 대상별 변형을 활용한 재귀적 DNS 무차별 대입), spider(재귀적 웹 크롤링), email-enum, web 및 web-heavy, kitchen-sink(서브도메인, 클라우드, 코드, 이메일 열거, 스파이더링, 매개변수 마이닝, 웹 무차별 대입, 스크린샷을 결합)가 있습니다. 대상은 DNS 이름, IP 주소, IP 범위, 열린 TCP 포트, URL, 이메일 주소, 조직, 사용자 이름, 파일 시스템 경로, 모바일 앱 링크가 될 수 있으며, 여러 대상을 명령줄이나 파일로 제공할 수 있습니다. 출력 모듈은 Neo4j, Teams, Discord, Slack, Postgres, MySQL, SQLite, Splunk, Elasticsearch, CSV, JSON, HTTP, Websocket을 지원합니다. 타사 서비스(SecurityTrails, Shodan, VirusTotal 등)의 API 키는 ~/.config/bbot/secrets.yml 또는 명령줄에서 설정합니다. BBOT은 Python 라이브러리로도 사용할 수 있으며, 동기 및 비동기 스캐너 API를 제공합니다. /scan 명령에 응답하는 Discord 봇의 문서화된 예제도 있습니다. 프로젝트가 강조하는 기능으로는 다중 대상, 웹 스크린샷, 공격적 웹 모듈, NLP 기반 서브도메인 변형, 네이티브 Neo4j 출력, Ansible을 통한 자동 의존성 설치, 공격 표면 전반에 걸친 사용자 정의 YARA 규칙 검색, 개발자 문서가 있습니다. 설치는 pipx(안정 버전 또는 사전 출시 버전) 또는 Docker를 통해 이루어집니다. 프로젝트는 BBOT 3.0이 2.x와 비교하여 CLI, 프리셋, 모듈, 이벤트, Python API에 파괴적 변경 사항이 있음을 명시하고 마이그레이션 가이드를 제공합니다. 또한 스캔 속도를 높이기 위해 필터링되지 않은 DNS 리졸버를 더 추가할 것을 제안합니다.