Перейти к содержанию
  • Лента
  • Категории
  • Последние
  • Метки
  • Популярные
  • Пользователи
  • Группы
Свернуть
exlends
Категории
  1. Главная
  2. Категории
  3. Языки программирования
  4. JavaScript
  5. Взломы npm в 2026: новые угрозы безопасности JavaScript-пакетов и как защититься

Взломы npm в 2026: новые угрозы безопасности JavaScript-пакетов и как защититься

Запланировано Прикреплена Закрыта Перенесена JavaScript
npmвзломыбезопасность
1 Сообщения 1 Постеры 1 Просмотры
  • Сначала старые
  • Сначала новые
  • По количеству голосов
Ответить
  • Ответить, создав новую тему
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • hannadevH В сети
    hannadevH В сети
    hannadev
    написал отредактировано
    #1

    В 2026 году взломы npm стали реальной головной болью для разработчиков JavaScript. Злоумышленники используют уязвимости в менеджерах пакетов, чтобы красть секреты, ключи и распространять вредоносный код. Эта статья разберет свежие угрозы вроде PackageGate и SANDWORM_MODE, покажет примеры атак и даст практические шаги по защите.

    Знание этих проблем поможет избежать компрометации проектов. Вы узнаете, как обходить флаги вроде --ignore-scripts и почему npm не всегда патчит дыры. Простые меры безопасности сохранят ваши CI/CD-пайплайны и токены в целости.

    PackageGate: шесть zero-day уязвимостей в npm и не только

    PackageGate - это скандал января 2026 года, когда нашли шесть zero-day дыр в npm, pnpm, vlt и Bun. Они позволяют обходить флаг --ignore-scripts через инъекцию .npmrc в git-зависимостях. npm отказался патчить, заявив, что пользователи сами отвечают за пакеты. Это значит, если вы полагались на этот флаг как на щит, в нем огромная дыра.

    Другие менеджеры среагировали быстро: pnpm выпустил фиксы под CVE-2025-69263 и CVE-2025-69264, vlt закрыл path traversal, Bun поправил доверие к 366 пакетам. Атаки работают так: вредоносный код лежит на сервере атакующего, сканеры его не видят, lockfile не спасает. Уже видели PoC с reverse shell. Теперь перейдем к деталям.

    • Байпас --ignore-scripts в npm: Злоумышленник пихает .npmrc в git-репозиторий зависимости. Скрипты prepare/postinstall запускаются несмотря на флаг. npm закрыл отчет, мол, ‘так задумано’.
    • Аналогичные дыры в pnpm: Скрипты git-зависимостей игнорируют allowlist onlyBuiltDependencies. Фикс вышел в v10, но проверяйте версии.
    • Path traversal в vlt: Регулярки позволяют выйти за границы пакета. Установлен патч.
    • Доверие в Bun: 366 пакетов доверены по умолчанию. Теперь проверяется строже.
    Менеджер Уязвимость Статус фикса CVE
    npm .npmrc инъекция Не патчена Нет
    pnpm Git-скрипты Патч CVE-2025-69263, CVE-2025-69264
    vlt Path traversal Патч Нет
    Bun Доверие пакетов Патч Нет

    SANDWORM_MODE и другие вредоносные пакеты

    Кампания SANDWORM_MODE использует 19 пакетов с typosquatting, чтобы красть крипто-ключи, CI-секреты и API-ключи AI. Это эволюция Shai-Hulud: код крадет токены npm/GitHub, распространяется по SSH и даже инжектит промпты в AI-ассистенты вроде Ollama с DeepSeek. Пакеты от паблишера official334 и javaorg скачали миллионы раз.

    Полиморфный движок переименовывает переменные и шифрует строки для evasии. Есть флаги для будущих атак. Похожий ‘ambar-src’ набрал 50 тысяч скачиваний за дни, используя open-source malware и preinstall-скрипты. Такие атаки компрометируют систему без импорта кода. Локальные уязвимости вроде CVE-2026-0775 позволяют эскалацию привилегий через неверные права на модули.

    • Кража секретов: Пакеты сливают env-переменные, токены и ключи в GitHub API или DNS.
    • Самораспространение: Использует украденные аккаунты для публикации новых пакетов. Проверяйте package.json и workflows.
    • Evasion-техники: Полиморфизм, hook-персистентность, MCP-инъекция. Удалите подозрительные пакеты срочно.
    • Примеры пакетов: official334/, javaorg/, ambar-src (typosquat ember-source).

    CVE в npm: эскалация привилегий и path traversal

    CVE-2026-0775 - локальная эскалация в npm CLI из-за неверных прав на модули. Атакующий с низкими правами кладет вредоносный модуль в незащищенную папку, и при запуске от рута выполняется произвольный код. Требует локального доступа, но эффект высокий: full compromise.

    Похожие CVE-2026-23890 и CVE-2026-24131 в pnpm позволяют path traversal через ‘directories’ в package.json, chmod’уя файлы вне пакета. Атакующий выходит за sandbox. Это показывает, что даже CLI-уровень небезопасен. Теперь меры защиты.

    CVE Описание Вектор Сложность
    CVE-2026-0775 Privilege escalation в npm CLI Локальный Высокая
    CVE-2026-23890 Path traversal в pnpm Remote package Средняя
    CVE-2026-24131 Директории escape в pnpm Remote package Средняя

    Как защититься от взломов npm

    Переходите на строгие политики: используйте lockfile, но проверяйте git-зависимости вручную. Внедряйте socket.dev или аналогичные сканеры, которые ловят remote payloads. Всегда запускайте npm с --ignore-scripts, но добавьте .npmrc-блокировку и audit.

    Альтернативы: Bun или pnpm с их свежими патчами надежнее npm сейчас. Ротируйте токены после подозрений, мониторьте workflows. Для CI/CD - контейнеризация install’ов и read-only реестры. Регулярный аудит package.json спасет от 90% угроз.

    • Сканеры: Socket, Koi Security - ловят git-дипы и worms.
    • Флаги: npm ci --ignore-scripts --audit, но знайте о байпасах.
    • Мониторинг: Слеьте скачивания, проверяйте издателей на npmjs.com.
    • Ротация: Меняйте все секреты после install подозрительного.
    • Альтернативы: pnpm/Bun с ‘scripts disabled by default’.

    Что еще ждет npm-экосистему

    В 2026 взломы эволюционируют: ждите больше полиморфизма и AI-интеграций в malware. npm под Microsoft, видимо, меняет политику, но дыры остаются. Стоит поэкспериментировать с приватными реестриями или Verdaccio.

    Фокус на lockfile-интегрированных сканерах поможет, но полная защита - в образовании команды. Следите за обновлениями CVE и отзывами вроде PackageGate.

    1 ответ Последний ответ
    0

    Категории

    • Главная
    • Новости
    • Фронтенд
    • Бекенд
    • Языки программирования

    Контакты

    • Сотрудничество
    • info@exlends.com
    • Наш чат
    • Наш ТГ канал

    © 2024 - 2026 ExLends, Inc. Все права защищены.

    Политика конфиденциальности
    • Войти

    • Нет учётной записи? Зарегистрироваться

    • Войдите или зарегистрируйтесь для поиска.
    • Первое сообщение
      Последнее сообщение
    0
    • Лента
    • Категории
    • Последние
    • Метки
    • Популярные
    • Пользователи
    • Группы