Критические уязвимости в npm: Атака на цепочку поставок — что делать?
Критические уязвимости в npm: Атака на цепочку поставок — что делать?
Вы столкнулись с серьезной атакой на цепочку поставок npm, которая произошла 8 сентября 2025 года. Согласно данным службы безопасности Aikido, в этот день были скомпрометированы 18 популярнейших npm-пакетов, включая color-convert
, color-name
, debug
, chalk
и другие базовые зависимости. Эти пакеты имеют более 2 миллиардов загрузок в неделю и являются критически важными для экосистемы JavaScript.aikido
Суть угрозы
Это НЕ обычные уязвимости
Ваш npm audit показывает 21 критическую уязвимость, но на самом деле это результат целенаправленной атаки на цепочку поставок. Злоумышленники:
- Скомпрометировали основные npm-пакеты через взлом аккаунтов мейнтейнеровaikido
- Внедрили вредоносный код, который исполняется в браузере пользователейaikido
- Перехватывают криптовалютные транзакции и перенаправляют средства на аккаунты злоумышленниковaikido
- Манипулируют взаимодействием с web3-кошельками незаметно для пользователейaikido
Затронутые пакеты
Согласно отчету Aikido Security, скомпрометированы следующие критически важные пакеты:
- debug (357.6 млн загрузок в неделю)
- chalk (299.99 млн загрузок в неделю)
- color-convert (193.5 млн загрузок в неделю)
- color-name (191.71 млн загрузок в неделю)
- ansi-styles (371.41 млн загрузок в неделю)
- И другие базовые зависимостиaikido
НЕМЕДЛЕННЫЕ ДЕЙСТВИЯ
1. НЕ запускайте npm audit fix --force
Это может установить еще более новые скомпрометированные версии и усугубить ситуацию.
2. Проверьте версии пакетов
Выполните команду для проверки установленных версий:
bashnpm list color-convert color-name debug chalk ansi-styles
3. Откатитесь к безопасным версиям
bash# Установите известные безопасные версии npm install color-convert@1.9.3 color-name@1.1.4 debug@4.3.4
4. Очистите кэш npm
bashnpm cache clean --force
5. Удалите node_modules и переустановите зависимости
bashrm -rf node_modules package-lock.json npm install
Долгосрочные меры безопасности
Заморозка версий зависимостей
В вашем package.json
зафиксируйте точные версии:
json{ "dependencies": { "color-convert": "1.9.3", "color-name": "1.1.4", "debug": "4.3.4" } }
Использование инструментов безопасности
- Snyk или npm audit для регулярного мониторинга
- package-lock.json для контроля точных версий зависимостей
- Dependabot для автоматического отслеживания уязвимостей
Мониторинг проекта
После очистки регулярно проверяйте:
bashnpm audit --audit-level critical
Контекст атаки
Эта атака является частью крупнейшей кампании против экосистемы npm в 2025 году. Аналогичные инциденты произошли с:crowdstrike+1
- Nx ecosystem в августе 2025github+1
- eslint-config-prettier в июле 2025crowdstrike
- Пакетом 'is' с 2.8 млн загрузок в неделюbleepingcomputer
Злоумышленники используют фишинг-кампании против мейнтейнеров npm-пакетов, создавая поддельные домены типа npnjs.com
вместо npmjs.com
.checkmarx+1
Заключение
Это не время для паники, а время для быстрых и решительных действий. Ваша система подверглась атаке на цепочку поставок мирового масштаба. Следуя приведенным выше инструкциям, вы сможете защитить свой проект от дальнейшего воздействия вредоносного кода.
Помните: npm audit fix --force
в данной ситуации может только ухудшить положение. Действуйте осторожно и методично, откатываясь к проверенным безопасным версиям пакетов.
- https://www.aikido.dev/blog/npm-debug-and-chalk-packages-compromised
- https://www.crowdstrike.com/en-us/blog/crowdstrike-falcon-prevents-npm-package-supply-chain-attacks/
- https://www.stepsecurity.io/blog/another-npm-supply-chain-attack-the-is-package-compromise
- https://github.com/nrwl/nx/security/advisories/GHSA-cxm3-wv7p-598c
- https://www.stepsecurity.io/blog/supply-chain-security-alert-popular-nx-build-system-package-compromised-with-data-stealing-malware
- https://www.bleepingcomputer.com/news/security/npm-package-is-with-28m-weekly-downloads-infected-devs-with-malware/
- https://checkmarx.com/zero-post/supply-chain-phishing-campaign-drops-more-malware-into-npm-got-fetch-5-1/
- https://www.mend.io/blog/deceptive-vibranced-npm-package-discovered-masquerading-as-popular-colors-package/
- https://www.darktrace.com/blog/auto-color-backdoor-how-darktrace-thwarted-a-stealthy-linux-intrusion
- https://www.miggo.io/vulnerability-database/cve/GHSA-49c6-3wr4-8jr4
- https://www.sonatype.com/blog/remember-npm-library-colors-theres-no-such-thing-as-colors-2.0
- https://unit42.paloaltonetworks.com/new-linux-backdoor-auto-color/?pdf=print&lg=en&_wpnonce=fec49d5e44
- https://securityboulevard.com/2025/03/malware-found-on-npm-infecting-local-package-with-reverse-shell/
- https://snyk.io/blog/open-source-npm-packages-colors-faker/
- https://www.miggo.io/vulnerability-database/cve/GHSA-36jr-mh4h-2g58
- https://www.fortinet.com/blog/threat-research/malicious-packages-hiddin-in-npm
- https://secure.software/npm/packages/color/4.1.0
- https://www.wiz.io/vulnerability-database/cve/ghsa-36jr-mh4h-2g58
- https://www.veracode.com/blog/targeted-npm-malware-attempts-to-steal-developers-source-code-and-secrets/
- https://secure.software/npm/packages/color-convert/1.9.1
- https://www.wiz.io/vulnerability-database/cve/ghsa-94v7-wxj6-r2q5
- https://secure.software/npm/directory?label=malware
- https://www.veracode.com/blog/sophisticated-highly-targeted-attacks-continue-to-plague-npm/
- https://www.wiz.io/vulnerability-database/cve/ghsa-pg98-6v7f-2xfv
- https://www.veracode.com/blog/recent-npm-malware/
- https://secure.software/npm/packages/@types/color-convert
- https://www.wiz.io/vulnerability-database/cve/ghsa-8fx8-3rg2-79xw
- https://research.swtch.com/npm-colors
- https://dev.to/chaudharidevam/fixing-high-and-critical-vulnerabilities-in-npm-using-npm-audit-n6p
- https://www.niraj.life/blog/understanding-npm-audit-fixing-vulnerabilities-nodejs/
- https://thehackernews.com/2025/08/malicious-pypi-and-npm-packages.html
- https://www.npmjs.com/package/color-convert
- https://www.voitanos.io/blog/don-t-be-alarmed-by-vulnerabilities-after-running-npm-install/
- https://www.syncfusion.com/blogs/post/how-to-treat-npm-audit-results
- https://www.wiz.io/blog/s1ngularitys-aftermath
- https://arxiv.org/html/2403.12196v1
- https://www.jit.io/resources/appsec-tools/npm-audit-fix-taking-nodejs-security-to-the-next-level
- https://thehackernews.com/2025/09/malicious-npm-packages-impersonate.html
- https://www.npmjs.com/package/color
- https://stackoverflow.com/questions/67030285/what-did-a-npm-audit-fix-force-change-and-how-do-you-fix-it
- https://www.scworld.com/brief/massive-toll-of-nx-npm-supply-chain-attack-examined
- https://www.npmjs.com/package/colortranslator
- https://docs.github.com/rest/security-advisories/global-advisories
- https://gbhackers.com/new-supply-chain-attack-compromises-popular-npm-package/
- https://docs.github.com/code-security/security-advisories/working-with-global-security-advisories-from-the-github-advisory-database/about-the-github-advisory-database
- https://thehackernews.com/2025/08/ai-generated-malicious-npm-package.html
- https://github.com/advisories
- https://www.youtube.com/watch?v=f17bKk5Y1L0
- https://github.com/github/advisory-database
- https://apiiro.com/blog/nx-supply-chain-breach-shows-why-malicious-package-detection-matters/
- https://thehackernews.com/2025/08/malicious-go-npm-packages-deliver-cross.html
- https://docs.github.com/code-security/security-advisories/global-security-advisories/browsing-security-advisories-in-the-github-advisory-database
- https://thehackernews.com/2025/08/malicious-nx-packages-in-s1ngularity.html
- https://firsthackersnews.com
- https://github.com/advisories/GHSA-xv2f-5jw4-v95m