<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Взломы npm в 2026: новые угрозы безопасности JavaScript-пакетов и как защититься]]></title><description><![CDATA[<p dir="auto">В 2026 году взломы npm стали реальной головной болью для разработчиков JavaScript. Злоумышленники используют уязвимости в менеджерах пакетов, чтобы красть секреты, ключи и распространять вредоносный код. Эта статья разберет свежие угрозы вроде PackageGate и SANDWORM_MODE, покажет примеры атак и даст практические шаги по защите.</p>
<p dir="auto">Знание этих проблем поможет избежать компрометации проектов. Вы узнаете, как обходить флаги вроде --ignore-scripts и почему npm не всегда патчит дыры. Простые меры безопасности сохранят ваши CI/CD-пайплайны и токены в целости.</p>
<h2>PackageGate: шесть zero-day уязвимостей в npm и не только</h2>
<p dir="auto">PackageGate - это скандал января 2026 года, когда нашли шесть zero-day дыр в npm, pnpm, vlt и Bun. Они позволяют обходить флаг --ignore-scripts через инъекцию .npmrc в git-зависимостях. npm отказался патчить, заявив, что пользователи сами отвечают за пакеты. Это значит, если вы полагались на этот флаг как на щит, в нем огромная дыра.</p>
<p dir="auto">Другие менеджеры среагировали быстро: pnpm выпустил фиксы под CVE-2025-69263 и CVE-2025-69264, vlt закрыл path traversal, Bun поправил доверие к 366 пакетам. Атаки работают так: вредоносный код лежит на сервере атакующего, сканеры его не видят, lockfile не спасает. Уже видели PoC с reverse shell. Теперь перейдем к деталям.</p>
<ul>
<li><strong>Байпас --ignore-scripts в npm</strong>: Злоумышленник пихает .npmrc в git-репозиторий зависимости. Скрипты prepare/postinstall запускаются несмотря на флаг. <em>npm закрыл отчет, мол, ‘так задумано’</em>.</li>
<li><strong>Аналогичные дыры в pnpm</strong>: Скрипты git-зависимостей игнорируют allowlist onlyBuiltDependencies. <em>Фикс вышел в v10, но проверяйте версии.</em></li>
<li><strong>Path traversal в vlt</strong>: Регулярки позволяют выйти за границы пакета. Установлен патч.</li>
<li><strong>Доверие в Bun</strong>: 366 пакетов доверены по умолчанию. <em>Теперь проверяется строже.</em></li>
</ul>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>Менеджер</th>
<th>Уязвимость</th>
<th>Статус фикса</th>
<th>CVE</th>
</tr>
</thead>
<tbody>
<tr>
<td>npm</td>
<td>.npmrc инъекция</td>
<td>Не патчена</td>
<td>Нет</td>
</tr>
<tr>
<td>pnpm</td>
<td>Git-скрипты</td>
<td>Патч</td>
<td>CVE-2025-69263, CVE-2025-69264</td>
</tr>
<tr>
<td>vlt</td>
<td>Path traversal</td>
<td>Патч</td>
<td>Нет</td>
</tr>
<tr>
<td>Bun</td>
<td>Доверие пакетов</td>
<td>Патч</td>
<td>Нет</td>
</tr>
</tbody>
</table>
<h2>SANDWORM_MODE и другие вредоносные пакеты</h2>
<p dir="auto">Кампания SANDWORM_MODE использует 19 пакетов с typosquatting, чтобы красть крипто-ключи, CI-секреты и API-ключи AI. Это эволюция Shai-Hulud: код крадет токены npm/GitHub, распространяется по SSH и даже инжектит промпты в AI-ассистенты вроде Ollama с DeepSeek. Пакеты от паблишера official334 и javaorg скачали миллионы раз.</p>
<p dir="auto">Полиморфный движок переименовывает переменные и шифрует строки для evasии. Есть флаги для будущих атак. Похожий ‘ambar-src’ набрал 50 тысяч скачиваний за дни, используя open-source malware и preinstall-скрипты. Такие атаки компрометируют систему без импорта кода. Локальные уязвимости вроде CVE-2026-0775 позволяют эскалацию привилегий через неверные права на модули.</p>
<ul>
<li><strong>Кража секретов</strong>: Пакеты сливают env-переменные, токены и ключи в GitHub API или DNS.</li>
<li><strong>Самораспространение</strong>: Использует украденные аккаунты для публикации новых пакетов. <em>Проверяйте package.json и workflows.</em></li>
<li><strong>Evasion-техники</strong>: Полиморфизм, hook-персистентность, MCP-инъекция. <em>Удалите подозрительные пакеты срочно.</em></li>
<li><strong>Примеры пакетов</strong>: official334/<em>, javaorg/</em>, ambar-src (typosquat ember-source).</li>
</ul>
<h2>CVE в npm: эскалация привилегий и path traversal</h2>
<p dir="auto">CVE-2026-0775 - локальная эскалация в npm CLI из-за неверных прав на модули. Атакующий с низкими правами кладет вредоносный модуль в незащищенную папку, и при запуске от рута выполняется произвольный код. Требует локального доступа, но эффект высокий: full compromise.</p>
<p dir="auto">Похожие CVE-2026-23890 и CVE-2026-24131 в pnpm позволяют path traversal через ‘directories’ в package.json, chmod’уя файлы вне пакета. Атакующий выходит за sandbox. Это показывает, что даже CLI-уровень небезопасен. Теперь меры защиты.</p>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>CVE</th>
<th>Описание</th>
<th>Вектор</th>
<th>Сложность</th>
</tr>
</thead>
<tbody>
<tr>
<td>CVE-2026-0775</td>
<td>Privilege escalation в npm CLI</td>
<td>Локальный</td>
<td>Высокая</td>
</tr>
<tr>
<td>CVE-2026-23890</td>
<td>Path traversal в pnpm</td>
<td>Remote package</td>
<td>Средняя</td>
</tr>
<tr>
<td>CVE-2026-24131</td>
<td>Директории escape в pnpm</td>
<td>Remote package</td>
<td>Средняя</td>
</tr>
</tbody>
</table>
<h2>Как защититься от взломов npm</h2>
<p dir="auto">Переходите на строгие политики: используйте lockfile, но проверяйте git-зависимости вручную. Внедряйте socket.dev или аналогичные сканеры, которые ловят remote payloads. Всегда запускайте npm с --ignore-scripts, но добавьте .npmrc-блокировку и audit.</p>
<p dir="auto">Альтернативы: Bun или pnpm с их свежими патчами надежнее npm сейчас. Ротируйте токены после подозрений, мониторьте workflows. Для CI/CD - контейнеризация install’ов и read-only реестры. <strong>Регулярный аудит package.json спасет от 90% угроз.</strong></p>
<ul>
<li><strong>Сканеры</strong>: Socket, Koi Security - ловят git-дипы и worms.</li>
<li><strong>Флаги</strong>: npm ci --ignore-scripts --audit, но <em>знайте о байпасах</em>.</li>
<li><strong>Мониторинг</strong>: Слеьте скачивания, проверяйте издателей на <a href="http://npmjs.com" target="_blank" rel="noopener noreferrer">npmjs.com</a>.</li>
<li><strong>Ротация</strong>: Меняйте все секреты после install подозрительного.</li>
<li><strong>Альтернативы</strong>: pnpm/Bun с ‘scripts disabled by default’.</li>
</ul>
<h2>Что еще ждет npm-экосистему</h2>
<p dir="auto">В 2026 взломы эволюционируют: ждите больше полиморфизма и AI-интеграций в malware. npm под Microsoft, видимо, меняет политику, но дыры остаются. Стоит поэкспериментировать с приватными реестриями или Verdaccio.</p>
<p dir="auto">Фокус на lockfile-интегрированных сканерах поможет, но полная защита - в образовании команды. Следите за обновлениями CVE и отзывами вроде PackageGate.</p>
]]></description><link>https://forum.exlends.ru/topic/963/vzlomy-npm-v-2026-novye-ugrozy-bezopasnosti-javascript-paketov-i-kak-zashititsya</link><generator>RSS for Node</generator><lastBuildDate>Sat, 17 Oct 2026 04:25:47 GMT</lastBuildDate><atom:link href="https://forum.exlends.ru/topic/963.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 03 Mar 2026 09:12:59 GMT</pubDate><ttl>60</ttl></channel></rss>