
Salus (การรักษาความปลอดภัยอัตโนมัติเป็นสแกนเนอร์สากลที่มีน้ำหนักเบา) ตั้งชื่อตามเทพีแห่งการคุ้มครองโรมันเป็นเครื่องมือในการประสานงานการดำเนินการสแกนเครื่องสแกนความปลอดภัย คุณสามารถเรียกใช้ Salus บนที่เก็บผ่าน Docker Daemon และมันจะเป็นตัวกำหนดว่าสแกนเนอร์ใดที่เกี่ยวข้องใช้งานและให้เอาต์พุต สแกนเนอร์ส่วนใหญ่เป็นโครงการโอเพนซอร์สที่ครบกำหนดอื่น ๆ ซึ่งเรารวมอยู่ในคอนเทนเนอร์โดยตรง
Salus มีประโยชน์อย่างยิ่งสำหรับท่อส่ง CI/CD เพราะมันกลายเป็นสถานที่ส่วนกลางในการประสานงานการสแกนข้ามกองที่เก็บขนาดใหญ่ โดยทั่วไปแล้วสแกนเนอร์จะถูกกำหนดค่าที่ระดับที่เก็บสำหรับแต่ละโครงการ ซึ่งหมายความว่าเมื่อทำการเปลี่ยนแปลงอย่างกว้างขวางเกี่ยวกับวิธีการเรียกใช้สแกนเนอร์แต่ละที่เก็บจะต้องได้รับการปรับปรุง แต่คุณสามารถอัปเดต Salus และ Builds ทั้งหมดจะสืบทอดการเปลี่ยนแปลงทันที
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 ซึ่งมองหารูปแบบความหมายและ syntactical ในรหัสในระดับ ASTnpm audit 6.14.8 ซึ่งค้นหา CVES ในการพึ่งพาโมดูลโหนดyarn audit 1.22.0 ซึ่งมองหา CVES ในการพึ่งพาโมดูลโหนดsift 0.9.0 มองหาสตริงบางอย่างในโครงการที่อาจเป็นอันตรายหรืออาจต้องมีสตริงบางอย่างTruffleHog 3.19.0 มองหาข้อมูลประจำตัวที่รั่วไหลออกมาSalus ยังแยกวิเคราะห์ไฟล์การพึ่งพาและรายงานว่าไลบรารีและเวอร์ชันใด สิ่งนี้มีประโยชน์สำหรับการติดตามการพึ่งพาทั่วกองทัพเรือของคุณ
ภาษาที่รองรับในปัจจุบันคือ:
Salus ได้รับการออกแบบให้สามารถกำหนดค่าได้สูงเพื่อให้สามารถทำงานในสภาพแวดล้อมที่แตกต่างกันหลายประเภทและมีสแกนเนอร์ที่แตกต่างกันมากมาย รองรับการแก้ไขสภาพแวดล้อมและการกำหนดค่าแบบเรียงซ้อนและสามารถอ่านการกำหนดค่าและรายงานโพสต์ผ่าน HTTP
บางครั้งจำเป็นต้องเพิกเฉยต่อ CVE, กฎ, การทดสอบ, กลุ่ม, ไดเรกทอรีหรือแก้ไขการกำหนดค่าเริ่มต้นสำหรับเครื่องสแกน ไดเรกทอรีเอกสาร/สแกนเนอร์อธิบายวิธีการทำเช่นนั้นสำหรับแต่ละเครื่องสแกนที่ Salus รองรับ
หากคุณต้องการสร้างสแกนเนอร์ที่กำหนดเองหรือสนับสนุนภาษาเพิ่มเติมที่ไม่ได้รับการสนับสนุนในปัจจุบันคุณสามารถใช้วิธีการสร้างภาพ Salus ที่กำหนดเองนี้
Salus สามารถรวมเข้ากับ Circleci โดยใช้ Orb สาธารณะ ตัวเลือกการกำหนดค่า 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 ดึงอิมเมจนักเทียบท่า
การมีส่วนร่วมในโครงการนี้ยินดีเป็นอย่างยิ่งและเป็นความหวังอย่างจริงใจของเราที่งานที่เราได้ทำมาจนถึงจุดนี้ทำหน้าที่เป็นรากฐานสำหรับการอนุญาตให้ชุมชนความปลอดภัย/พัฒนาโดยรวมมารวมตัวกันเพื่อปรับปรุงความปลอดภัยของโครงสร้างพื้นฐาน ของทุกคน
คุณสามารถอ่านเพิ่มเติมเกี่ยวกับการตั้งค่าสภาพแวดล้อมการพัฒนาหรือสถาปัตยกรรมของ Salus
นอกจากนี้คุณยังสามารถค้นหาขั้นตอนในการเพิ่มเครื่องสแกนใหม่ลงใน Salus
โครงการนี้มีให้บริการโอเพ่นซอร์สภายใต้ข้อกำหนดของใบอนุญาต Apache 2.0