
Chiediamo a tutti i collaboratori di clonare una *copia fresca* di questo repository dopo la manutenzione del 21 settembre.
Salus (Security Automation as a Lightweight Universal Scanner), chiamata così come la dea romana della protezione, è uno strumento per coordinare l'esecuzione di scanner di sicurezza. Puoi eseguire Salus su un repository tramite il demone Docker e determinerà quali scanner sono pertinenti, li eseguirà e fornirà l'output. La maggior parte degli scanner sono altri progetti open source maturi che includiamo direttamente nel container.
Salus è particolarmente utile per le pipeline CI/CD perché diventa un punto centralizzato per coordinare la scansione su una vasta flotta di repository. Tipicamente, gli scanner sono configurati a livello di repository per ogni progetto. Ciò significa che quando si apportano modifiche a livello di organizzazione su come vengono eseguiti gli scanner, ogni repository deve essere aggiornato. Invece, puoi aggiornare Salus e tutte le build erediteranno immediatamente la modifica.
Salus supporta una potente configurazione che permette impostazioni predefinite globali e modifiche locali. Infine, Salus può riportare metriche su ogni repository, come quali pacchetti sono inclusi o quali preoccupazioni esistono. Questi report possono essere valutati centralmente nella tua infrastruttura per consentire un monitoraggio della sicurezza scalabile.
# Naviga nella directory radice del progetto su cui vuoi eseguire Salus
cd /path/to/repo
# Esegui la seguente riga mentre sei nella directory radice (Nessuna modifica necessaria)
docker run --rm -t -v $(pwd):/home/repo coinbase/salus
semgrep 1.0.0, che cerca pattern semantici e sintattici nel codice a livello AST.npm audit 6.14.8 che cerca CVE nelle dipendenze dei moduli Node.yarn audit 1.22.0 che cerca CVE nelle dipendenze dei moduli Node.sift 0.9.0, cerca determinate stringhe in un progetto che potrebbero essere pericolose o che potrebbero richiedere che siano presenti.Salus analizza anche i file delle dipendenze e riporta quali librerie e versioni vengono utilizzate. Questo può essere utile per tracciare le dipendenze nella tua flotta.
I linguaggi attualmente supportati sono:
Salus è progettato per essere altamente configurabile in modo da poter funzionare in molti tipi diversi di ambienti e con molti scanner diversi. Supporta l'interpolazione di variabili d'ambiente e configurazioni a cascata, e può leggere la configurazione e pubblicare report tramite HTTP.
A volte è necessario ignorare determinate CVE, regole, test, gruppi, directory, o altrimenti modificare la configurazione predefinita per uno scanner. La directory docs/scanners spiega come fare per ogni scanner supportato da Salus.
Se desideri creare scanner personalizzati o supportare più linguaggi non attualmente supportati, puoi utilizzare questo metodo per costruire immagini Salus personalizzate.
Salus può essere integrato con CircleCI utilizzando un Orb pubblico. Tutte le opzioni di configurazione di Salus sono supportate e i valori predefiniti sono gli stessi di Salus stesso.
Esempio di CircleCI config.yml:
version: 2.1
orbs:
salus: federacy/[email protected]
workflows:
main:
jobs:
- salus/scan
Salus può anche essere utilizzato con Github Actions.
Esempio di .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]
Documentazione di Github Action
Per la tua CI, aggiorna il file di configurazione per eseguire salus. In CircleCI, sarà simile a questo:
docker run --rm -t -v $(pwd):/home/repo coinbase/salus
coinbase/salus effettua il pull dell'immagine docker
Il contributo a questo progetto è estremamente gradito e la nostra sincera speranza è che il lavoro svolto fino a questo punto serva solo come base per permettere alle comunità di sicurezza e sviluppo nel loro insieme di unirsi per migliorare la sicurezza dell'infrastruttura di tutti.
Puoi leggere di più su come configurare il tuo ambiente di sviluppo o l'architettura di Salus.
Puoi anche trovare i passaggi per aggiungere un nuovo scanner a Salus
Questo progetto è disponibile open source secondo i termini della Licenza Apache 2.0.
TruffleHog 3.19.0, cerca credenziali trapelate.