TGViewer
Dev News от Максима Соснова Dev News от Максима Соснова @msosnovfeed · 2.79K subscribers
Post #1425 1.1K
The secure way to release an npm package in 2026

Огромная статья от Evil Martians про то, как в 2026 публиковать npm-пакеты, чтобы их было сложнее угнать. В статье в самом начале есть чеклист, что надо сделать, чтобы снизить вероятность кражи пакета. А после чеклиста — почему именно важен каждый шаг и как выстраивается система защиты.

В целом чеклист следует завету «не доверяй никому, кроме себя».

Чеклист:
1. Trusted Publisher: укажите конкретный воркфлоу, с которого можно только публиковать staged-версии библиотек
2. Запретить публикацию через токены
3. Включить 2FA для всех
4. Дать возможность создавать теги в GitHub только админам
5. Зафиксировать версии GitHub Actions, которые вы используете
6. Добавьте автоматический линт безопасности
7. Установите 3 дня кулдауна на новые версии зависимостей
8. Используйте npm 12 или другой пакетный менеджер, который не исполняет postinstall-скрипты
9. Создайте workflow для публикации, как в статье

Это не гарантия безопасности, но очень снижает риски того, что ваш пакет украдут.

От каких конкретно рисков защита:
1. Trusted Publisher — разрешаем публикацию только конкретному воркфлоу
2. Запрещаем публикацию напрямую (без стейджинга) и через токены. Если токен украдут — опубликовать не смогут. Сам стейджинг гарантирует ручной апрув
3. 2FA требует подтверждения через второе устройство
4. Т.к. публикация только по тегам, то разрешаем создавать теги только админам
5. Фиксация версий GitHub Actions позволяет не попасться на взлом CI Actions
6. Линт безопасности автоматически проведёт основные проверки безопасности
7. Кулдаун 3 дня на новые зависимости даёт время обнаружить malware до того, как вы его подтянете
8. Запрет postinstall-скриптов убирает целый кластер атак
9. Аккуратный publish-workflow (без лишних deps в critical job) сужает поверхность атаки при релизе

И, конечно же, в статье есть скилл для агента, который настроит всё за вас.

https://evilmartians.com/chronicles/the-secure-way-to-release-an-npm-package

#development #javascript #npm #security #ci #supply-chain #evilMartians
evilmartians.com The secure way to release an npm package in 2026—Martian Chronicles, Evil Martians’ team blog How to protect your npm package from being stolen in a supply chain attack and improve its position in security ratings
  • 👍 7
  • ❤ 2
More from @msosnovfeed
  1. Sep 14, 2026Дайджест за 2026-09-07 - 2026-09-09 Playwright v1.62.0 Вышел релиз Playwright 1.62. Обычно…
  2. Sep 9, 2026Mobile View — see your site on desktop & mobile at once Расширение для Chrome от подписчик…
  3. Sep 7, 2026Playwright v1.62.0 Вышел релиз Playwright 1.62. Обычно я не пишу про релизы Playwright, но…
  4. Sep 7, 2026Дайджест за 2026-08-31 - 2026-09-04 How to find a Next.js memory leak in production Очень…
  5. Sep 4, 2026Measuring soft navigations Web Vitals стали основным мерилом скорости работы сайтов. Но пр…
  6. Sep 2, 2026Canvas UI Canvas UI — open-source библиотека готовых компонентов для создания красивых эфф…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →