用途
Bearer CLI 是一款开源的静态代码安全分析工具(SAST),目标是发现、过滤并优先处理代码中的安全与隐私风险。与仅罗列大量问题的传统 SAST 工具不同,Bearer CLI 以敏感数据为核心,通过评估敏感数据流来判断哪些问题更关键,从而减少人工分诊负担。
主要能力
安全风险检测
Bearer CLI 使用内置规则扫描源代码,规则覆盖 OWASP Top 10 和 CWE Top 25,例如:
- A01 访问控制(如路径遍历、开放重定向、敏感信息暴露)
- A02 加密失败(如弱算法、不安全通信)
- A03 注入(如 SQL 注入、输入验证、XSS、XPath)
- A04 设计(如敏感数据缺少加密、包含敏感信息的持久 Cookie)
- A05 安全配置错误(如 Cookie 或 JWT 中明文存储敏感信息)
- A07 身份与认证失败(如硬编码密码、证书验证不当)
- A08 数据完整性失败(如不可信数据反序列化)
- A09 安全日志与监控失败(如向日志文件插入敏感信息)
- A10 服务端请求伪造(SSRF) 所有规则及其代码模式均可在文档中查看。
隐私风险检测
Bearer CLI 能检测敏感数据流,识别应用中的 PII、PHI 等个人信息,以及处理敏感数据的组件(如 pgSQL 等数据库、OpenAI、Sentry 等第三方 API)。这有助于生成用于隐私影响评估(PIA)、数据保护影响评估(DPIA)以及 GDPR 合规报告所需的处理活动记录(RoPA)输入。它可识别 Personal Data(PD)、Sensitive PD、PII、PHI 等敏感数据类别下超过 120 种数据类型。扫描时仅分析源代码模式,不查看实际数据值。
语言支持
Bearer CLI 开源版支持 Go、Java、JavaScript、TypeScript、PHP、Python、Ruby。Bearer Pro by Cycode 在此基础上增加高级跨文件分析(Java、Python、C#、Go)以及 C#、Kotlin、Elixir、VB.Net、Rust、Swift 等语言。
扫描速度与误报
扫描时间取决于应用规模,可能短至 20 秒,大型代码库可能需要几分钟;通常不会超过运行测试套件的时间。CI 集成时提供 diff 扫描以提升速度。Bearer CLI 采用现代静态代码分析技术,并提供原生过滤与优先级排序;Bearer Pro 的跨过程、跨文件分析在 OWASP Java Benchmark 上取得 76% 的分数,报告误报率低于 2%。
使用方式
安装
- 安装脚本:自动选择适合架构的构建版本,默认安装到 ./bin 并获取最新发布版。
- Homebrew 官方 tap:可使用 brew 安装与更新。
- Docker:提供 Docker Hub 与 ghcr.io 镜像,也可通过 docker compose 使用。
- 二进制包:从发布页面下载对应操作系统/架构的压缩包,解压后将二进制放入 $PATH(如 /usr/local/bin)并确保可执行权限;更新时下载最新版覆盖原位置。
运行扫描
在项目目录运行 bearer scan 命令。默认使用 SAST 扫描器,也可使用其他扫描器类型。扫描完成后默认输出安全报告,包含规则列表、每个发现的文件位置与触发行、以及规则检查/发现/警告的统计摘要。此外还可运行隐私报告。
集成建议
官方建议在 CI 中运行 Bearer CLI 以自动检查新 PR 的安全问题,形成即时反馈;也可集成到 CD,但建议仅在高严重性问题时失败;还可作为计划任务运行,持续跟踪安全态势。
适用场景
- 开发团队在本地或 CI/CD 中自动检查代码安全与隐私风险。
- 需要为 GDPR 合规准备 PIA、DPIA、RoPA 材料的隐私与合规团队。
- 使用敏感数据、需要追踪数据流与处理组件的应用项目。
限制
- 开源版 Bearer CLI 不支持跨过程与跨文件分析,该能力属于 Bearer Pro。
- 开源版语言支持范围有限,C#、Kotlin、Elixir、VB.Net、Rust、Swift 等仅在 Pro 版本提供。
- 代码采用 Elastic License 2.0(ELv2),可在组织内部免费使用,但未经 Bearer Inc. 明确批准,不得将 Bearer CLI 作为托管或管理服务提供给第三方。
- 具体收费、价格与平台信息暂未提供。