safe-audit-fix
safe-audit-fix
Исправляйте уязвимости npm, не ломая ваше приложение.
npm audit fix --force может незаметно переходить на новые major-версии, понижать версии пакетов и ломать вашу сборку. safe-audit-fix использует противоположный подход — как аккуратный хирург, а не кувалда:
Сначала планирование — каждая правка снабжается уровнем риска (
low/moderate/high-breaking) до того, как что-либо изменится.По одному исправлению за раз — никаких масштабных изменений разом.
Тест после каждого исправления — ваша тестовая команда запускается после каждого шага.
Автооткат — если установка или тесты завершаются ошибкой, это исправление мгновенно откатывается (
package.jsonиlockfileвосстанавливаются,node_modulesсинхронизируется заново).Разрушающие обновления — только по явному согласию — переходы на новые major-версии пропускаются, пока вы не передадите
--include-major; даже в этом случае они защищены тестами.Полный откат —
safe-audit-fix revertвозвращает всё к состоянию до запуска.
Работает в двух режимах на едином движке:
┌────────────────────┐
you ──────────► CLI │
├────────────────────┤──► core engine: scan → plan → fix one → test → keep/revert
AI assistant ─► MCP server │
(Claude Code, └────────────────────┘
Cursor, ...)Требования
Node.js ≥ 18, npm ≥ 7 (требуется современный формат
npm audit --json)В целевом проекте должен быть
package-lock.json(если его нет — выполнитеnpm installодин раз)
Related MCP server: locklens
Установка
Попробуйте сразу — без установки (выполните в папке проекта):
npx safe-audit-fix scan
npx safe-audit-fix fixИли установите глобально:
npm install -g safe-audit-fix
safe-audit-fix scanИли из исходников:
git clone https://github.com/pasindudilshan1/safe-audit-fix.git
cd safe-audit-fix
npm install
npm link # makes the `safe-audit-fix` command available globallyИспользование CLI
safe-audit-fix scan # show vulnerabilities + whether each fix is safe or breaking
safe-audit-fix plan # show the ordered fix plan (changes nothing)
safe-audit-fix fix # apply fixes one at a time, testing after each
safe-audit-fix fix --include-major # also attempt breaking upgrades (test-protected)
safe-audit-fix fix --dry-run # preview only
safe-audit-fix fix --test "npm run test:unit" # custom verify command
safe-audit-fix fix --no-test # skip test verification (install failures still revert)
safe-audit-fix revert # undo the entire last fix runВсе команды принимают --dir <path> для указания другого проекта, а scan/plan также принимают --json.
Перед применением любых исправлений ваши тесты запускаются один раз как baseline — если они уже падают, инструмент отказывается работать (иначе каждое исправление ошибочно считали бы виновным и откатывали).
MCP-сервер (использование: Claude Code, Cursor и др.)
Зарегистрируйте сервер — и просто попросите вашего ИИ-ассистента: «безопасно исправьте уязвимости в моём проекте».
Claude Code:
claude mcp add safe-audit-fix -- npx -y --package=safe-audit-fix safe-audit-fix-mcpИли через .mcp.json / конфигурационный файл MCP:
{
"mcpServers": {
"safe-audit-fix": {
"command": "npx",
"args": ["-y", "--package=safe-audit-fix", "safe-audit-fix-mcp"]
}
}
}(Если вы установили глобально, можете использовать safe-audit-fix-mcp напрямую как команду, вместо npx.)
Доступные инструменты:
Инструмент | Что делает | Изменяет файлы? |
| Структурированный отчёт об аудите | Нет |
| Упорядоченный план исправлений с уровнями риска | Нет |
| Цикл «исправление → тест → откат» (опции | Да |
| Отмена последнего запуска исправлений | Да |
Как это работает в сравнении с аналогами
|
| Запрос ИИ в чате | safe-audit-fix | |
Исправляет уязвимости в пределах диапазона | ✅ | ✅ | вручную | ✅ |
Исправляет разрушающие (major) уязвимости | ❌ | ✅ молча | вручную | ✅ опционально |
Запускает ваши тесты после каждого изменения | ❌ | ❌ | ❌ | ✅ |
Автоматически откатывает неудачное исправление | ❌ | ❌ | ❌ | ✅ |
Сначала показывает план с уровнями риска | ❌ | ❌ | ⚠️ | ✅ |
Полный откат одной командой | ❌ | ❌ | ❌ | ✅ |
Доступен ИИ-ассистентам (MCP) | ❌ | ❌ | — | ✅ |
Использование библиотеки
Движок можно импортировать напрямую:
import { scan, planFix, fixAll, revertSession } from 'safe-audit-fix';
const result = fixAll('/path/to/project', { includeMajor: false });
console.log(result.applied, result.failed, result.blocked);Планы
--explain: использовать LLM для краткого пересказа журнала изменений/ломающих изменений при планируемом major-обновленииАнализ достижимости: пропускать уязвимости, чей уязвимый путь в коде никогда не вызывается из вашего кода
Автоматические подсказки
overridesдля транзитивных уязвимостей без прямого исправленияПоддержка pnpm / yarn
Лицензия
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
The MCP server that vets MCP servers: identity, risk grade and per-tool risk before you install.
Scan any MCP server for tool-poisoning, security, auth & license. Trust score before install.
Security scanner for MCP servers. Detect vulnerabilities, prompt injection, and tool poisoning.
Security grades for MCP servers and npm/PyPI packages, ranked by CISA KEV and EPSS.
1
Related MCP Servers
- AlicenseCqualityDmaintenanceAudits npm package dependencies for security vulnerabilities, providing detailed reports and fix recommendations with MCP integration.169 npm57MIT
- AlicenseBqualityDmaintenanceAudits package lockfiles for vulnerabilities, supporting npm, yarn, and pnpm. Runs via CLI or as an MCP server over stdio.111 npm83MIT
- FlicenseNot gradedqualityDmaintenanceMCP server that scans project dependencies for security vulnerabilities (CVEs) and provides fix instructions directly in VS Code via Copilot.3-
- AlicenseAqualityDmaintenanceMCP server that audits npm dependencies against the live registry, providing per-dependency reports on versions behind, deprecation, and license.29 npmMIT