ocelotbr-decoBR/pentest-ai-guardian

GitHub: ocelotbr-decoBR/pentest-ai-guardian

一个防御性安全知识库与工具集,结合经fixture验证的Semgrep规则、DAST和CI防漂移门禁,指导AI对多技术栈代码进行诚实的扫描、审计与加固。

Stars: 0 | Forks: 0

# Pentest AI Agent — 防御性安全知识库(多技术栈) *🇧🇷 葡萄牙语 · 🇺🇸 [英文版本见下](#english)* 一个**守护者**(而非攻击者):一个知识库 + 工具集,指导任何 AI **扫描、审计、修复和加固**代码,以防御已知的攻击类别。侧重于**防御**,支持多技术栈(JS/Next, PY/FastAPI, SQL/PG, 基础设施, AI)。 它的独特之处不在于成为又一个 linter —— 而是其**防漂移契约**:知识库(promptbook)、可执行规则(Semgrep)、回归测试 fixture 和审计日志,均通过在 CI 中验证的清单文件绑定在一起。promptbook 引用的每一条规则都**真实存在**、**有触发的 fixture**,并且在安全的 fixture 中**没有误报** —— 这是经过验证的,而非口头声明。 ## 检测模型 (D1–D4) | 级别 | 定义 | 置信度 | |---|---|---| | **D1** | regex/启发式 | 低 | | **D2** | AST/Semgrep(由 fixture 验证) | 高(静态) | | **D3** | 逻辑/架构(review/LLM) | 需要人工判断 | | **D4** | runtime/DAST(in-process) | 高(动态) | 坦白地说:SAST (D2) 只能看到静态模式。逻辑/runtime 漏洞(如 IDOR、竞态条件、访问控制)属于 **D3/D4**,并在设计上被归入 `review` —— 绝不声明不存在的覆盖率(“没有幽灵规则”)。 ## 结构 ``` vibe_coding_security_dataset.md # o promptbook (as defesas, exemplo errado vs. correto) mapa_de_cobertura.md # matriz de cobertura vs OWASP/CWE (o que é forte e o que é cego) .semgrep/ # pacote executável: 40 regras (vibecoding.yml + infra.yml) manifesto/ cobertura.yml # FONTE ÚNICA: liga cada nó P-xx a regra/fixture/seção/CWE/OWASP validar.py # gate anti-drift: 8 invariantes (CI) auditar.py # consome Semgrep JSON -> árvore de auditoria JSONL determinística schema_auditrun.json # schema do log de auditoria mcp/ # MCP Server (stdlib-only): expõe o guardião como tools runner/ # sandbox de execução isolado (Docker hardened) p/ rodar sobre código não confiável validacao/ fixtures_vuln/ fixtures_safe/ # regressão: vuln dispara, safe fica quieto (0 FP) dast/ # harness DAST in-process (pytest) p/ ataques de auth benchmark/ RELATORIO_BENCHMARK.md # TP/FP medidos em apps vulneráveis reais (NodeGoat, dvpwa) ``` ## 快速开始 **防漂移门禁(快速,无需 Docker):** ``` python manifesto/validar.py # 8 invariantes; falha o CI se houver drift ``` **Semgrep 包(通过 Docker 运行 —— Semgrep 无法在 Windows 上原生运行):** ``` docker run --rm -v "$PWD:/cfg:ro" -v ":/code:ro" semgrep/semgrep:latest \ semgrep scan --config /cfg/.semgrep /code --metrics=off ``` **针对不可信代码的隔离沙箱**(egress-deny + 只读文件系统 + 非 root 用户):参见 `manifesto/runner/README.md`。 **确定性审计树:** ``` python manifesto/auditar.py --semgrep-json --target-label alvo python manifesto/auditar.py --replay manifesto/auditorias/.jsonl ``` **In-process DAST:** ``` python -m pytest validacao/dast -q ``` **MCP Server**(通过任何 MCP 客户端调用此守护者 —— 只读,仅使用标准库):参见 `manifesto/mcp/README.md`。 ## 原则 - **验证具有强制约束力。** 每条规则都通过真实扫描由 fixture 验证(在漏洞上触发,在安全代码上 0 误报),而非仅凭肉眼检查。 - **没有幽灵规则。** 如果没有可靠的静态检测手段,该节点即被标记为 D3/review —— 绝不虚构覆盖率。 - **防漂移。** `manifesto/validar.py` 使得 promptbook 无法引用不存在的规则、缺失的 fixture 或不存在的章节。 - **最小权限原则。** 沙箱拒绝网络访问和文件系统写入;MCP 是只读的;审计器绝不接触 Docker daemon。 ## 许可证 MIT —— 参见 [LICENSE](LICENSE)。由 **ocelotbr-decoBR** 维护。 # Pentest AI Agent — 防御性安全知识库(多技术栈) 一个**守护者**(而非攻击者):一个知识库 + 工具集,指导任何 AI **扫描、审计、修复和加固**代码,以防御已知的攻击类别。侧重于**防御**,支持多技术栈(JS/Next, PY/FastAPI, SQL/PG, 基础设施, AI)。 它的独特之处不在于成为又一个 linter —— 而是其**防漂移契约**:知识库(promptbook)、可执行规则(Semgrep)、回归测试 fixture 和审计日志,均通过在 CI 中验证的清单文件绑定在一起。promptbook 引用的每一条规则都**真实存在**、**有触发的 fixture**,并且在安全的 fixture 中**没有误报** —— 这是经过验证的,而非口头声明。 ## 检测模型 (D1–D4) | 级别 | 定义 | 置信度 | |---|---|---| | **D1** | regex/启发式 | 低 | | **D2** | AST/Semgrep(由 fixture 验证) | 高(静态) | | **D3** | 逻辑/架构(review/LLM) | 需要人工判断 | | **D4** | runtime/DAST(in-process) | 高(动态) | 坦白地说:SAST (D2) 只能看到静态模式。逻辑/runtime 漏洞(如 IDOR、竞态条件、访问控制)属于 **D3/D4**,并在设计上被归入 `review` —— 绝不声明不存在的覆盖率(“没有幽灵规则”)。 ## 目录结构 ``` vibe_coding_security_dataset.md # the promptbook (the defenses, wrong vs. correct example) mapa_de_cobertura.md # coverage matrix vs OWASP/CWE (what's strong and what's blind) .semgrep/ # executable pack: 40 rules (vibecoding.yml + infra.yml) manifesto/ cobertura.yml # SINGLE SOURCE: links each P-xx node to rule/fixture/section/CWE/OWASP validar.py # anti-drift gate: 8 invariants (CI) auditar.py # consumes Semgrep JSON -> deterministic JSONL audit tree schema_auditrun.json # audit log schema mcp/ # MCP Server (stdlib-only): exposes the guardian as tools runner/ # isolated execution sandbox (hardened Docker) to run over untrusted code validacao/ fixtures_vuln/ fixtures_safe/ # regression: vuln fires, safe stays quiet (0 FP) dast/ # in-process DAST harness (pytest) for auth attacks benchmark/ RELATORIO_BENCHMARK.md # TP/FP measured on real vulnerable apps (NodeGoat, dvpwa) ``` ## 快速开始 **防漂移门禁(快速,无需 Docker):** ``` python manifesto/validar.py # 8 invariants; fails CI if there's drift ``` **Semgrep 包(通过 Docker 运行 —— Semgrep 无法在 Windows 上原生运行):** ``` docker run --rm -v "$PWD:/cfg:ro" -v ":/code:ro" semgrep/semgrep:latest \ semgrep scan --config /cfg/.semgrep /code --metrics=off ``` **针对不可信代码的隔离沙箱**(egress-deny + 只读文件系统 + 非 root 用户):参见 `manifesto/runner/README.md`。 **确定性审计树:** ``` python manifesto/auditar.py --semgrep-json --target-label target python manifesto/auditar.py --replay manifesto/auditorias/.jsonl ``` **In-process DAST:** ``` python -m pytest validacao/dast -q ``` **MCP Server**(通过任何 MCP 客户端调用此守护者 —— 只读,仅使用标准库):参见 `manifesto/mcp/README.md`。 ## 原则 - **验证具有强制约束力。** 每条规则都通过真实扫描由 fixture 验证(在漏洞上触发,在安全代码上 0 误报),而非仅凭肉眼检查。 - **没有幽灵规则。** 如果没有可靠的静态检测手段,该节点即被标记为 D3/review —— 绝不虚构覆盖率。 - **防漂移。** `manifesto/validar.py` 使得 promptbook 无法引用不存在的规则、缺失的 fixture 或不存在的章节。 - **最小权限原则。** 沙箱拒绝网络访问和文件系统写入;MCP 是只读的;审计器绝不接触 Docker daemon。 ## 许可证 MIT —— 参见 [LICENSE](LICENSE)。由 **ocelotbr-decoBR** 维护。
标签:AI安全智能体, AV绕过, DAST, FastAPI, Semgrep, WordPress安全扫描, 代码安全审计, 安全检查规则, 安全规则引擎, 恶意软件分析, 请求拦截, 逆向工具, 静态应用安全测试(SAST)