_ _ _. . _ _ _ . ___ _. _ . ___
( | ) (_| |_ (_ (_) ( _) | (/_ ( _) |
subtle malware discovery tool
Le malcontent découvre les compromis de la chaîne d'approvisionnement à travers la magie du contexte, l'analyse différentielle et 14 000 règles Yara.
________ ________ ________ ________
| | | | | | | |
| v1.0.0 | => | v1.0.1 | => | v1.0.2 | => | v1.0.3 |
|________| |________| |________| |________|
unchanged HIGH-RISK decreased
risk increase risk
Malcontent a 3 modes de fonctionnement:
diff : analyse différentielle pondérée en fonction du risque entre deux programmesanalyze : analyse approfondie des capacités d'un programmescan : analyse de base du contenu malveillantMalcontent est à ses meilleurs programmes d'analyse qui fonctionnent sur Linux. Pourtant, il fonctionne également admirablement pour des programmes conçus pour d'autres plates-formes UNIX telles que MacOS et, dans une moindre mesure, Windows.
La méthode la plus puissante de Malcontent pour découvrir des logiciels malveillants se fait par une analyse différentielle contre les artefacts CI / CD. Lorsqu'elle est utilisée dans un système de construction, le malcontent présente deux avantages contextuels significatifs par rapport à un scanner de logiciels malveillants traditionnelle:
En utilisant le compromis 3CX à titre d'exemple, le malcontent surface trivialement les modifications inattendues à haut risque de Libffmpeg:

Chaque ligne qui commence par un "++" représente une capacité nouvellement ajoutée. Chaque capacité a un score de risque en fonction de son unique pour les logiciels malveillants.
Comme la commande diff (1) sur laquelle il est basé, le malcontent peut diffuser entre deux binaires ou répertoires. Il peut également diffuser deux fichiers d'archives ou même deux images OCI. Voici quelques drapeaux utiles:
--format=markdown : Sortie dans Markdown pour une utilisation dans les actions GitHub--min-file-risk=critical : ne montre que des diff pour modification de niveau critique--quantity-increases-risk=false : désactiver l'heuristique qui augmente la criticité du fichier en raison de la fréquence des résultats--file-risk-change : affichez uniquement des diff pour le fichier modifié lorsque les fichiers source et de destination sont de risques différents--file-risk-increase : Afficher uniquement les diff pour le fichier modifié lorsque le fichier de destination est plus à risque que le fichier sourceLes répertoires de fonctionnalités les plus élémentaires de Malcontent pour les logiciels malveillants possibles. Le malcontent est assez paranoïaque dans ce mode, alors attendez-vous à des faux positifs:

Vous pouvez également scanner une image de conteneur: mal scan -i cgr.dev/chainguard/nginx:latest
Facteurs utiles:
--include-data-files : inclure des fichiers qui ne semblent pas être des programmes--processes : scanner les binaires de processus actifs (expérimentaux) Pour énumérer les capacités d'un programme, utilisez mal analyze . Par exemple:

Le mode Analyze émet une liste de capacités souvent observées dans les logiciels malveillants, classés par niveau de risque. Il fonctionne avec des programmes dans une grande variété de formats de fichiers et de langues de script.
Les résultats CRITICAL doivent être considérés comme malveillants. Les drapeaux utiles incluent:
--format=json : Sortie à JSON pour l'analyse de données--min-risk=high : ne montrent que des résultats de risques élevés ou critiques docker pull cgr.dev/chainguard/malcontent:latest
Exigences:
Les utilisateurs de Linux ou MacOS peuvent exécuter la commande suivante pour installer les dépendances nécessaires, autres que Go:
brew install yara || sudo apt install libyara-dev
|| sudo dnf install yara-devel || sudo pacman -S yara
|| sudo zypper install yaraInstaller le malcontent:
go install github.com/chainguard-dev/malcontent/cmd/mal@latestLe malcontent est open source! Si vous êtes intéressé à contribuer, consultez notre guide de développement. Envoyez-nous une demande de traction et nous vous aiderons avec le reste!