OWASP-BLT/BLT

GitHub: OWASP-BLT/BLT

OWASP BLT 是一个开源的游戏化众包漏洞披露与 QA 测试平台,帮助组织建立漏洞接收流程并激励安全研究人员参与贡献。

Stars: 288 | Forks: 395

🐛 OWASP BLT

Bug Logging Tool - 游戏化众包 QA 测试与漏洞披露

一个用于发现和报告网站、应用程序、Git 仓库等各处 Bug 的游戏化平台。

🌐 网站📖 贡献指南💬 加入 Slack🐛 报告 Bug

## 📊 项目统计

License GitHub stars

Contributors Last Commit Open Issues Pull Requests

Top Language Repo Size Forks Views

## 🎯 什么是 OWASP BLT? **OWASP BLT (Bug Logging Tool)** 是一个游戏化的众包 QA 测试和漏洞披露平台,涵盖网站、应用程序、Git 仓库等。 该平台帮助程序员和安全研究人员发现组织、仓库和项目,以便进行测试和报告,从而更容易找到有意义的安全工作并为社区做出贡献。 我们的团队创建了许多开源工具来辅助我们的主要愿景,包括专门针对 OWASP 基金会的工具。我们拥抱 AI 革命,并开发了 AI 驱动的工具和流程,以实现人与 AI 之间的高效编码协作。 BLT 由社区构建,服务于社区,使安全研究人员、开发人员和组织能够轻松协作,发现和修复漏洞。 ### ✨ 主要功能 - 🔍 **QA 测试与漏洞披露** - 发现并报告网站、应用程序、Git 仓库和项目中的 Bug - 🗺️ **发现测试机会** - 寻找组织、仓库和项目进行测试和报告 - 🏆 **奖励与认可** - 因对软件质量和安全的贡献而获得奖励、徽章和认可 - 👥 **众包测试** - 加入充满活力的测试人员、安全研究人员和开发人员社区 - 🎮 **游戏化** - 排行榜、挑战和竞赛,让测试变得引人入胜且有回报 - 💰 **质押系统** - 基于区块链的创新贡献者奖励系统 - 🤖 **AI 驱动工具** - 利用 AI 进行高效编码、PR 审查、Issue 生成和相似性扫描 - 📊 **综合仪表板** - 跨所有平台跟踪您的进度、统计数据和影响力 - 🌐 **开源生态系统** - 支持我们使命的大量开源工具 - 🛡️ **OWASP 项目** - Open Worldwide Application Security Project 大家族的一员 ## 🚀 快速开始 ### 前置条件 - Python 3.11.2+ - PostgreSQL - Docker & Docker Compose (推荐) ### 安装 #### 使用 Docker (推荐) ``` # 克隆 repository git clone https://github.com/OWASP-BLT/BLT.git cd BLT # 配置 environment cp .env.example .env # Build 并启动 docker-compose build docker-compose up ``` 在 **http://localhost:8000** 访问应用程序 ##### Docker Desktop (Windows) 本项目使用 Linux 容器。 在现代 Docker Desktop (基于 WSL 2) 上,默认启用 Linux 容器。 您可能不会在 Docker 托盘菜单中看到“切换到 Linux 容器”选项 —— 这是正常的。 如果 Docker Desktop 正在运行,并且以下命令显示 `OSType: linux`, 那么您的设置是正确的,无需其他操作: ``` docker info | findstr OSType ``` #### 使用 Poetry ``` # 安装 Poetry pip install poetry # 1. 首先安装 dependencies (创建 virtual environment) poetry install # 2. 激活 virtual environment poetry shell #### 新手友好的非 Docker Setup (Windows 新手 Codespaces) Docker/virtualization issues on Windows? Use Poetry + SQLite in GitHub Codespaces (free cloud VS Code—no local compilation/virtualization problems!). 1. Create Codespace on main branch. 2. `cp .env.example .env` 3. `poetry install` (add `poetry run pip install psutil` if errors) 4. Edit `.env`: - `DATABASE_URL=sqlite:///db.sqlite3` - Add `SECRET_KEY=bengaluru2026-sharanyaa-random!@#` - Comment Postgres lines with `#` - Dummy: `OPENAI_API_KEY=dummy` - Keep `DEBUG=True` 5. `poetry run python manage.py migrate` 6. `poetry run python manage.py createsuperuser` 7. Run on free port: `poetry run python manage.py runserver 0.0.0.0:8001` 8. Open port 8001 in Ports tab. Tested by complete beginner Sharanyaa from Bengaluru—app running perfectly in Codespaces on January 14, 2026! 🚀 # 设置 database python manage.py migrate python manage.py loaddata website/fixtures/initial_data.json python manage.py createsuperuser # 运行 server python manage.py runserver ``` 有关详细的设置说明,请参阅我们的 [贡献指南](https://github.com/OWASP-BLT/BLT/blob/main/CONTRIBUTING.md)。 #### 适合初学者的非 Docker 设置 (面向 Windows 初学者的 Codespaces) 在 Windows 上遇到 Docker/虚拟化问题?在 GitHub Codespaces 中使用 Poetry + SQLite(免费云端——没有本地环境问题!)。 1. 在 main 分支创建 Codespace。 2. `cp .env.example .env` 3. `poetry install`(如果出现 "ModuleNotFound" 错误,添加 `poetry run pip install psutil`) 4. 编辑 `.env`: - `DATABASE_URL=sqlite:///db.sqlite3` - 添加 `SECRET_KEY=your-random-bengaluru2026!@#` - 用 `#` 注释掉 Postgres 相关行 - 设置虚拟 key:`OPENAI_API_KEY=dummy` - 保持 `DEBUG=True` 5. 可选的 CSRF 修复,在 `blt/settings.py` 中:设置 `ALLOWED_HOSTS = ['*']` 并添加: CSRF_TRUSTED_ORIGINS = [ 'https://*.github.dev', 'https://*.app.github.dev', 'http://localhost:*', ] ## 🤝 贡献 我们欢迎所有人的贡献!无论您是修复 Bug、添加功能、改进文档,还是宣传推广,我们都感谢您的帮助。 - 📚 阅读我们的 [贡献指南](https://github.com/OWASP-BLT/BLT/blob/main/CONTRIBUTING.md) - 🐛 查看 [开放 Issue](https://github.com/OWASP-BLT/BLT/issues) - 💡 如果您是新手,请寻找标记为 `good first issue` 的 Issue - 🎨 遵循我们的代码规范 (Black, isort, ruff) - ✅ 在提交更改之前运行 `pre-commit` ### 📊 GitHub Action 排行榜 我们的仓库使用自动化的排行榜机器人来认可贡献并使其游戏化。当您开启 Pull Request 时,会自动发布一条排行榜评论,显示您与其他贡献者相比的月度排名。 #### 运作方式 排行榜机器人通过 GitHub Actions 在每个新的 Pull Request 上自动运行。它会: 1. **收集月度统计数据** - 汇总当月(UTC 时区)的贡献数据 2. **计算积分** - 根据各种贡献类型奖励积分 3. **排名贡献者** - 按总积分对用户进行排序,包含平局决胜规则 4. **发布排行榜** - 在 PR 上评论,显示贡献者的排名及附近的竞争者 #### 积分系统 排行榜根据以下贡献类型奖励积分: | 活动 | 积分 | 备注 | |----------|--------|-------| | **开启 PR** | 每个 PR +1 | 所有当前开启的 PR(全仓库范围,无积分上限;若有 50+ 个开启的 PR 则阻止新 PR) | | **合并 PR** | 每个 PR +10 | 当月合并的 PR | | **关闭 PR (未合并)** | 每个 PR -2 | 当月关闭但未合并的 PR | | **代码审查** | 每次审查 +5 | 每个 PR 的前两次审查,且审查是在当月提交的 | | **评论** | 每条评论 +2 | 当月的 Issue/PR 评论(不包括提及 @coderabbitai 的评论) | | **CodeRabbit 讨论** | 可配置 | 详情见下文 | **总积分公式:** ``` Total = (Open PRs × 1) + (Merged PRs × 10) + (Closed PRs × -2) + (Reviews × 5) + (Comments × 2) + CodeRabbit Bonus ``` #### 排名逻辑 贡献者按以下顺序排序: 1. **总积分**(最高优先) 2. **合并 PR 数量**(第一 tiebreaker) 3. **审查数量**(第二 tiebreaker) 4. **字母顺序**(最终 tiebreaker,不区分大小写) 排名前 3 的贡献者获得奖牌表情符号:🥇 🥈 🥉 #### CodeRabbit 讨论追踪 机器人追踪与 CodeRabbit AI 的讨论,以鼓励深思熟虑的代码审查参与。此功能是可配置的: **环境变量:** - `CR_DISCUSSION_MODE`: 如何处理 CodeRabbit 讨论 - `visible` (默认): 在排行榜表格中显示讨论计数 - `hidden`: 计入积分但在表格中隐藏 - `separate`: 单独追踪,不计分 - `CR_DISCUSSION_POINTS`: 每个计入讨论的积分 - 默认: `0` (仅可见追踪,无积分) - 设置为正整数以奖励积分 - `CR_DISCUSSION_DAILY_CAP`: 每个用户每天(UTC)计入的最大讨论数 - 默认: `7` - 防止通过刷屏来利用系统 **防滥用保护:** 每位用户的每日上限确保 AI 讨论重质量而非数量。 #### 防滥用功能 排行榜包含多项保障措施: 1. **机器人检测** - 自动排除机器人帐户(GitHub Apps, Dependabot, Copilot 等) 2. **开启 PR 限制** - 如果用户有 50+ 个开启的 PR,自动关闭新 PR(防止 PR 垃圾信息) 3. **每日上限** - CodeRabbit 讨论的限制防止刷分 4. **审查限制** - 每个 PR 仅前两次审查计入(鼓励审查不同的 PR) #### 技术细节 - **工作流文件**: `.github/workflows/leaderboard-bot.yml` - **触发器**: 在 PR 开启时通过 `pull_request_target` 运行 - **安全性**: 使用基础仓库权限;不检出或执行 PR 代码 - **权限**: `contents: read`, `pull-requests: write`, `issues: write` - **数据来源**: GitHub GraphQL API 和 REST API - **时区**: 所有日期使用 UTC 以保持一致性 #### 配置排行榜 要修改排行榜行为,请在 `.github/workflows/leaderboard-bot.yml` 中编辑环境变量: ``` env: CR_DISCUSSION_MODE: visible # visible | hidden | separate CR_DISCUSSION_POINTS: '0' # Points per discussion CR_DISCUSSION_DAILY_CAP: '7' # Daily limit per user ``` #### 查看您的统计数据 当您开启 PR 时,您的排行榜统计数据会自动发布。评论显示: - 您当月的当前排名 - 排名紧随其上的用户(如果您不是第 1 名) - 排名紧随其下的用户(如果您不是最后一名) - 如果您排名前 3 则有奖牌表情符号 - 按类别详细细分您的积分 排行榜每月更新,排名在每个月初(UTC)重置。 ## 💬 社区与支持 - 🌐 **网站**: [owaspblt.org](https://owaspblt.org) - 💬 **Slack**: [加入 OWASP Slack](https://owasp.org/slack/invite) - 🐦 **Twitter**: [@OWASP_BLT](https://x.com/OWASP_BLT) - 💰 **赞助**: [支持本项目](https://github.com/sponsors/OWASP-BLT) - 📧 **联系**: 通过 GitHub issues 联系我们 ## 📈 Star 历史 Star History Chart ## 📄 许可证 本项目基于 **AGPL-3.0 许可证** 授权 - 详情请参阅 [LICENSE.md](LICENSE.md) 文件。

⭐ 如果您觉得这个项目有帮助,请给仓库一个 Star!
由 OWASP BLT 社区 ❤️ 制作

标签:BLT, Bug记录, CISA项目, Crowdsourced Security, GPT, IP 地址批量处理, QA测试, VDP, Web安全, 代码仓库, 众包测试, 后端开发, 后端开发, 测试用例, 游戏化, 漏洞报告, 漏洞披露, 漏洞管理, 社区驱动, 缺陷跟踪, 网络安全, 蓝队分析, 请求拦截, 软件质量, 逆向工具, 隐私保护