
Salus (Sécurité Automation en tant que scanner universel léger), du nom de la déesse romaine de la protection, est un outil de coordination de l'exécution des scanners de sécurité. Vous pouvez exécuter Salus sur un référentiel via le démon Docker et il déterminera quels scanners sont pertinents, les exécuter et fournir la sortie. La plupart des scanners sont d'autres projets open source matures que nous incluons directement dans le conteneur.
Salus est particulièrement utile pour les pipelines CI / CD car il devient un endroit centralisé pour coordonner le balayage sur une grande flotte de référentiels. En règle générale, les scanners sont configurés au niveau du référentiel pour chaque projet. Cela signifie que lors de la rédaction de l'organisation de la façon dont les scanners sont exécutés, chaque référentiel doit être mis à jour. Au lieu de cela, vous pouvez mettre à jour SALUS et toutes les versions hériteront instantanément du changement.
SALUS prend en charge une configuration puissante qui permet les valeurs par défaut globales et les ajustements locaux. Enfin, Salus peut signaler des mesures sur chaque référentiel, telles que les packages inclus ou les préoccupations. Ces rapports peuvent être évalués de manière centralisée dans votre infrastructure pour permettre un suivi de sécurité évolutif.
# 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, qui recherche des modèles sémantiques et syntaxiques dans le code au niveau AST.npm audit 6.14.8 qui recherche CVES dans les dépendances du module de nœud.yarn audit 1.22.0 qui recherche CVES dans les dépendances du module de nœud.sift 0.9.0, recherche certaines chaînes dans un projet qui pourrait être dangereux ou qui pourrait nécessiter que certaines chaînes soient présentes.TruffleHog 3.19.0, recherche des informations d'identification divulguées.SALUS analyse également les fichiers de dépendance et les rapports dont les bibliothèques et les versions sont utilisées. Cela peut être utile pour suivre les dépendances dans votre flotte.
Les langues actuellement prises en charge sont:
Salus est conçu pour être très configurable afin qu'il puisse fonctionner dans de nombreux types d'environnements différents et avec de nombreux scanners différents. Il prend en charge les configurations d'interpolation et de cascade des variables d'environnement, et peut lire la configuration et les rapports de publication sur HTTP.
Parfois, il est nécessaire d'ignorer certains CVE, règles, tests, groupes, répertoires ou modifier autrement la configuration par défaut pour un scanner. Le répertoire DOCS / Scanners explique comment le faire pour chaque scanner qui prend en charge Salus.
Si vous souhaitez créer des scanners personnalisés ou prendre en charge plus de langues qui ne sont pas actuellement prises en charge, vous pouvez utiliser cette méthode de création d'images SALUS personnalisées.
Salus peut être intégré à Circleci en utilisant un orbe public. Toutes les options de configuration SALU sont prises en charge et les défauts sont les mêmes que pour Salus lui-même.
Exemple CILCLECI config.yml :
version: 2.1
orbs:
salus: federacy/[email protected]
workflows:
main:
jobs:
- salus/scan
Documentation ORB
Salus peut également être utilisé avec les actions GitHub.
Exemple .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]
Documentation de l'action GitHub
Pour votre CI donné, mettez à jour le fichier de configuration pour exécuter Salus. En cercle, cela ressemblera à ceci:
docker run --rm -t -v $( pwd ) :/home/repo coinbase/salusCoinbase / Salus tire l'image docker
La contribution à ce projet est extrêmement bienvenue et nous espérons sincèrement que le travail que nous avons fait à ce point ne fait que se fonder pour permettre aux communautés de sécurité / développement dans son ensemble de se réunir pour améliorer la sécurité de l'infrastructure de chacun .
Vous pouvez en savoir plus sur la mise en place de votre environnement de développement ou l'architecture de Salus.
Vous pouvez également trouver des étapes pour ajouter un nouveau scanner à Salus
Ce projet est disponible open source selon les termes de la licence Apache 2.0.