> ## Documentation Index
> Fetch the complete documentation index at: https://bun.ll1025.cn/llms.txt
> Use this file to discover all available pages before exploring further.

# 安全扫描器 API

Bun 的包管理器可以在安装包之前扫描它们，以检测供应链攻击和已知漏洞。

***

## 快速入门

在你的 `bunfig.toml` 中配置安全扫描器：

```toml bunfig.toml icon="settings" theme={null}
[install.security]
scanner = "@oven/bun-security-scanner" # 示例名称，替换为你的扫描器包
```

配置了扫描器后，Bun 会：

* 在安装前扫描所有包
* 显示安全警告和建议
* 如果发现致命建议，则取消安装

***

## 工作原理

安全扫描器在 `bun install`、`bun add` 和其他包操作期间分析包。它们可以检测：

* 已知安全漏洞（CVE）
* 恶意包
* 许可证合规问题

### 安全级别

扫描器以两个严重级别报告问题：

* **`fatal`（致命）** - 安装立即停止，退出码非零
* **`warn`（警告）** - 在交互式终端中，提示是否继续；在 CI 中，立即退出

***

## 使用预构建的扫描器

安全公司发布 Bun 安全扫描器作为 npm 包。

### 安装扫描器

从 npm 安装安全扫描器：

```bash terminal icon="terminal" theme={null}
bun add -d @oven/bun-security-scanner
```

<Note>
  `@oven/bun-security-scanner` 是一个示例包名，不是真实的包。请将其替换为你要使用的扫描器，并查阅该扫描器的文档以获取确切的包名和安装说明。大多数扫描器使用 `bun add` 安装。
</Note>

### 配置扫描器

安装后，在 `bunfig.toml` 中配置它：

```toml bunfig.toml icon="settings" theme={null}
[install.security]
scanner = "@oven/bun-security-scanner" # 示例名称，替换为你的扫描器包
```

### 企业配置

一些企业扫描器从环境变量中获取认证信息和其他配置：

```bash terminal icon="terminal" theme={null}
# 例如，这可能需要放在 ~/.bashrc 中
export SECURITY_API_KEY="your-api-key"

# 扫描器现在会自动使用这些凭证
bun install
```

请查阅你的扫描器文档，了解要设置哪些环境变量以及任何其他必需的配置。

### 编写你自己的扫描器

有关包含测试和 CI 设置的完整示例，请参阅官方模板：
[github.com/oven-sh/security-scanner-template](https://github.com/oven-sh/security-scanner-template)

## 相关

* [配置（bunfig.toml）](/runtime/bunfig#install-security-scanner)
* [包管理器](/installation)
* [安全扫描器模板](https://github.com/oven-sh/security-scanner-template)
