mohamedfhafah/supply-chain-security-lab

GitHub: mohamedfhafah/supply-chain-security-lab

一个 Java 供应链安全教学实验室,演示如何通过 Maven 流程集成自动化测试、覆盖率分析、SBOM 生成与依赖漏洞扫描。

Stars: 0 | Forks: 0

# 供应链安全实验室 专注于软件供应链卫生的 Java 安全工程实验室:自动化测试、覆盖率分析、SBOM 生成和依赖扫描。 ## 本仓库演示内容 - Maven 工作流中的 JUnit 5 测试执行 - 打包期间的 JaCoCo 覆盖率收集 - 以 XML 和 JSON 格式生成 CycloneDX SBOM - 集成 OWASP Dependency-Check 以进行依赖风险审查 ## 技术栈 - Java 21 - Maven - JUnit 5 - JaCoCo - CycloneDX Maven Plugin - OWASP Dependency-Check ## 常用文件 - `pom.xml`:构建和安全工具配置 - `Réponse.md`:课程作业的书面分析 - `conf/settings.xml`:实验室中使用的本地 Maven 设置 ## 构建和测试 ``` mvn clean test package ``` 在 macOS 上,Maven 可能需要显式的 JDK 路径: ``` export JAVA_HOME=$(/usr/libexec/java_home) mvn clean test package ``` ## 生成 SBOM ``` mvn cyclonedx:makeAggregateBom ``` 预期输出包括: - `target/bom.xml` - `target/bom.json` ## 依赖扫描 要进行由 NVD 支持的完整依赖检查: ``` export NVD_API_KEY= mvn dependency-check:check ``` ## 验证 对公开仓库最快的置信度检查是: ``` export JAVA_HOME=$(/usr/libexec/java_home) mvn -q test ``` ## 注意事项 - 本仓库作为面向作品集的安全实验室保持公开,而不是作为可复用的生产组件。 - 部分生成的报告被有意保留作为课程作业的产物。
标签:CycloneDX, DevSecOps, JaCoCo, JUnit 5, LLM防护, Maven, NVD, OWASP Dependency-Check, SBOM生成, 上游代理, 代码覆盖率, 供应链卫生, 依赖扫描, 后端开发, 安全实验室, 安全工程, 安全课程, 教学项目, 文档安全, 模型提供商, 漏洞验证, 组件分析, 软件供应链安全, 远程方法调用