_ _ _. . _ _ _ . ___ _. _ . ___
( | ) (_| |_ (_ (_) ( _) | (/_ ( _) |
subtle malware discovery tool
Malcontent descubre los compromisos de la cadena de suministro a través de la magia del contexto, el análisis diferencial y las más de 14,000 reglas de Yara.
________ ________ ________ ________
| | | | | | | |
| v1.0.0 | => | v1.0.1 | => | v1.0.2 | => | v1.0.3 |
|________| |________| |________| |________|
unchanged HIGH-RISK decreased
risk increase risk
Malcontent tiene 3 modos de operación:
diff : análisis diferencial ponderado por el riesgo entre dos programasanalyze : análisis profundo de las capacidades de un programascan : escaneo básico de contenido maliciosoMalcontent está en su mejor análisis de análisis que se ejecutan en Linux. Aún así, también funciona admirablemente para programas diseñados para otras plataformas UNIX como MacOS y, en menor medida, Windows.
El método más poderoso de Malcontent para descubrir malware es a través del análisis diferencial contra los artefactos de CI/CD. Cuando se usa dentro de un sistema de compilación, MalContent tiene dos ventajas contextuales significativas sobre un escáner de malware tradicional:
Utilizando el compromiso 3CX como ejemplo, el malcontent aparece trivialmente los cambios inesperadamente de alto riesgo a libffmpeg:

Cada línea que comienza con un "++" representa una capacidad recientemente agregada. Cada capacidad tiene una puntuación de riesgo basada en lo único que es el malware.
Al igual que el comando Diff (1) en el que se basa, el malcontent puede difundir entre dos binarios o directorios. También puede difundir dos archivos de archivo o incluso dos imágenes OCI. Aquí hay algunas banderas útiles:
--format=markdown : salida en Markdown para usar en acciones de GitHub--min-file-risk=critical : solo muestra diferencias para cambios de nivel crítico--quantity-increases-risk=false : Deshabilitar heurísticas que aumenten la criticidad del archivo debido a la frecuencia de los resultados--file-risk-change : solo muestre diferencias para archivos modificados cuando los archivos de origen y destino son de diferentes riesgos--file-risk-increase : solo muestre diferencias para archivos modificados cuando el archivo de destino es de mayor riesgo que el archivo de origenLos directorios de escaneos de características más básicos de Malcontent para el posible malware. Malcontent es bastante paranoico en este modo, así que espere algunos falsos positivos:

También puede escanear una imagen de contenedor: mal scan -i cgr.dev/chainguard/nginx:latest
Banderas útiles:
--include-data-files : incluya archivos que no parecen ser programas--processes : escanear binarios de proceso activos (experimental) Para enumerar las capacidades de un programa, use mal analyze . Por ejemplo:

El modo de análisis emite una lista de capacidades a menudo vistas en malware, categorizado por el nivel de riesgo. Funciona con programas en una amplia variedad de formatos de archivo y lenguajes de secuencias de comandos.
Los hallazgos CRITICAL deben considerarse maliciosos. Las banderas útiles incluyen:
--format=json : Salida a JSON para analizar datos--min-risk=high : solo muestre hallazgos de riesgos altos o críticos docker pull cgr.dev/chainguard/malcontent:latest
Requisitos:
Los usuarios de Linux o MacOS pueden ejecutar el siguiente comando para instalar las dependencias necesarias, que no sean GO:
brew install yara || sudo apt install libyara-dev
|| sudo dnf install yara-devel || sudo pacman -S yara
|| sudo zypper install yaraInstalar malcontent:
go install github.com/chainguard-dev/malcontent/cmd/mal@latest¡Malcontent es de código abierto! Si está interesado en contribuir, consulte nuestra guía de desarrollo. ¡Envíenos una solicitud de extracción y lo ayudaremos con el resto!