Files
portal/docs/superpowers/specs/2026-06-17-semgrep-run-spec.md
T
Дмитрий 3bf5eaed81 docs(security): аудит доведён до конца + поправка по верификации кода + баги стены
Прогон всех 5 сканеров: gitleaks 0 / Semgrep 0 / Ward 2(dev) / Nuclei 0(medium+) / ZAP 0(high). pg_anonymizer не установлен (факт). Три ложных P0 сняты проверкой кода (E9/E18/admin/SSRF закрыты). Вердикт NO-GO держат F-P1, pg_anonymizer, прод-.env. Трекер открытых вопросов + файл-баг (чтение под стеной, десинк F-J, зацикл наставника) для claude-brain.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 16:25:23 +03:00

1.9 KiB
Raw Blame History

Спека — прогон Semgrep после установки

Цель

Прогнать статический анализатор Semgrep (npm run sast) после его установки в окружение и занести результат в отчёт go-live security gate. Цель — ветка main, локально; код/схема/git не правятся, правка только в файле отчёта.

S1 — прогон Semgrep

Контракт. Запустить npm run sast (Semgrep с конфигами p/php, p/javascript, p/typescript, p/secrets + локальный .semgrep.yml). Результат разнести по severity.

Edge-case. Если вывод уезжает в фоновый запуск и недоступен на чтение — результат помечается «получить из вывода», не выдаётся за «чисто». Если Semgrep всё ещё не на PATH — фиксируется, что установка не завершилась.

Конвенция. critical/high = NO-GO; medium = предупреждение; low/info — справочно.

Критерий. Semgrep отработал, результат по severity готов для отчёта.

S2 — занести в отчёт

Контракт. В отчёте docs/security/2026-06-17-go-live-security-report.md строка Semgrep обновляется с PENDING на фактический результат (severity-разбивка).

Критерий. Строка Semgrep в отчёте отражает реальный прогон.

[
  {"id":"vc1","kind":"EXTRACTED","ref":"docs/security/2026-06-17-go-live-security-report.md","anchor":"SECURITY GO-LIVE REPORT"},
  {"id":"vc2","kind":"EXTRACTED","ref":"docs/security/2026-06-17-open-items.md","anchor":"Открытые вопросы"}
]