Skip to content

fix(security): corrigir 7 alertas do code scanning (CodeQL)#32

Merged
andrenfe merged 2 commits into
masterfrom
bugfix/code-scanning-alerts
Jun 13, 2026
Merged

fix(security): corrigir 7 alertas do code scanning (CodeQL)#32
andrenfe merged 2 commits into
masterfrom
bugfix/code-scanning-alerts

Conversation

@andrenfe

Copy link
Copy Markdown
Member

Resumo

Fecha 7 alertas do Code Scanning (CodeQL) — parte 1 de 2 do plano de segurança da #31.

Alertas Severidade Correção
#1–3 🟡 Média permissions: contents: read no nível do workflow em ci.yml (least privilege para o GITHUB_TOKEN)
#6 🔴 Alta Remoção de scripts/download-openapi.ts — código morto: todos os 5 endpoints retornam 404 e as specs são mantidas manualmente em openapi/spec/
#5, #7, #8 🔴/🟡 Remoção de lib/ (código legado v2)

Por que deletar lib/ é seguro

  • Nenhum arquivo fora de lib/ importa nada dele (src/tests/scripts/examples/configs verificados)
  • Não é publicado no pacote (files inclui apenas dist/, docs e skills/)
  • Não é executável: depende de when, que não está declarada no package.json nem instalada
  • Usuários v2 consomem nfe-io@2.x do npm; o código permanece no histórico git

Detalhes

  • O job openapi-validation mantém seu bloco permissions próprio (pull-requests: write para comentar em PRs) — job-level sobrepõe workflow-level
  • publish.yml já tinha permissions explícitas — não tocado
  • CLAUDE.md e README.md atualizados (referências ao dual codebase e ao download:spec)

Verificação

  • npm run validate:spec + npm run generate — pipeline de specs intacto
  • npm run typecheck — sem erros
  • npm test -- --run650 testes passando (31 arquivos, 4 skipped)

Refs #31

- ci.yml: define permissions minimas (contents: read) para o GITHUB_TOKEN
  no nivel do workflow (alertas #1-3)
- remove scripts/download-openapi.ts e o script download:spec: codigo morto
  (todos os endpoints retornam 404; specs sao mantidas manualmente em
  openapi/spec/) (alerta #6)
- remove lib/ (codigo legado v2): nao importado, nao publicado no pacote
  (files exclui) e nao executavel (depende de 'when', nao instalada);
  v2 vive no historico git e no nfe-io@2.x do npm (alertas #5, #7, #8)
- atualiza CLAUDE.md e README.md

Refs #31
@github-actions

Copy link
Copy Markdown

📋 OpenAPI Spec Validation

✅ All specs validated and types generated successfully

Specs processed:

  • calculo-impostos-v1.yaml - 27.90 KB, 853 lines
  • consulta-cnpj.yaml - 34.28 KB, 1128 lines
  • consulta-cpf.yaml - 3.39 KB, 83 lines
  • consulta-cte-v2.yaml - 18.33 KB, 578 lines
  • consulta-endereco.yaml - 11.17 KB, 343 lines
  • consulta-nf-consumidor.yaml - 43.41 KB, 1279 lines
  • consulta-nf.yaml - 137.87 KB, 3119 lines
  • consulta-nfe-distribuicao-v1.yaml - 53.07 KB, 1775 lines
  • nf-consumidor-v2.yaml - 293.87 KB, 7609 lines
  • nf-produto-v2.yaml - 309.41 KB, 8204 lines
  • nf-servico-v1.yaml - 257.42 KB, 6252 lines
  • nfeio.yaml - 15.86 KB, 630 lines

Generated types available as artifact in src/generated/.

@github-actions

Copy link
Copy Markdown

📋 OpenAPI Spec Validation

✅ All specs validated and types generated successfully

Specs processed:

  • calculo-impostos-v1.yaml - 27.90 KB, 853 lines
  • consulta-cnpj.yaml - 34.28 KB, 1128 lines
  • consulta-cpf.yaml - 3.39 KB, 83 lines
  • consulta-cte-v2.yaml - 18.33 KB, 578 lines
  • consulta-endereco.yaml - 11.17 KB, 343 lines
  • consulta-nf-consumidor.yaml - 43.41 KB, 1279 lines
  • consulta-nf.yaml - 137.87 KB, 3119 lines
  • consulta-nfe-distribuicao-v1.yaml - 53.07 KB, 1775 lines
  • nf-consumidor-v2.yaml - 293.87 KB, 7609 lines
  • nf-produto-v2.yaml - 309.41 KB, 8204 lines
  • nf-servico-v1.yaml - 257.42 KB, 6252 lines
  • nfeio.yaml - 15.86 KB, 630 lines

Generated types available as artifact in src/generated/.

@andrenfe andrenfe merged commit 8ac616f into master Jun 13, 2026
15 checks passed
@andrenfe andrenfe deleted the bugfix/code-scanning-alerts branch June 13, 2026 01:39
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