Repository navigation
Fix: close Code scanning alerts — parse counts without narrowing, keep SARIF to gate severities - #12
Merged
Merged
Conversation
Sessions, TerminateBackends и ListDatabases сужали значение из psql до int (int(parseInt64(...))): CodeQL отмечал go/incorrect-integer-conversion. Добавлен parseCount: мусор, отрицательное число и переполнение int трактуются как 0, а не обрезаются. Разбор закрыт табличным тестом TestParseCount и fuzz-целью FuzzParseCount.
trivy-action в формате sarif снимает TRIVY_SEVERITY, пока не задан limit-severities-for-sarif, поэтому в GitHub Security попадали находки LOW/UNKNOWN, которых ворота не видят. Вход задан в обоих SARIF-шагах trivy-scan.yml, во fs-шаге добавлен ignore-unfixed: true. Политика отчётности уточнена в README.md, SECURITY.md и .trivyignore.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Что сделано
Закрыты 7 открытых алертов Code scanning (3 CodeQL + 4 Trivy).
go/incorrect-integer-conversion(high, три места): число подключений и строк из выводаpsqlразбиралось сужениемint64→int(int(parseInt64(...))). ДобавленparseCount(
internal/pg/client.go): значение вне диапазонаintтрактуется как 0, а не обрезается;применён в
Sessions,TerminateBackendsиListDatabases. Разбор закрыт табличным тестомTestParseCountи fuzz-цельюFuzzParseCount.trivy-actionв форматеsarifснимаетTRIVY_SEVERITY, пока не заданlimit-severities-for-sarif, поэтому в GitHub Security попадало то, чего «ворота» не видят.Вход задан в обоих SARIF-шагах
trivy-scan.yml, воfs-шаге добавленignore-unfixed: true:уровни отчёта совпадают с «воротами» (CRITICAL/HIGH без исправления). Сами находки — вне области
по
SECURITY.md: otelv1.44.0во встроенном сканере образаcio(вaquasec/trivy:0.74.0,последнем релизе, в
v0.72.0былоv1.43.0) и неиспользуемыйx/crypto/openpgpвfs-сканеsqlbrc(пакет не импортируется,govulncheckдостижимости не видит, фикса нет).README.md,SECURITY.md,.trivyignore; запись вSQL backup restore clone/CHANGELOG.md(раздел0.4.0, «Исправлено»).Тип изменения
Как проверено
gofmt -l cmd internal— пустоgo vet ./...go test ./... -count=1golangci-lint run ./...(.work/lint-docker.ps1, v2.13.2) —0 issues.cioи наfs-деревеsqlbrc— без--severityнаходка есть, с уровнями ворот её нет; fuzz-цель
FuzzParseCount(20 с, 8.77M execs, падений нет)README.mdиCHANGELOG.mdзатронутого инструментаSECURITY.md,README.mdCHANGELOG.mdсовпадает с тегом<инструмент>-vX.Y.Z(не применимо: релиза нет)Дополнительно:
.work/build-and-test-sqlbrc.ps1—BUILD AND TEST OK;python .work/validate-workflows.py—6 файлов OK; actionlint — пусто; zizmor —
No findings to report.;python .work/check-doc-links.py—10 ссылок, битых 0.
go test -raceлокально не запускается (-race requires cgo), шаг остаётся в CI.Влияние и риски
psqlрезультат тот же; при значениивне диапазона
intсчётчик теперь 0 вместо обрезанного числа.достижимость уязвимостей по-прежнему проверяет
govulncheck, правила — CodeQL.