Skip to content

Security: harden XSS and script CSP - #44

Merged
pedrobragabes merged 1 commit into
mainfrom
codex/issue-23-xss-csp
Jul 16, 2026
Merged

Security: harden XSS and script CSP#44
pedrobragabes merged 1 commit into
mainfrom
codex/issue-23-xss-csp

Conversation

@pedrobragabes

Copy link
Copy Markdown
Collaborator

Resumo

  • substitui handlers e scripts inline por listeners externos, sem expor funcoes em window
  • remove os sinks persistentes em produtos, perfil, seletor de lojas, modal, cards e popups do mapa
  • troca imagens de background-image por <img>, valida coordenadas e mantem URLs de loja fora de codigo executavel
  • remove 'unsafe-inline' de script-src no Express e aplica a mesma protecao de scripts nas paginas do host estatico
  • atualiza o shell PWA para v12 e adiciona guards de regressao/payload malicioso

Escopo consciente

style-src 'unsafe-inline' permanece nesta PR para evitar uma refatoracao visual de mais de mil linhas. A remocao completa de estilos inline esta isolada na #43, no mesmo milestone v0.2.

Validacao local

  • 16 modulos JavaScript: sintaxe valida
  • 4 suites direcionadas: 20/20 testes
  • npm run frontend:build e npm run frontend:check: 33 arquivos consistentes
  • npm audit --omit=dev --audit-level=high: 0 vulnerabilidades
  • QA no navegador: vitrine, busca, modal/favorito, imagens, mapa/popup, login e cadastro
  • QA do frontend em host estatico separado: sem violacoes CSP

A suite completa com PostgreSQL fica a cargo do CI da PR.

Closes #23

@pedrobragabes
pedrobragabes marked this pull request as ready for review July 16, 2026 15:30
Copilot AI review requested due to automatic review settings July 16, 2026 15:30
@pedrobragabes
pedrobragabes merged commit 7dab250 into main Jul 16, 2026
1 check passed
@pedrobragabes
pedrobragabes deleted the codex/issue-23-xss-csp branch July 16, 2026 15:30

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

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.

Security: eliminar XSS persistente em imagens e handlers inline

2 participants