highoncomputers/BugFinder

GitHub: highoncomputers/BugFinder

BugFinder 是一个 AI 驱动的自主漏洞赏金助手与安全评估平台,可自动检测目标类型并执行智能化安全扫描与报告生成。

Stars: 0 | Forks: 0

# BugFinder [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) [![CI](https://static.pigsec.cn/wp-content/uploads/repos/cas/39/39faa54be350a1dab8afd3b2fb8c1c83e4d9cff84abfef2374d19a18053687c4.svg)](https://github.com/highoncomputers/BugFinder/actions/workflows/ci.yml) [![Python 3.12+](https://img.shields.io/badge/python-3.12%20%7C%203.13-blue)](pyproject.toml) [![Docker](https://img.shields.io/badge/docker-ready-2496ED?logo=docker)](Dockerfile) [![CodeQL](https://static.pigsec.cn/wp-content/uploads/repos/cas/53/539e9a6bf48ad24469a4363bff3aa68124154549e26592783d3d8577f2acbbfc.svg)](https://github.com/highoncomputers/BugFinder/actions/workflows/codeql.yml) [![GitHub stars](https://img.shields.io/github/stars/highoncomputers/BugFinder?style=social)](https://github.com/highoncomputers/BugFinder) AI 驱动的自主漏洞赏金助手和安全评估平台。 BugFinder 会自动确定目标类型,选择合适的评估模块,执行安全的扫描,关联发现的漏洞,并生成专业的报告——同时使用通俗易懂的语言解释每一个发现。 ``` bf scan https://example.com bf scan app.apk bf scan 10.0.0.0/24 bf tui # Launch the terminal dashboard ``` ## 快速开始 ``` # 安装 pip install bugfinder # 设置您的 NVIDIA API key(AI 功能必需) export BF_NVIDIA_API_KEY="your-key-here" # 运行您的首次扫描 bf scan https://example.com # 启动 TUI dashboard bf tui ``` ## 功能 - **自动检测**:自动识别目标类型(网站、API、APK、IP、Docker 等) - **AI 驱动**:集成 NVIDIA API,用于智能规划、解释和生成报告 - **零配置**:开箱即用——标准扫描无需手动配置 - **双模式**:初学者模式(引导式、教育性)和专家模式(完全控制) - **知识图谱**:维护已发现资产之间的关系,以实现更智能的分析 - **插件系统**:可通过插件扩展,以支持自定义技术和工作流 - **丰富的 TUI**:基于终端的控制台,具有实时进度、发现资源管理器和报告预览功能 - **多格式报告**:支持 Markdown、HTML、PDF、JSON、CSV 导出 - **范围感知**:内置范围限制和速率控制,以确保测试的安全性 ## 架构 ``` ┌─────────────────────────────────────────────────────────┐ │ CLI (typer) │ │ bf scan | bf tui | bf report │ └──────────┬──────────────────────────────────┬────────────┘ │ │ ▼ ▼ ┌─────────────────────┐ ┌─────────────────────────┐ │ Target Detection │ │ Textual TUI Dashboard │ │ (web / api / apk / │ │ (live progress, find- │ │ ip / cloud / ...) │ │ ings, report preview) │ └──────────┬───────────┘ └─────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────┐ │ Planner (AI + Rules) │ │ Selects agents, orders operations, sets scope │ └──────────┬──────────────────────────────────┬────────────┘ │ │ ▼ ▼ ┌─────────────────────┐ ┌─────────────────────────┐ │ Assessment Agents │ │ Engine │ │ ┌─────────────────┐ │ │ Scheduler + Executor │ │ │ Web │ API │ │ │ (async task queue, │ │ ├─────────────────┤ │ │ concurrency control, │ │ │ Android │ Cloud │ │ │ rate limiting) │ │ ├─────────────────┤ │ └──────────┬──────────────┘ │ │ Infra │ Secrets││ │ │ ├─────────────────┤ │ │ │ │ Recon │ │ │ │ └─────────────────┘ │ │ └───────────────────────┘ │ │ │ └──────────┬───────────────────────┘ ▼ ┌─────────────────────────────────────────────────────────┐ │ Knowledge Graph │ │ (asset relationships via NetworkX) │ └──────────┬──────────────────────────────────┬────────────┘ │ │ ▼ ▼ ┌─────────────────────┐ ┌─────────────────────────┐ │ Database │ │ AI (NVIDIA API) │ │ SQLAlchemy + Alembic│ │ Planning, explanations,│ │ (SQLite / Postgres) │ │ report generation │ └───────────────────────┘ └─────────────────────────┘ │ │ └──────────┬───────────────────────┘ ▼ ┌─────────────────────────────────────────────────────────┐ │ Reporting │ │ Markdown │ HTML │ PDF │ JSON │ CSV │ └─────────────────────────────────────────────────────────┘ ``` ## 项目结构 ``` bugfinder/ ├── cli/ # CLI commands + Textual TUI ├── core/ # Config, types, exceptions ├── target/ # Target auto-detection ├── planner/ # AI + rule-based planner ├── agents/ # Assessment agents │ ├── web/ # Web app scanners │ ├── api/ # API testing │ ├── android/ # APK analysis │ ├── cloud/ # Cloud config review │ ├── infra/ # Network/infrastructure │ ├── secrets/ # Secret detection │ └── recon/ # Reconnaissance ├── engine/ # Scheduler + executor ├── knowledge_graph/ # Asset relationship graph ├── database/ # SQLAlchemy models ├── ai/ # NVIDIA API client ├── reporting/ # Report generators ├── plugins/ # Plugin system ├── security/ # Scope + rate limiting └── learning/ # Educational resources ``` ## CLI 参考 | 命令 | 描述 | |---|---| | `bf scan ` | 自动检测并扫描 | | `bf scan --quick` | 轻量级扫描 | | `bf scan --deep` | 最大覆盖率 | | `bf scan --expert` | 完全配置控制 | | `bf tui` | 启动 Textual 终端 UI | | `bf report ` | 生成报告 | | `bf config ` | 设置配置 | | `bf list-agents` | 显示可用的 agent | | `bf plugin install ` | 安装插件 | ## 配置 通过环境变量(以 `BF_` 为前缀)、`.env` 文件或 `bf config` 进行配置: ``` # AI 功能必需 BF_NVIDIA_API_KEY=your_key_here BF_NVIDIA_MODEL=minimax-m3 # Scope 强制执行(逗号分隔) BF_ALLOWED_DOMAINS=example.com,api.example.com # 扫描设置 BF_MAX_CONCURRENT_TASKS=10 BF_RATE_LIMIT_PER_SECOND=50 # 模式 BF_BEGINNER_MODE=true BF_EDUCATIONAL_MODE=true ``` ## 开发 ``` # Clone 和 setup git clone https://github.com/highoncomputers/BugFinder.git cd BugFinder make install # 运行测试 make test # Lint 和 format make lint make format # Type check make typecheck # 运行 TUI make dev ``` ## 常见问题 ### BugFinder 可以扫描哪种类型的目标? BugFinder 可自动检测网站(HTTP/HTTPS)、REST/GraphQL API、Android APK、IP 范围/子网、Docker 容器/镜像以及云提供商配置(AWS、GCP、Azure)。它会自动选择合适的评估模块。 ### BugFinder 需要网络连接吗? 是的,需要通过网络使用 NVIDIA API 来实现 AI 驱动的功能(规划、解释、生成报告)。离线扫描可以运行,但缺乏智能分析。某些 agent(例如,子域名枚举、OSINT)也需要访问互联网。 ### 在生产环境的目标上运行 BugFinder 安全吗? BugFinder 将安全性放在首位,内置了范围限制、速率控制和只读检查。但是,请务必使用 `BF_ALLOWED_DOMAINS` 和明确的范围配置。初学者模式会在执行每个操作之前添加确认提示。 ### 我可以在 Docker 中运行 BugFinder 吗? 可以。请参阅 [Dockerfile](Dockerfile)。使用 `docker build -t bugfinder .` 进行构建,并使用 `docker run bugfinder scan https://example.com` 运行。 ### BugFinder 支持哪些 AI 模型? 目前支持通过 NVIDIA API (NIM) 使用 `minimax-m3` 模型。计划支持更多提供商。 ### 没有 AI API 密钥可以使用 BugFinder 吗? 可以。在没有 AI 的情况下,基本扫描、范围限制和报告功能均可正常工作。AI 用于增强规划、解释和生成报告。 ### 如何添加新的评估 agent? 有关 agent 开发指南,请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。Agent 是 `BaseAgent` 的 Python 子类。 ### BugFinder 会存储扫描结果吗? 是的,默认情况下存储在本地 SQLite 数据库(`bugfinder.db`)中。在生产环境部署中,请配置 `BF_DATABASE_URL` 以使用 Postgres。 ## 故障排除 ### “No module named bugfinder” 确保您处于虚拟环境中,或者已经安装了该包: ``` uv sync # 或 pip install -e . ``` ### “NVIDIA API key not found” 设置 `BF_NVIDIA_API_KEY` 环境变量,或者将其添加到工作目录下的 `.env` 文件中。 ### 速率限制错误 如果扫描高容量目标,请增加 `BF_RATE_LIMIT_PER_SECOND`。如果您的请求被阻止,请将其减小。 ### 测试失败并出现导入错误 首先运行 `make install` 以安装所有依赖项,包括开发附加组件。 ### Docker 容器立即退出 请使用命令运行容器,例如: ``` docker run bugfinder scan https://example.com ``` 默认入口点是附带 `--help` 参数的 `bf`。 ### "Database is locked" 错误 BugFinder 默认使用 SQLite,其并发性有限。对于并发扫描,请通过 `BF_DATABASE_URL` 切换到 Postgres。 ### TUI 没有响应 确保您的终端支持 24 位颜色,并且至少为 80×24 字符。尝试使用 `export TERM=xterm-256color`。 ## 安全 将安全漏洞报告至 security@bugfinder.dev。有关我们的安全政策和披露流程,请参阅 [SECURITY.md](SECURITY.md)。 ## 更新日志 有关版本历史和发布说明,请参阅 [CHANGELOG.md](CHANGELOG.md)。 ## 许可证 MIT — 有关详细信息,请参阅 [LICENSE](LICENSE)。
标签:Bug Bounty, Python, 人工智能, 反取证, 可自定义解析器, 安全评估, 实时处理, 密码管理, 插件系统, 无后门, 特权检测, 用户模式Hook绕过, 网络调试, 自动化, 请求拦截, 调试插件, 逆向工具