Skip to content

fix: falso positivo B105 do bandit (bloqueava release 5.2.0 no OSGeo) - #849

Merged
phborba merged 1 commit into
masterfrom
dev
Aug 11, 2026
Merged

phborba merged 1 commit into
masterfrom
dev

Conversation

@phborba

@phborba phborba commented Aug 11, 2026

Copy link
Copy Markdown
Collaborator

Correção necessária pra release 5.2.0 passar no scanner do repositório de plugins do OSGeo. Ver commit 4c1c7753 pra detalhes -- 8 falsos positivos do bandit B105 (hardcoded password), todos chave de parâmetro/checagem de senha vazia, nenhuma credencial real.

🤖 Generated with Claude Code

…word)

O repositório de plugins do OSGeo rejeitou a release 5.2.0 alegando 9
"possíveis senhas hardcoded" (Bandit B105). Rodei bandit no repo inteiro
pra confirmar: são todos falso positivo -- a heurística do B105 dispara
em qualquer atribuição a um nome contendo "pass"/"password", sem entender
o contexto.

Os 8 achados reais (rodando bandit direto, --ignore-nosec):
- 5x `PASSWORD = "PASSWORD"`: chave de QgsProcessingParameter, não senha.
- 2x `FIRST_PASS_MIN_AREA` / `SECOND_PASS_MIN_AREA` (trataRasterAlgorithm):
  nome de parâmetro de área mínima, "PASS" aqui é de "primeira/segunda
  passada" do algoritmo, não senha -- só bate no regex do bandit.
- 1x `password == ""` (postgisDb.py): checagem de senha vazia pra decidir
  se pede credencial ao usuário, não um valor hardcoded.

Suprimidos com `# nosec B105` (convenção padrão do bandit, reconhecida
por qualquer scanner que rode bandit por baixo). Confirmado com bandit
local: 8 suprimidos, 0 issues B105/106/107 restantes, sem warning de
parsing (comentário só com o ID do teste, sem texto livre atrás -- texto
livre vira token inválido e gera warning, embora não quebre a supressão).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@phborba
phborba merged commit 2224f9f into master Aug 11, 2026
1 check failed
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