Dan16ssd/deployguard-target

GitHub: Dan16ssd/deployguard-target

DeployGuard 多 Agent 安全门禁的演示靶标仓库,通过一个植入 SQL 注入漏洞的 PR 展示自动化漏洞拦截流程。

Stars: 0 | Forks: 0

# deployguard-target 此代码库**不是**一个真正的产品。它是一个刻意保持极简的应用程序,其存在是为了**演示 DeployGuard 在真实漏洞合并之前将其捕获** —— 为 agent 链提供具体且可复现的审查内容。 ## 演示:一个植入的漏洞 该漏洞存在于 **pull request** 中,而不是在 `main` 分支中 —— 这正是 DeployGuard 旨在其发布*之前*将其捕获的方式: - **`main`** 包含干净、安全的代码 —— `app/auth.py` 使用了**参数化 SQL 查询**。 - **`feature/add-login`** 分支(作为 **PR #1** 开启)引入了**故意的 SQL 注入**漏洞:在新的 `get_user_for_request` 和 `login` 方法中,用户输入被直接拼接/格式化进 SQL 语句中。 当该 PR 开启时,GitHub 会通知 DeployGuard,其五个 agent 将审查此更改: ``` PR opened → webhook → ScanAgent → SecurityAgent → RiskAgent → DeployAgent → ReportAgent ``` **SecurityAgent** 会标记该 SQL 注入,发布带有确切 `file:line` 的 `CRITICAL` 评论,并且该链会**阻止部署**,而不是发布带有漏洞的代码。一个干净的 PR(没有发现问题)则将直接进入实际的 `workflow_dispatch` 部署流程。 ## 此代码库的内容 | 路径 | 用途 | |------|---------| | `app/auth.py` | 一个微型的用户认证服务。在 `main` 上它是**安全的**(参数化 SQL)。 | | `tests/test_auth.py` | 针对安全版本的通过单元测试。 | | `.github/workflows/deploy.yml` | 一个 `workflow_dispatch` 部署任务,由 DeployGuard 在 PR 被批准后触发。 | | `requirements.txt` | 仅包含 `pytest`。 | ## 工作机制 此代码库有一个指向 DeployGuard 服务(托管在 Railway 上)的 GitHub **webhook**。每次发生 pull request 时,GitHub 都会将事件传递给 DeployGuard,后者会开启一个 [Band](https://band.ai) 聊天室,五个 agent 在其中协作**批准或阻止**更改 —— 并将他们的结论作为 PR 评论发布回去。 ## 运行(安全)应用的测试 ``` pip install -r requirements.txt pytest -q ``` _目前为单 token 演示;跨任意代码库的多租户审查是生产路径(通过 GitHub App 实现)。_
标签:CISA项目, DevSecOps, 上游代理, 代码审查, 安全规则引擎, 演示项目, 逆向工具