Skip to content

fix(security): use #nosec so the standalone gosec scan sees the suppressions - #4

Merged
isaquepinheiro merged 1 commit into
feature/pubpascal-cra-compliancefrom
fix/gosec-nosec
Jul 22, 2026
Merged

fix(security): use #nosec so the standalone gosec scan sees the suppressions#4
isaquepinheiro merged 1 commit into
feature/pubpascal-cra-compliancefrom
fix/gosec-nosec

Conversation

@isaquepinheiro

Copy link
Copy Markdown
Owner

Deixa o Security Scan verde. Nenhuma linha de código muda — só a sintaxe das supressões.

O problema

O job Security Scan roda o gosec avulso, e ele só entende a diretiva própria // #nosec. Ele não lê //nolint:gosec, que é o que o golangci-lint consome.

Resultado: os 14 call sites já estavam suprimidos com justificativa escrita, o job Lint passava verde, e o Security Scan reportava os mesmos 14 achados (7× G204, 5× G304, 1× G117, 1× G703).

O conserto

Troca para a forma // #nosec <regra> -- <motivo>, que é a que o próprio repositório já usa em utils/hash.go:37. Cada justificativa foi mantida palavra por palavra.

-//nolint:gosec // G304: the path is this CLI's own config in the user's home
+// #nosec G304 -- the path is this CLI's own config in the user's home

14 linhas: 13 em pubpascal.go, 1 em contribute.go.

Verificação

CI completo rodado neste branch (via PR temporário #3), 5 de 5 verdes:

Job
Test
Lint
Security Scan
Build (ubuntu-latest)
Build (windows-latest)

Local: go build ./..., go vet ./..., go test ./... limpos. go tool golangci-lint run sem achados nos arquivos deste PR (os 12 restantes são _win.go pré-existentes do upstream, que o CI Linux não compila).

⚠️ Efeito do merge

A base é feature/pubpascal-cra-compliance, que é o head do HashLoad#263. Mergear aqui atualiza aquele PR na hora e dispara o CI da HashLoad — que deve fechar os 5 checks verdes, encerrando o Security Scan vermelho que apareceu depois do merge do #1.

…essions

The Security Scan job runs gosec directly, and gosec only honours its own
#nosec directive -- it does not read //nolint:gosec, which is what
golangci-lint consumes. All fourteen call sites were already suppressed
with a written justification, so the Lint job passed while Security Scan
reported the same fourteen findings.

Switched to the '// #nosec <rule> -- <reason>' form already used in
utils/hash.go, keeping every justification. No code changed.
@isaquepinheiro
isaquepinheiro merged commit 938fcd6 into feature/pubpascal-cra-compliance Jul 22, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant