ревью: govulncheck в task setup и статус WARN в гейте
Инструмент ставится вместе с остальными (версия закреплена), гейт его больше не пропускает. Уязвимость почти всегда унаследована — это состояние зависимостей и тулчейна, а не диффа, — поэтому шаг не краснит гейт, а получает статус WARN: виден в сводке, уезжает в находки и в границы покрытия. Иначе красный гейт на каждом прогоне перестают читать. Уязвимость, приехавшую с новой зависимостью change, агент отличает по трассам вызовов и выводит как major. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -19,8 +19,8 @@ color: red
|
||||
1. Определи базу диффа: `git merge-base HEAD master` (на master — `HEAD~1`) или
|
||||
возьми её из задания.
|
||||
2. Запусти `task gate BASE=<база>` (обёртка над `scripts/gate.sh`). Он гонит все
|
||||
шаги до конца и печатает сводку `OK`/`FAIL`/`SKIP`; подробности — в
|
||||
`tmp/gate/<шаг>.log`.
|
||||
шаги до конца и печатает сводку `OK`/`FAIL`/`WARN`/`SKIP`; подробности — в
|
||||
`tmp/gate/<шаг>.log`. Краснит гейт только `FAIL`.
|
||||
3. По каждому `FAIL` открой лог и прочитай **реальную** причину. Не пересказывай
|
||||
строку «FAIL» — назови упавший тест, файл и утверждение.
|
||||
4. **Отдели новое от унаследованного.** Если отказ выглядит не связанным с
|
||||
@@ -45,6 +45,13 @@ color: red
|
||||
- **`SKIP` любого шага** — идёт в границы покрытия дословно, с причиной. Молча
|
||||
пропущенная проверка — это ложное ощущение проверенности, ровно то, ради чего
|
||||
гейт и заводился.
|
||||
- **`WARN` от `govulncheck`** — гейт не краснеет, но находка нужна. Открой
|
||||
`tmp/gate/govulncheck.log` и посмотри трассы вызовов: уязвимость, приехавшая с
|
||||
зависимостью **этого** change, — `major`; уязвимость в стандартной библиотеке
|
||||
или в давно стоящей зависимости — `minor` с пометкой «унаследовано» и с
|
||||
конкретным лекарством (версия тулчейна или модуля, в которой исправлено).
|
||||
Недостижимые из нашего кода уязвимости в отчёт не выноси — только строкой в
|
||||
границах покрытия.
|
||||
- **Правило есть в конвенциях, но не в линтере.** Если по ходу видно, что
|
||||
`FAIL`/замечание могло быть поймано правилом — пиши `Promote candidate` по
|
||||
процедуре `references/promote.md`.
|
||||
|
||||
Reference in New Issue
Block a user