npm supply chain 2026 — одна из top-3 attack surfaces. 2024 xz backdoor + 2023 event-stream + 2024 shai-hulud показали: любой из 1000+ transitive deps может быть hijacked. Defense: (1) npm audit + Dependabot (базовый, free), (2) Socket.dev ($15/мес, runtime behavior analysis), (3) Snyk ($0+), (4) pnpm + lockfile strict, (5) npm package-lock integrity hashing, (6) --ignore-scripts для reject postinstall.
Ниже: пошаговая инструкция, рабочие примеры, типичные ошибки, FAQ.
npm audit в CI — fails build при > high severitynpm config set ignore-scripts true глобально + review per-package"react": "18.2.0" vs "^18.2.0"| Сценарий | Конфиг |
|---|---|
| npm audit в CI | # .github/workflows/audit.yml
- run: npm ci
- run: npm audit --audit-level=high
# Fails build при found high+ CVE |
| pnpm strict mode | # .npmrc
strict-peer-dependencies=true
save-exact=true
auto-install-peers=false
# package.json
"packageManager": "pnpm@8.15.0" |
| Socket.dev CI | # Via npm scripts
"scripts": {
"preinstall": "socket preinstall"
}
# Blocks install если detected supply-chain risk |
| Ignore postinstall scripts | # Global
$ npm config set ignore-scripts true
# Per install
$ npm install --ignore-scripts
# For specific trusted packages — whitelist
$ npm rebuild sharp |
| Lockfile integrity (yarn) | # .yarnrc.yml
enableGlobalCache: true
checksumBehavior: update
# Lockfile хэши rejected если corrupted |
Инструмент проверяет HTTP-заголовки безопасности, конфигурацию SSL/TLS, утечки серверной информации и защиту от распространённых атак (XSS, clickjacking, MIMEsniffing). Оценка от A до F показывает общий уровень защиты.
Проверка Content-Security-Policy, HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy и других.
Версия TLS, срок сертификата, цепочка доверия, поддержка HSTS.
Поиск раскрытых серверных версий, debug-режимов, открытых конфигов и директорий.
Детальный отчёт с объяснением каждой проблемы и конкретными шагами для исправления.
аудит HTTP-заголовков
проверка конфигурации
CSP и HSTS настройка
соответствие стандартам
Strict-Transport-Security.Server: Apache/2.4.52 помогает атакующим подобрать эксплойт. Скройте версию.DENY или SAMEORIGIN.nosniff браузер может интерпретировать файлы неправильно (MIME sniffing).Content-Security-Policy-Report-Only, мониторьте нарушения, затем включите.Server, X-Powered-By, X-AspNet-Version из ответов.История security-проверок и мониторинг HTTP-заголовков безопасности.
Зарегистрироваться (FREE)Dependabot: GitHub-native, simpler. Renovate: более flexible, works on GitLab/Bitbucket, configurable schedules. Для solo projects — Dependabot. Для teams с complex policies — Renovate.
Free tier: 5 repos. $15/dev/мес paid. Analyzes package behavior (network calls, file ops, eval usage) — detects novel supply-chain attacks.
xz-utils CVE-2024-3094 — backdoor через social engineering 2-летний maintainer takeover. Would have compromised OpenSSH on major Linux distros. Detected by luck.
pnpm: content-addressable, fast, deterministic. bun: Rust backend, 10x faster. Для audit — pnpm/bun показывают actual installed graph точнее npm.