
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許可證的條款提供開源。