在 GitHub Actions 或 GitLab CI 中用 npm publish --provenance 发布(使用可信发布时会自动启用)时,会生成一份 in-toto 证明,该证明用为工作流身份签发的 Sigstore 证书签名,并记录到 Rekor 中;注册表会保存这份证明并显示来源证明徽章。npm audit signatures 会验证已安装包的注册表签名和来源证明。
来源证明只适用于从公开仓库构建的公开包。它不能为代码本身担保,被攻破的工作流仍然会生成有效的来源证明;但它能阻止他人用窃取的令牌从别处发布“带来源证明”的版本。npm 来源证明检测工具可以显示某个包版本的证明及其来源。