abdelalim-saada/dast-cicd-pipeline

GitHub: abdelalim-saada/dast-cicd-pipeline

一个基于实证研究的 DevSecOps 毕业项目,通过对四款开源 DAST 工具的系统化评测,设计并验证了一套集成于 GitLab CI/CD 的三阶段安全门禁 pipeline。

Stars: 0 | Forks: 0

# DAST Pipeline 集成至 GitLab CI/CD ## 概述 本项目设计、进行实证验证,并实现了一个生产级的**动态应用程序安全测试(DAST)pipeline**,将其集成至 GitLab CI/CD 中,遵循 DevSecOps 和安全左移原则。 本项目不依赖供应商的宣传来选择 DAST 工具,而是首先对四款开源工具进行了**三个阶段的实证比较研究**,然后利用研究结果来论证具体的 pipeline 架构——每一个设计决策都可以追溯到测量数据。 ## 比较研究 对以下四款开源 DAST 工具进行了正面评估: - **OWASP ZAP** - **Nuclei** - **Nikto** - **Wapiti** 测试涵盖了**五个包含不同架构(PHP/Laravel、Java Spring Boot、Python REST API、Angular SPA)的蓄意漏洞应用程序**,并在逐步深化的三种测试条件下进行: 1. **阶段 1 — 基准未认证扫描** 2. **阶段 2 — 激进模式扫描** 3. **阶段 3 — 已认证扫描** 构建了自定义的**6项指标评估框架(M1–M6)**,对每个工具的检测率、扫描速度、误报率和 CI/CD 自动化适用性进行评分,最终生成满分为 100 的加权**CI/CD 适用性得分(M6)**。 ### 关键发现:认证缺失问题 在所有四款工具中,针对某一个目标进行未认证扫描时,**未检测到任何注入类漏洞**(SQL injection、命令执行、路径遍历、XSS)——尽管这些漏洞确实存在且可被利用。通过已认证扫描则发现了全部漏洞。这一发现直接推动了整个 pipeline 架构的设计:**仅靠未认证扫描不足以满足生产环境的安全门禁要求。** ## Pipeline 架构 比较研究的结果被转化为一个**三阶段门禁 pipeline**,每个门禁都选用了在该阶段约束下得分最高的工具: | 门禁 | 触发条件 | 工具 | 目的 | |------|---------|-------|---------| | **门禁 1 — 快速门禁** | 每次提交 | Nuclei + Nikto | 提供5分钟内的快速反馈,覆盖 CVE 及服务器配置错误 | | **门禁 2 — 审查门禁** | 每次合并请求 | ZAP(基准模式) | 提供最高的应用层 OWASP Top 10 覆盖率,以及最低的误报率 | | **门禁 3 — 深度门禁** | 预发布标签 | ZAP(全面认证模式,通过 API 处理 CSRF token) | 进行已认证会话扫描,以弥补认证缺失的问题 | 所有发现的结果都会被推送至 **DefectDojo**,用于集中汇总、去重以及执行受 SLA 约束的修复跟踪。 ## 验证 该 pipeline 已针对两个目标进行了验证: - **VulnApp** — 一个专门构建的、Docker 容器化的 Laravel 应用程序,包含6个蓄意引入的漏洞,每个漏洞均映射到 OWASP Top 10 (2025) 类别,用作受控的基准测试目标。 - **Monica CRM** — 一个超过5万行代码的生产级开源 Laravel 应用程序,用于确认该 pipeline 在面对真实世界的复杂性时依然有效。 ## 技术栈 `OWASP ZAP` · `Nuclei` · `Nikto` · `Wapiti` · `GitLab CI/CD` · `Docker` · `DefectDojo` · `Python` · `Laravel` ## 仓库范围 本仓库记录了该项目的方法论、架构和发现。出于保密原因,未公开的原始扫描输出、内部 Ayrade 基础设施细节以及完整的论文手稿不在此发布。完整的书面论文已于 2026 年 6 月 15 日在 ENSTICP 完成答辩。 ## 作者 **Abdelalim Saada** — 网络安全工程师 [LinkedIn](https://www.linkedin.com/in/abdelalim-saada-5732a3350/) · [GitHub](https://github.com/abdelalim-saada) 学术导师:Mr. MEHMEL Cherif (ENSTICP) · 实习导师:Mr. DJEMAI Azzedine (Ayrade)
标签:CI/CD流水线, DevSecOps, GitLab, 上游代理, 动态应用安全测试, 学术研究, 请求拦截, 逆向工具