_ _ _. . _ _ _ . ___ _. _ . ___
( | ) (_| |_ (_ (_) ( _) | (/_ ( _) |
subtle malware discovery tool
Malcontent обнаруживает компромиссы цепочки поставок через магию контекста, дифференциального анализа и 14 000+ правил Yara.
________ ________ ________ ________
| | | | | | | |
| v1.0.0 | => | v1.0.1 | => | v1.0.2 | => | v1.0.3 |
|________| |________| |________| |________|
unchanged HIGH-RISK decreased
risk increase risk
Malcontent имеет 3 режима работы:
diff : Более высокий дифференциальный анализ между двумя программамиanalyze : глубокий анализ возможностей программыscan : базовое сканирование вредоносного содержанияMalcontent в лучшем случае анализируя программы, которые работают на Linux. Тем не менее, он также превосходно работает для программ, предназначенных для других платформ UNIX, таких как MacOS и, в меньшей степени, Windows.
Самый мощный метод Malcontent для обнаружения вредоносных программ - это дифференциальный анализ против артефактов CI/CD. При использовании в системе сборки Malcontent имеет два значительных контекстуальных преимущества по сравнению с традиционным сканером вредоносного ПО:
Используя компромисс 3CX в качестве примера, Malcontent тривиально вызывает неожиданно высокие изменения в Libffmpeg:

Каждая строка, которая начинается с «++», представляет собой вновь добавленную возможность. Каждая способность имеет оценку риска, основываясь на том, насколько уникально она для вредоносных программ.
Как и команда Diff (1), на которой она основана, Malcontent может различать между двумя двоичными или каталогами. Это также может различить два архивных файла или даже два изображения OCI. Вот несколько полезных флагов:
--format=markdown : выход в разметке для использования в действиях GitHub--min-file-risk=critical : показывать только различия для изменений критического уровня--quantity-increases-risk=false : отключить эвристику, которая увеличивает критичность файла из-за частоты результатов--file-risk-change : показать различия только для измененных файлов, когда файлы источника и назначения имеют разные риски--file-risk-increase : показывают DIFFS для измененных файлов, когда файл назначения имеет более высокий риск, чем исходный файлСамые основные каталоги для сканирования функций Malcontent для возможного вредоносного ПО. Malcontent довольно параноик в этом режиме, поэтому ожидайте некоторых ложных срабатываний:

Вы также можете сканировать изображение контейнера: mal scan -i cgr.dev/chainguard/nginx:latest
Полезные флаги:
--include-data-files : включайте файлы, которые не представляются программам--processes : сканирование активных двухлетних процессов (экспериментально) Чтобы перечислить возможности программы, используйте mal analyze . Например:

Режим анализа излучает список возможностей, часто наблюдаемых в вредоносном ПО, классифицированном по уровню риска. Он работает с программами в широком спектре форматов файлов и языков сценариев.
CRITICAL выводы должны считаться злонамеренными. Полезные флаги включают:
--format=json : вывод в JSON для анализа данных--min-risk=high : показывают только высокие или критические результаты риска docker pull cgr.dev/chainguard/malcontent:latest
Требования:
Пользователи Linux или Macos могут запустить следующую команду для установки необходимых зависимостей, кроме как GO:
brew install yara || sudo apt install libyara-dev
|| sudo dnf install yara-devel || sudo pacman -S yara
|| sudo zypper install yaraУстановите Malcontent:
go install github.com/chainguard-dev/malcontent/cmd/mal@latestMalcontent - это открытый исходный код! Если вы заинтересованы в содействии, ознакомьтесь с нашим руководством по разработке. Отправьте нам запрос на привлечение, и мы поможем вам с остальными!