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生成, 上游代理, 代码覆盖率, 供应链卫生, 依赖扫描, 后端开发, 安全实验室, 安全工程, 安全课程, 教学项目, 文档安全, 模型提供商, 漏洞验证, 组件分析, 软件供应链安全, 远程方法调用