Bearer/bearer

GitHub: Bearer/bearer

一款专注于敏感数据流分析与隐私合规的静态应用程序安全测试(SAST)工具。

Stars: 2590 | Forks: 143

Cygives Banner

Bearer

Scan your source code against top security and privacy risks.

Bearer is a static application security testing (SAST) tool designed to scan your source code and analyze data flows to identify, filter, and prioritize security and privacy risks.

Bearer offers a free, open solution, Bearer CLI, and a commercial solution, Bearer Pro, available through Cycode.

[入门指南](#rocket-getting-started) - [常见问题](#question-faqs) - [文档](https://docs.bearer.com) - [报告 Bug](https://github.com/Bearer/bearer/issues/new/choose) [![GitHub Release](https://img.shields.io/github/release/Bearer/bearer.svg?logo=github)][release] [![Test](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/1708533c50021902.svg)][test] [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](CODE_OF_CONDUCT.md)
## 语言支持 **Bearer CLI (开源版)**: Go • Java • JavaScript • TypeScript • PHP • Python • Ruby **Cycode 出品的 Bearer Pro**: *包含所有 Bearer CLI 语言,另加:* - **高级跨文件分析**: Java • Python • C# _(alpha)_ - **额外语言**: C# • Kotlin • Elixir • VB.Net 了解更多关于语言支持的信息 ## 面向开发者的安全与隐私静态代码分析 Bearer CLI 扫描您的源代码以检测: - **安全风险和漏洞**,使用涵盖 [OWASP Top 10](https://owasp.org/www-project-top-ten/) 和 [CWE Top 25](https://cwe.mitre.org/top25/archive/2023/2023_top25_list.html) 的[内置规则](https://docs.bearer.com/reference/rules/),例如: - A01: 访问控制(例如:路径遍历、开放重定向、敏感信息泄露)。 - A02: 加密失败(例如:弱算法、不安全通信)。 - A03: 注入(例如:SQL 注入、输入验证、XSS、XPath)。 - A04: 设计缺陷(例如:敏感数据缺失加密、包含敏感信息的持久性 Cookie)。 - A05: 安全配置错误(例如:在 Cookie 或 JWT 中明文存储敏感信息)。 - A07: 身份识别和身份验证失败(例如:使用硬编码密码、证书验证不当)。 - A08: 数据完整性失败(例如:不受信任数据的反序列化)。 - A09: 安全日志记录和监控失败(例如:将敏感信息插入日志文件)。 - A10: 服务端请求伪造 (SSRF)。 *注意:所有规则及其代码模式均可通过[文档](https://docs.bearer.com/reference/rules/)访问。* - **隐私风险**,具备检测[敏感数据流](https://docs.bearer.com/explanations/discovery-and-classification/)的能力,例如应用程序中 PII、PHI 的使用,以及处理敏感数据的[组件](https://docs.bearer.com/reference/recipes/)(例如:像 pgSQL 这样的数据库,像 OpenAI、Sentry 等第三方 API)。这有助于生成相关的[隐私报告](https://docs.bearer.com/guides/privacy/),适用于: - 隐私影响评估 (PIA)。 - 数据保护影响评估 (DPIA)。 - 用于 GDPR 合规性报告的处理活动记录 输入。 ## :rocket: 入门指南 只需几分钟即可发现您最关键的安全风险和漏洞。在本指南中,您将安装 Bearer CLI,在本地项目上运行安全扫描,并查看结果。让我们开始吧! ### 安装 Bearer CLI 安装 Bearer CLI 最快的方法是使用安装脚本。它会自动为您的架构选择最佳构建版本。*默认安装到 `./bin` 并为最新发布版本*: ``` curl -sfL https://raw.githubusercontent.com/Bearer/bearer/main/contrib/install.sh | sh ``` #### 其他安装选项
Homebrew 使用 [Bearer CLI 官方 Homebrew tap](https://github.com/Bearer/homebrew-tap): ``` brew install bearer/tap/bearer ``` 使用以下命令更新现有安装: ``` brew update && brew upgrade bearer/tap/bearer ```
Debian/Ubuntu ``` sudo apt-get update && sudo apt-get install ca-certificates -y && sudo update-ca-certificates sudo apt-get install apt-transport-https echo -e "Types: deb\nURIs: https://apt.fury.io/bearer/\nSuites: /\nTrusted: yes" | sudo tee /etc/apt/sources.list.d/fury.sources sudo apt-get update sudo apt-get install bearer ``` 使用以下命令更新现有安装: ``` sudo apt-get update sudo apt-get install bearer ```
RHEL/CentOS 添加仓库设置: ``` $ sudo vim /etc/yum.repos.d/fury.repo [fury] name=Gemfury Private Repo baseurl=https://yum.fury.io/bearer/ enabled=1 gpgcheck=0 ``` 然后使用 yum 安装: ``` sudo yum -y update sudo yum -y install bearer ``` 使用以下命令更新现有安装: ``` sudo yum -y update bearer ```
Docker Bearer CLI 也以 Docker 镜像形式在 [Docker Hub](https://hub.docker.com/r/bearer/bearer) 和 [ghcr.io](https://github.com/bearer/bearer/pkgs/container/bearer) 上提供。 安装 docker 后,您可以运行以下命令,用适当的路径替换示例。 ``` docker run --rm -v /path/to/repo:/tmp/scan bearer/bearer:latest-amd64 scan /tmp/scan ``` 此外,您可以使用 docker compose。将以下内容添加到您的 `docker-compose.yml` 文件中,并将卷替换为适合您项目的路径: ``` version: "3" services: bearer: platform: linux/amd64 image: bearer/bearer:latest-amd64 volumes: - /path/to/repo:/tmp/scan ``` 然后,运行 `docker compose run` 命令以运行带有任何指定标志的 Bearer CLI: ``` docker compose run bearer scan /tmp/scan --debug ``` 上述 Docker 配置将始终使用最新版本。
二进制文件 从[此处](https://github.com/Bearer/bearer/releases/latest/)下载适用于您的操作系统/架构的归档文件。 解压归档,并将二进制文件放在您的 $PATH 中的某个位置(在 UNIX 系统上,如 /usr/local/bin 等)。确保它具有执行权限。 使用二进制文件更新 Bearer CLI 时,请下载最新版本并覆盖您现有的安装位置。

### 扫描您的项目 试用 Bearer CLI 最简单的方法是使用 OWASP [Juice Shop](https://github.com/juice-shop/juice-shop) 示例项目。它模拟了一个具有常见安全缺陷的真实 JavaScript 应用程序。将其克隆或下载到方便的位置即可开始。 ``` git clone https://github.com/juice-shop/juice-shop.git ``` 现在,在项目目录上使用 `bearer scan` 运行扫描命令: ``` bearer scan juice-shop ``` 进度条将显示扫描状态。 扫描完成后,Bearer CLI 将默认输出一份安全报告,其中包含任何规则发现的详细信息,以及违规行为在代码库中发生的位置和原因。 默认情况下,`scan` 命令使用 SAST 扫描器,其他[扫描器类型](https://docs.bearer.com/explanations/scanners)也可用。 ### 分析报告 安全报告是 Bearer CLI 检测到的安全问题的直观视图。报告由以下部分组成: - 针对您的代码运行的[规则](https://docs.bearer.com/reference/rules/)列表。 - 每个检测到的发现,包含触发规则发现的文件位置和行。 - 统计部分,包含规则检查、发现和警告的摘要。 [OWASP Juice Shop](https://github.com/juice-shop/juice-shop) 示例应用程序将触发规则发现并输出完整报告。以下是输出的一部分: ``` ... HIGH: Sensitive data stored in HTML local storage detected. [CWE-312] https://docs.bearer.com/reference/rules/javascript_lang_session To skip this rule, use the flag --skip-rule=javascript_lang_session File: juice-shop/frontend/src/app/login/login.component.ts:102 102 localStorage.setItem('email', this.user.email) ===================================== 59 checks, 40 findings CRITICAL: 0 HIGH: 16 (CWE-22, CWE-312, CWE-798, CWE-89) MEDIUM: 24 (CWE-327, CWE-548, CWE-79) LOW: 0 WARNING: 0 ``` 除了安全报告,您还可以运行[隐私报告](https://docs.bearer.com/explanations/reports/#privacy-report)。 准备好进行下一步了吗?关于使用和配置 `scan` 命令的更多选项可以在[配置扫描命令](https://docs.bearer.com/guides/configure-scan/)中找到。 欲了解更多指南和使用技巧,请[查看文档](https://docs.bearer.com/)。 ## :question: 常见问题解答 ### Bearer CLI 与其他 SAST 工具有何不同? SAST 工具众所周知会将安全团队和开发者淹没在数百个问题中,这些问题缺乏上下文且没有优先级,通常需要安全分析师手动对问题进行分类。 如今最脆弱的资产是敏感数据,因此我们从那里开始,通过评估敏感数据流来[确定](https://github.com/Bearer/bearer/issues/728)发现的优先级,以突出哪些更关键,哪些不关键。这种独特的能力使我们能够为您提供隐私扫描器。 我们相信,通过将安全问题与明确的业务影响以及数据泄露或数据泄漏的风险联系起来,我们可以构建更好、更健壮的软件,而无需额外成本。 此外,通过免费开源、设计可扩展以及注重卓越的开发者体验,我们打赌您会亲自体验到其中的差异。 ### 什么是隐私扫描器? 除了检测代码中的安全缺陷外,Bearer CLI 还允许您自动执行为合规团队生成隐私报告所需的证据收集过程。 当您在代码库上运行 Bearer CLI 时,它通过识别源代码中的模式来发现和分类数据。具体来说,它查找数据类型并进行匹配。最重要的是,它从不查看实际值——它也无法做到——只查看代码本身。如果您想了解更多,这里有[更长的解释](https://docs.bearer.com/explanations/discovery-and-classification/)。 Bearer CLI 能够从敏感数据类别中识别 120 多种数据类型,例如个人数据 (PD)、敏感 PD、个人身份信息 (PII) 和个人健康信息 (PHI)。您可以在[支持的数据类型文档](https://docs.bearer.com/reference/datatypes/)中查看完整列表。 最后,Bearer CLI 还允许您检测存储和处理敏感数据的组件,例如数据库、内部 API 和第三方 API。请参阅[配方列表](https://docs.bearer.com/reference/recipes/)以获取完整的组件列表。 ### 支持的语言 [了解更多](https://docs.bearer.com/reference/supported-languages/)关于语言支持的信息。 ### 扫描我的代码需要多长时间?速度快吗? 这取决于您的应用程序的大小。对于极大的代码库,可能只需 20 秒,也可能长达几分钟。 根据经验,Bearer CLI 耗时不应超过运行您的测试套件的时间。 在 CI 集成的情况下,我们提供差异扫描解决方案以使其更快。[了解更多](https://docs.bearer.com/guides/configure-scan/#only-report-new-findings-on-a-branch)。 ### 误报怎么办? 如果您熟悉 SAST 工具,误报总是有可能的。 通过使用最现代的静态代码分析技术,并针对最重要的问题提供本机过滤和优先级排序解决方案,我们相信我们已经显着改善了整体 SAST 体验。 我们致力于为用户提供最佳体验。[了解更多](https://docs.bearer.com/reference/supported-languages/#how-do-we-evaluate-language-support%3F)关于我们如何实现这一目标的信息。 ### 何时何地使用 Bearer CLI? 我们建议在您的 CI 中运行 Bearer CLI 以自动检查新 PR 是否存在安全问题,以便您的开发团队拥有直接的反馈循环来立即修复问题。 您也可以将 Bearer CLI 集成到您的 CD 中,尽管我们建议将其设置为仅在出现高严重性问题时才失败,因为这对您组织的影响可能很大。 此外,将 Bearer CLI 作为计划作业运行是跟踪安全态势并确保即使在对活动较低的项目中也能发现新安全问题的好方法。 请务必阅读我们的[集成策略指南](https://docs.bearer.com/guides/integration-strategy/)以获取更多信息。 ## 你们是否支持过程间和文件间分析? 是的,Bearer Pro 支持过程间和文件间分析,目前 Java 具有完整功能,并正在积极扩展到其他主要支持的语言。这种高级分析允许 Bearer Pro 在整个代码库中跨函数和文件边界跟踪数据流和控制流。这对于准确识别依赖于不同代码组件交互的复杂漏洞至关重要,与局限于单个函数或文件的分析相比,显着减少了误报。 Bearer Pro 针对 Java 的过程间和文件间分析在 OWASP Java Benchmark 上展示了强劲的结果,得分为 76%,报告的误报率低于 2%。 ## :raised_hand: 联系我们 感谢使用 Bearer CLI。还有疑问吗? - 从[文档](https://docs.bearer.com)开始。 - 有功能请求或发现了 Bug?[打开一个新 issue](https://github.com/Bearer/bearer/issues/new/choose)。 - 发现了安全问题?查看我们的[安全政策](https://github.com/Bearer/bearer/security/policy)以获取报告详细信息。 - 在 [Bearer.com](https://www.bearer.com) 了解更多 ## :handshake: 贡献 有兴趣贡献吗?我们非常欢迎!有关如何贡献、设置开发环境以及我们流程的详细信息,请查看[贡献指南](CONTRIBUTING.md)。 ## :rotating_light: 行为准则 与本项目的每个人都应遵守我们的[行为准则](CODE_OF_CONDUCT.md)准则。 ## :shield: 安全 要报告漏洞或疑似漏洞,[请参阅我们的安全政策](https://github.com/Bearer/bearer/security/policy)。如有任何问题、疑虑或其他安全事项,请随时[打开一个 issue](https://github.com/Bearer/bearer/issues/new/choose)。 ## :mortar_board: 许可证 Bearer CLI 代码根据 [Elastic License 2.0](LICENSE.txt) (ELv2) 的条款授权,这意味着您可以在组织内部自由使用它来保护您的应用程序,而无需任何商业要求。 未经 Bearer Inc. 明确批准,您不得将 Bearer CLI 作为托管或托管服务提供给第三方。
标签:Bearer CLI, CISA项目, Cycode, DevSecOps, EVTX分析, IP 地址批量处理, JS文件枚举, LNA, SAST, 上游代理, 代码安全扫描, 多语言支持, 安全专业人员, 安全左移, 安全测试框架, 安全漏洞检测, 开发者安全, 开源安全工具, 敏感数据发现, 数据可视化, 日志审计, 源代码分析, 盲注攻击, 请求拦截, 跨文件分析, 逆向工具, 逆向工程平台, 隐私合规, 风险优先级排序