Атака червя Miasma на репозитории Microsoft: как защитить CI/CD и проверить зависимости
Червь под именем Miasma скомпрометировал более 70 GitHub-репозиториев, связанных с Microsoft, и в них обнаружен код для кражи учётных данных. По сообщениям профильных СМИ, Microsoft отключила десятки проектов после сигналов о вредоносной активности.

Miasma на GitHub: как червь проник в репозитории Microsoft и что проверять в своих зависимостях
Что известно из подтверждённых источников
Согласно имеющимся сообщениям, атака затронула именно GitHub-репозитории Microsoft: речь идёт о более чем 70 проектах, которые были заблокированы или отключены. Вредоносный код характеризуется источниками как инструмент кражи паролей. Название «Miasma» и формулировка «червь» указывают на самовоспроизводящийся механизм распространения — то есть это не единичный коммит в одном репо, а сценарий, при котором заражённый узел пытается инфицировать соседние.
Формулировки источников осторожные: «сообщается», «по данным», без деталей по конкретным репозиториям, версиям пакетов и временным меткам. В таком режиме корректно работать с инцидентом — сначала свериться с advisory, потом действовать.
Почему это касается вашего бэкенда
Если ваш конвейер сборки тянет зависимости из GitHub Actions Marketplace, форкнутых репозиториев или внутренних зеркал, которые синхронизируются с upstream Microsoft — вы потенциально находитесь в зоне риска. Червь такого типа, как правило, эксплуатирует доверенные токены и workflow-файлы, а не публичные уязвимости в коде приложения.
Практически это означает три вещи. Первое — проверить, не используете ли вы Actions или пакеты из репозиториев, которые фигурируют в списке затронутых; конкретный перечень репо в публичных источниках не приводится, поэтому ориентируйтесь на официальные advisory Microsoft и GitHub. Второе — ревизия `.github/workflows/` на предмет незнакомых шагов, `curl | sh` и `pip install` из произвольных URL, особенно в шагах с `pull_request_target` или `workflow_run`. Третье — ротация секретов: если runner имел доступ к `GITHUB_TOKEN`, `NPM_TOKEN` или приватным registry-ключам, считайте их скомпрометированными до публикации официального опровержения.
Что сделать прямо сейчас
```bash
# 1. Найти workflows, которые тянут код из потенциально затронутых мест
grep -rE "uses:.*@|uses: \./".github/workflows/
# 2. Проверить, нет ли подозрительных сетевых вызовов в шагах
grep -rE "curl |wget |Invoke-WebRequest".github/workflows/
# 3. Отозвать и перевыпустить токены
gh auth refresh --reset
```
Далее — включить require-approval для запуска Actions от внешних контрибьюторов, запретить `pull_request_target` с checkout чужих веток и вынести долгоживущие секреты в environment с manual approval. В IaC — зафиксировать версии actions по SHA, а не по тегу: это стандартная рекомендация, но именно в таких инцидентах она перестаёт быть гигиеной и становится необходимостью.
Что отслеживать
Ключевой сигнал — публикация официального security advisory от GitHub и Microsoft с перечнем конкретных репозиториев, хешей коммитов и затронутых версий пакетов. До этого момента любые сводки с точными числами и именами — спекуляция. Стоит также следить за активностью вокруг имени Miasma в issue-трекерах: если червь самовоспроизводящийся, первые IoC появятся в open-source детектах в течение суток.