
Salus(作为轻量级通用扫描仪的安全自动化)以罗马保护女神的名字命名,是协调安全扫描仪执行的工具。您可以通过Docker守护程序在存储库上运行Salus,它将确定哪些扫描仪相关,运行它们并提供输出。大多数扫描仪是其他成熟的开源项目,我们直接包含在容器中。
Salus对于CI/CD管道特别有用,因为它成为在大量存储库中进行协调扫描的集中式场所。通常,在每个项目的存储库级别配置扫描仪。这意味着,在对扫描仪的运行方式进行大规模更改时,必须更新每个存储库。相反,您可以更新Salus,所有构建将立即继承更改。
Salus支持强大的配置,允许进行全局默认和本地调整。最后,Salus可以在每个存储库上报告指标,例如包含哪些软件包或存在哪些问题。这些报告可以在您的基础架构中进行集中评估,以允许进行可扩展的安全跟踪。
# Navigate to the root directory of the project you want to run Salus on
cd /path/to/repo
# Run the following line while in the root directory (No edits necessary)
docker run --rm -t -v $( pwd ) :/home/repo coinbase/salussemgrep 1.0.0,它在AST级别寻找代码中的语义和句法模式。npm audit 6.14.8的执行。yarn audit 1.22.0的执行。sift 0.9.0的执行,寻找可能危险或可能需要某些字符串的项目中的某些字符串。TruffleHog 3.19.0,寻找泄漏的凭据。Salus还解析了依赖性文件和报告使用了哪些库和版本。这对于跟踪舰队的依赖项可能很有用。
目前支持的语言是:
Salus设计为高度可配置的,因此它可以在许多不同类型的环境中和许多不同的扫描仪中工作。它支持环境变量插值和级联配置,并且可以通过HTTP读取配置和发布报告。
有时,有必要忽略某些CVE,规则,测试,组,目录,或以其他方式修改扫描仪的默认配置。文档/扫描仪目录解释了Salus支持的每个扫描仪如何这样做。
如果您想构建自定义扫描仪或支持当前不支持的更多语言,则可以使用这种构建自定义Salus图像的方法。
可以通过使用公共球体将萨卢斯与Circleci集成。支持所有Salus配置选项,默认值与Salus本身相同。
示例Circleci config.yml :
version: 2.1
orbs:
salus: federacy/[email protected]
workflows:
main:
jobs:
- salus/scan
ORB文档
Salus也可以与GitHub动作一起使用。
示例.github/workflows/main.yml :
on: [push]
jobs:
salus_scan_job:
runs-on: ubuntu-latest
name: Salus Security Scan Example
steps:
- uses: actions/checkout@v1
- name: Salus Scan
id: salus_scan
uses: federacy/[email protected]
GitHub动作文档
对于您给定的CI,请更新配置文件以运行salus。在圆圈中,看起来像这样:
docker run --rm -t -v $( pwd ) :/home/repo coinbase/salusCoinbase/Salus拉出Docker Image
对这个项目的贡献非常受欢迎,这是我们衷心的希望,即我们到目前为止所做的工作仅是允许整个安全/发展社区共同提高每个人基础架构的安全性的基础。
您可以阅读有关建立开发环境或Salus架构的更多信息。
您还可以找到为Salus添加新扫描仪的步骤
该项目可根据Apache 2.0许可证的条款提供开源。