
Salus (Sicherheitsautomatisierung als leichter Universal Scanner), benannt nach der römischen Göttin des Schutzes, ist ein Instrument zur Koordinierung der Ausführung von Sicherheitsscannern. Sie können Salus auf einem Repository über den Docker -Daemon ausführen, und es wird feststellen, welche Scanner relevant sind, diese ausführen und die Ausgabe bereitstellen. Die meisten Scanner sind weitere reife Open -Source -Projekte, die wir direkt in den Container aufnehmen.
Salus ist besonders nützlich für CI/CD -Pipelines, da es zu einem zentralen Ort wird, um das Scannen über eine große Flotte von Repositories zu koordinieren. In der Regel werden Scanner auf der Repository -Ebene für jedes Projekt konfiguriert. Dies bedeutet, dass jedes Repository bei org weiten Änderungen in Bezug auf die Ausführung der Scanner aktualisiert werden muss. Stattdessen können Sie Salus aktualisieren und alle Builds werden die Änderung sofort erben.
Salus unterstützt eine leistungsstarke Konfiguration, die globale Standardeinstellungen und lokale Verbesserungen ermöglicht. Schließlich kann Salus Kennzahlen in jedem Repository melden, z. B. welche Pakete enthalten sind oder welche Bedenken bestehen. Diese Berichte können in Ihrer Infrastruktur zentral bewertet werden, um eine skalierbare Sicherheitsverfolgung zu ermöglichen.
# 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, das nach semantischen und syntaktischen Mustern im Code auf AST -Ebene sucht.npm audit 6.14.8, das nach CVEs in den Abhängigkeiten mit Knotenmodul sucht.yarn audit 1.22.0, das nach CVEs in den Abhängigkeiten des Knotenmoduls sucht.sift 0.9.0, sucht nach bestimmten Zeichenfolgen in einem Projekt, das möglicherweise gefährlich ist oder es erfordern, dass bestimmte Zeichenfolgen vorhanden sind.TruffleHog 3.19.0, sucht nach durchgesickerten Anmeldeinformationen.Salus analysiert auch Abhängigkeitsdateien und Berichte, welche Bibliotheken und Versionen verwendet werden. Dies kann nützlich sein, um Abhängigkeiten in Ihrer Flotte zu verfolgen.
Derzeit unterstützte Sprachen sind:
Salus ist so konfigurierbar, dass es in vielen verschiedenen Arten von Umgebungen und mit vielen verschiedenen Scannern funktioniert. Es unterstützt Umgebungsvariablen -Interpolations- und Kaskadierungskonfigurationen und kann Konfiguration und Berichte über HTTP lesen.
Manchmal ist es notwendig, bestimmte CVEs, Regeln, Tests, Gruppen, Verzeichnisse zu ignorieren oder die Standardkonfiguration für einen Scanner auf andere Weise zu ändern. Das DOCS/Scanners -Verzeichnis erläutert, wie dies für jeden Scanner, den Salus unterstützt, zu tun.
Wenn Sie benutzerdefinierte Scanner erstellen oder mehr Sprachen unterstützen möchten, die derzeit nicht unterstützt werden, können Sie diese Methode zum Erstellen von benutzerdefinierten Salus -Bildern verwenden.
Salus kann durch Verwendung einer öffentlichen Kugel in Circleci integriert werden. Alle Salus -Konfigurationsoptionen werden unterstützt und Standardeinstellungen sind dieselben wie für Salus selbst.
Beispiel circleci config.yml :
version: 2.1
orbs:
salus: federacy/[email protected]
workflows:
main:
jobs:
- salus/scan
Orb -Dokumentation
Salus kann auch mit Github -Aktionen verwendet werden.
Beispiel .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 -Aktionsdokumentation
Aktualisieren Sie für Ihren gegebenen CI die Konfigurationsdatei, um Salus auszuführen. Im Kreis wird es so aussehen:
docker run --rm -t -v $( pwd ) :/home/repo coinbase/salusCoinbase/Salus zieht das Docker -Bild
Der Beitrag zu diesem Projekt ist äußerst willkommen und es ist unsere aufrichtige Hoffnung, dass die Arbeit, die wir bis zu diesem Zeitpunkt geleistet haben, nur als Grundlage für die Ermöglichung der Sicherheits-/Entwicklungsgemeinschaften dient, zusammenzukommen, um die Sicherheit der Infrastruktur aller zu verbessern.
Sie können mehr über die Einrichtung Ihrer Entwicklungsumgebung oder über die Architektur von Salus erfahren.
Sie können auch Schritte finden, um Salus einen neuen Scanner hinzuzufügen
Dieses Projekt ist Open Source unter den Bedingungen der Apache 2.0 -Lizenz verfügbar.