安全扫描器 API
Bun 的包管理器可以在安装软件包之前扫描它们,以捕获供应链攻击和已知漏洞。
快速开始
在您的 bunfig.toml 中配置安全扫描器:
bunfig.toml
[install.security]
scanner = "@oven/bun-security-scanner" # 示例名称,请替换为您扫描器的包名
配置扫描器后,Bun 将:
- 在安装前扫描所有软件包
- 显示安全警告和公告
- 如果扫描器发现致命公告,则取消安装
工作原理
安全扫描器会在执行 bun install、bun add 及其他包操作时分析包。它们可以检测:
- 已知安全漏洞(CVE)
- 恶意包
- 许可证合规问题
安全级别
扫描器报告两种严重等级的问题:
fatal- 立即停止安装,返回非零退出码warn- 在交互式终端中提示是否继续;在 CI 环境中立即退出
使用预构建扫描器
安全公司会将 Bun 安全扫描器作为 npm 包发布。
安装扫描器
从 npm 安装安全扫描器:
terminal
bun add -d @oven/bun-security-scanner
配置扫描器
安装后,在您的 bunfig.toml 中进行配置:
bunfig.toml
[install.security]
scanner = "@oven/bun-security-scanner" # 示例名称,请替换为您扫描器的包名
企业配置
一些企业级扫描器通过环境变量获取身份验证信息和其他配置:
terminal
# 例如可以放在 ~/.bashrc 中
export SECURITY_API_KEY="your-api-key"
# 扫描器会自动使用这些凭证
bun install
请查阅扫描器的文档,了解需要设置的环境变量以及其他必需的配置。
自定义扫描器开发
完整的示例(含测试和 CI 配置)请查看官方模板: github.com/oven-sh/security-scanner-template。