Korext/supply-chain-attestation

GitHub: Korext/supply-chain-attestation

一款聚焦 AI 编写代码比例的供应链证明工具,扩展 CycloneDX 与 SPDX 以量化并治理依赖树中的 AI 来源。

Stars: 4 | Forks: 1

# 供应链证明 AI 来源覆盖整个依赖树。十四种生态系统。SBOM 集成。私有注册表支持。 [![License: Code](https://img.shields.io/badge/code-Apache%202.0-blue)](LICENSE) [![License: Spec](https://img.shields.io/badge/spec-CC0%201.0-green)](LICENSE-SPEC) [![npm](https://img.shields.io/npm/v/@korext/supply-check)](https://www.npmjs.com/package/@korext/supply-check) 你了解漏洞得益于 Snyk 和 Dependabot。你了解许可证得益于 FOSSA。但你不知道你的软件供应链中有多少比例是借助 AI 协助编写的。 供应链证明(Supply Chain Attestation)在十四种包生态系统中回答这一问题,与 CycloneDX 和 SPDX 集成,并支持私有注册表以用于企业部署。 ## 快速开始 \`\`\`bash npx @korext/supply-check scan \`\`\` ## 支持的生态系统(14 种) | 生态系统 | 清单文件 | 锁定文件 | |-----------|----------|----------| | npm | package.json | package-lock.json, yarn.lock | | PyPI | pyproject.toml, requirements.txt, setup.py | poetry.lock, Pipfile.lock | | Cargo | Cargo.toml | Cargo.lock | | Go Modules | go.mod | go.sum | | RubyGems | Gemfile | Gemfile.lock | | Maven | pom.xml, build.gradle | pom.xml resolution | | NuGet | .csproj, packages.config | .csproj PackageReference | | Composer | composer.json | composer.lock | | Swift PM | Package.swift | Package.resolved | | CocoaPods | Podfile | Podfile.lock | | Pub | pubspec.yaml | pubspec.lock | | Hex | mix.exs | mix.lock | | CPAN | cpanfile, META.json | cpanfile.snapshot | | Conda | environment.yml | conda-lock.yml | ## 示例输出 \`\`\` Supply Chain Attestation Ecosystem: npm Dependencies: 847 total, 823 scanned AI Coverage: 127 dependencies (15.4%) Weighted AI Percentage: 28.3% Governance Distribution: ATTESTED: 12 dependencies SCANNED: 89 dependencies UNGOVERNED: 722 dependencies NO_ATTESTATION: 24 dependencies High Risk Dependencies: 3 some-small-lib@2.0.0: 89% AI, ungoverned another-lib@1.2.3: 65% AI, ungoverned one-more@0.9.0: 72% AI, no attestation \`\`\` ## 三种证明来源 1. **包(Package)**:依赖的发布工件包含 `.ai-attestation.yaml` 2. **注册表(Registry)**:托管在 `oss.korext.com/registry/` 的数据(自动化扫描 + 维护者提交) 3. **仓库(Repository)**:依赖的源代码仓库包含 `.ai-attestation.yaml` 优先级:包 > 注册表 > 仓库 ## 命令 | 命令 | 描述 | |---------|-------------| | \`scan\` | 扫描依赖树 | | \`report\` | 打印详细报告 | | \`registry\` | 查询注册表 | | \`publish\` | 发布证明(维护者) | | \`check\` | CI 的策略门控 | | \`sbom\` | 导出 CycloneDX 或 SPDX | ## SBOM 集成 \`\`\`bash npx @korext/supply-check sbom --format cyclonedx > sbom.json npx @korext/supply-check sbom --format spdx > sbom.spdx.json \`\`\` AI 数据通过标准扩展机制嵌入: - CycloneDX 1.6:带有 `korext:` 命名空间的 `properties` 数组 - SPDX 2.3:带有 `korext:` 属性的 `annotations` 兼容任何 SBOM 消费者。 ## CI/CD \`\`\`yaml - uses: korext/supply-chain-attestation/action@v1 with: max-ai-percentage: 40 max-high-risk: 5 block-ungoverned-ai: true require-attested-for: "*payment*" sbom-output: cyclonedx \`\`\` ## 私有注册表(企业) 运行你自己的注册表以用于内部包或镜像公共注册表。 四种存储后端:Cloud Storage、S3、Azure Blob、本地文件系统。 认证:OAuth、SAML 或 API 令牌。 部署:Docker、Kubernetes 或 Docker Compose 清单包含在内。 详见 [PRIVATE-REGISTRY.md](docs/PRIVATE-REGISTRY.md)。 ## 针对包维护者 \`\`\`bash npx @korext/ai-attestation init npx @korext/supply-check publish \`\`\` 添加徽标: \`\`\`markdown [![AI Attestation](https://oss.korext.com/api/supply-chain/badge/npm/YOUR-PACKAGE)](https://oss.korext.com/supply-chain/registry/npm/YOUR-PACKAGE) \`\`\` ## 与之互补的工具 - **SBOM 工具**(CycloneDX、SPDX):通过标准扩展添加 AI 数据 - **漏洞扫描器**(Snyk、Dependabot):关注点不同 - **许可证检查器**(FOSSA):关注点不同 - **构建溯源**(Sigstore、SLSA):关注点不同 ## 规范 详见 [SPEC.md](SPEC.md)。CC0 1.0(公共领域)。 ## 先驱工作 详见 [PRIOR_ART.md](PRIOR_ART.md)。 ## 构建方 [Korext](https://korext.com) 构建 AI 代码治理工具。
标签:AI 溯源, AI 贡献度, AI 辅助开发, Cargo, CLI 工具, CocoaPods, Composer, Conda, CPAN, CycloneDX, GNU通用公共许可证, Go, Go Modules, Hex, Maven, MITM代理, Node.js, npm, NuGet, Pub, PyPI, Python, Ruby, RubyGems, Ruby工具, Rust, SBOM, SPDX, Swift PM, 代码来源, 企业级安全, 供应链证明, 依赖审计, 依赖树, 依赖治理, 包生态系统, 子域名突变, 开源合规, 开源治理, 开源许可证, 无后门, 漏洞验证, 知识库, 硬件无关, 私有 registry, 网络流量审计, 自定义脚本, 许可证合规, 请求拦截, 跌倒检测, 软件供应链, 软件物料清单, 逆向工具