Bearer是一款功能强大的代码安全扫描工具(SAST),可以帮助广大研究人员发现并过滤目标应用代码中存在的安全问题和隐私风险,并确定安全问题的优先级。
当前版本的Bearer支持扫描JavaScript、TypeScript和Ruby技术栈实现的应用程序,针对Java应用的支持目前仍在开发过程中。
当前版本的Bearer命令行接口支持扫描下列内容:
1、未过滤的用户输入(sql注入、路径遍历等);
2、通过Cookie、内部记录器、第三方日志记录服务和分析环境泄露的敏感数据;
3、使用弱加密库或滥用加密算法;
4、敏感数据的未加密传入和传出通信(HTTP、FTP、SMTP);
5、硬编码的秘密和令牌;
安装Bearer命令行接口最简单的方式就是直接食用工具安装脚本,脚本会自动选择最合适的架构并编译代码,默认安装目录问./bin:
curl -sfL https://raw.githubusercontent.com/Bearer/bearer/main/contrib/install.sh | sh
brew install bearer/tap/bearer
brew update && brew upgrade bearer/tap/bearer
sudo apt-get install apt-transport-https
echo "deb [trusted=yes] https://apt.fury.io/bearer/ /" | sudo tee -a /etc/apt/sources.list.d/fury.list
sudo apt-get update
sudo apt-get install bearer
使用Bearer命令行接口最简单的方法就是结合OWASP Juice Shop样例项目一起使用,该项目模拟了真实场景下包含了常见安全漏洞的JavaScript项目,具体操作如下,先将该项目源码克隆至本地:
git clone https://github.com/juice-shop/juice-shop.git
(向右滑动,查看更多)
然后针对项目目录运行bearer scan命令:
bearer scan juice-shop
扫描完成后,Bearer将会输出扫描结果,并生成详细的安全分析报告。
工具生成的安全报告由以下几个部分组成:
1、针对目标代码运行的规则列表;
2、每一个发现的结果中,包含了文件路径和触发规则的代码行;
3、包含规则检查、发现和警告信息概览;
OWASP 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)
=====================================
WARNING: 0
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
视频地址:
https://user-images.githubusercontent.com/1649672/230438696-9bb0fd35-2aa9-4273-9970-733189d01ff1.mp4
本项目的开发与发布遵循Elastic License 2.0开源许可证协议。
Bearer:https://github.com/Bearer/bearer