Ibraheemolasupogit/devsecops-application-security-pipeline

GitHub: Ibraheemolasupogit/devsecops-application-security-pipeline

一个以合成 FastAPI 产品为载体的云原生 DevSecOps 应用安全流水线参考实现,完整展示从威胁建模到漏洞治理的安全 SDLC 全流程。

Stars: 0 | Forks: 0

# DevSecOps 应用安全流水线 这是一个基于合成的 FastAPI 产品的作品集仓库,该产品通过完整的本地产品安全运营模型来保障安全:安全设计、API 控制、Terraform 参考架构、AppSec 扫描、动态测试、漏洞发现归一化、发布保障、漏洞生命周期治理、整合证据、开发者赋能、Security Champions 以及 Repository 5 集成契约。 该应用程序仅使用合成的、不可识别的演示数据。它不是生产级别的基因组学平台,不隶属于 Genomics England 也未经其认可,并且不会部署任何 AWS 资源。 ## 1. 作品集定位 本仓库展示了如何将产品安全实践实现为可复现的工程工作流,而非仅仅停留在理论幻灯片层面。核心产品被刻意精简,以便围绕它的安全系统能够实现端到端的可审查性。 ## 2. 产品接口 参考产品是一个基因组研究访问 API,包含数据集目录、访问请求工作流、批准和拒绝操作、结构化审计事件、本地 JWT 身份验证、基于角色的权限以及对象级授权。 ## 3. 安全成果 - 已完成 14 个记录在案的里程碑。 - 25 项产品安全能力已映射至证据。 - 44 个规范漏洞发现处于确定性所有权、发布和生命周期治理之下。 - 保留了 46 个带有来源溯源信息的原始漏洞发现。 - 导出了 178 条集成血缘边缘数据,用于下游验证。 - 在本地验证了 9 个整合的证据域。 ## 4. 证据边界 所有保障证据均在本地生成,来源于仓库文件、本地测试、本地扫描器包装器和确定性时间戳。AWS 架构仅作为 Terraform 参考代码存在。Repository 5 集成仅为契约导出,不会修改其他仓库。 ## 5. 架构 从以下开始: - [应用架构](docs/architecture/application-architecture.md) - [AWS 参考架构](docs/architecture/aws-reference-architecture.md) - [作品集图表](docs/architecture/diagrams/system-context.md) - [产品安全运营模型](docs/portfolio/product-security-operating-model.md) ## 6. 安全 SDLC 安全 SDLC 以可运行的本地命令、策略文件、CI 工作流和生成的证据来呈现。最终的验证目标是: ``` make final-validation ``` ## 7. 威胁建模 STRIDE 威胁模型产出物位于 [docs/threat-model](docs/threat-model/README.md) 下。它们包括资产、参与者、信任边界、数据流、威胁登记册、需求、可追溯性和残余风险。 ## 8. API 安全 身份验证、授权、对象访问、安全标头、CORS 和审计行为由位于 `outputs/security/api-security/` 下的本地测试和证据覆盖。 ## 9. 基础设施安全 [infrastructure](infrastructure/README.md) 下的 Terraform 对 ECS Fargate、ALB、VPC、DynamoDB、KMS、Secrets Manager 元数据、ECR、CloudTrail 和可观测性控制进行了建模。这是刻意不应用的。 ## 10. AppSec 流水线 里程碑 5 通过固定版本的包装器和受治理的证据添加了 Gitleaks、Semgrep、Bandit、pip-audit、CycloneDX SBOM、Checkov、Docker 镜像构建验证和 Trivy 容器扫描。 ## 11. 动态安全 动态验证包括本地 pytest 边界测试、Schemathesis OpenAPI 检查和 OWASP ZAP 本地扫描。动态目标仅限于 localhost 和批准的本地 Docker 使用。 ## 12. 漏洞发现管理 来自扫描器、威胁模型、基础设施和动态测试的漏洞发现被归一化为规范漏洞发现,并带有确定性 ID、所有者、SLA、风险评分和抑制治理。 ## 13. 发布保障 发布门禁会评估规范漏洞发现,并产生确定性决策、规则评估、批准和操作列表。当前的本地决策为 `conditional_pass`。 ## 14. 漏洞生命周期 生命周期治理提供了分类状态、例外批准、到期处理、关闭前验证和审计报告。它是本地的,不与工单系统集成。 ## 15. 证据和报告 整合的证据位于 `outputs/security/evidence/` 下。报告位于 `reports/security/` 和 `reports/portfolio/` 下。 ## 16. 开发者赋能 开发者指南、安全检查清单和本地工作流说明位于 [docs/developer-security](docs/developer-security/README.md) 下。 ## 17. Security Champions Security Champions 计划位于 [security-champions](security-champions/README.md) 下,包括章程、角色、研讨会、练习、指标和连续性指南。 ## 18. 仓库集成契约 Repository 5 契约导出位于 [docs/integration](docs/integration/README.md) 和 `outputs/security/integration/` 下。它是兼容的、带版本控制并在本地验证过的,但不执行实时提取。 ## 19. 作品集文档 招聘人员、工程经理和安全审查人员的视图位于 [docs/portfolio](docs/portfolio/project-case-study.md) 下。从以下开始: - [项目案例研究](docs/portfolio/project-case-study.md) - [高管案例研究](docs/portfolio/executive-case-study.md) - [技术案例研究](docs/portfolio/technical-case-study.md) - [面试谈话要点](docs/portfolio/interview-talking-points.md) - [简历要点](docs/portfolio/cv-bullets.md) ## 20. 作品集证据 生成作品集证据和报告: ``` make portfolio-full ``` 关键产出: - `outputs/security/portfolio/portfolio-summary.json` - `outputs/security/portfolio/security-capability-matrix.json` - `outputs/security/portfolio/portfolio-manifest.json` - `outputs/portfolio/` - `reports/portfolio/` ## 21. 本地设置 需要 Python 3.11 或更高版本。 ``` make setup make run ``` 打开 `http://127.0.0.1:8000/docs` 访问本地 OpenAPI UI。 ## 22. 质量门禁 ``` make format-check make lint make type-check make test-coverage make quality ``` ## 23. 安全门禁 ``` make appsec-full make dynamic-full make findings-full make release-full make lifecycle-full make evidence-full make integration-full make security-assurance-full ``` ## 24. 最终验证 ``` make final-validation git diff --check git status --short ``` `final-validation` 会验证质量、现有的证据清单、集成证据和作品集证据。由 Docker 支持的 AppSec 命令仍然单独执行,因为它们依赖于本地 Docker 的可用性。 ## 25. 治理 ## 26. 局限性 该仓库刻意排除了生产部署、AWS 资源创建、实时身份提供者集成、工单集成、仪表板、消息传递集成、监管认证以及对 Repository 5 的更改。请参阅[局限性和残余风险](docs/portfolio/limitations-and-residual-risk.md)。
标签:LLM防护, 请求拦截, 逆向工具