14-16 Mar 2026
Voltar ao catalogo

JSON.parse de localStorage sem try/catch

FE-14
MediumAchado ConfirmadoFrontendRodada 4

Descricao

JSON.parse(localStorage.getItem(...)) sem tratamento de excecao. Dado corrompido lanca excecao nao tratada.

Evidencia
`angular/src/app/ofertas-abertas/components/cotar/cotar.component.ts` e outros componentes — `JSON.parse(localStorage.getItem(...))` sem try/catch.
Impacto Tecnico

Valor corrompido em localStorage causa crash do componente. Em mobile, onde o storage pode ser limpo pelo OS, causa tela branca.

Impacto de Negocio

Perda de funcionalidade para usuario em caso de localStorage corrompido.

Recomendacao

Envolver JSON.parse em try/catch com valor default. Considerar servico centralizado de persistencia local.

Arquivos Afetados

angular/src/app/ofertas-abertas/components/cotar/cotar.component.ts

Acoes Relacionadas

{
  "id": "FE-14",
  "title": "JSON.parse de localStorage sem try/catch",
  "severity": "Medium",
  "type": "achado confirmado",
  "category": "frontend",
  "description": "`JSON.parse(localStorage.getItem(...))` sem tratamento de excecao. Dado corrompido lanca excecao nao tratada.",
  "evidence": "`angular/src/app/ofertas-abertas/components/cotar/cotar.component.ts` e outros componentes — `JSON.parse(localStorage.getItem(...))` sem try/catch.",
  "technicalImpact": "Valor corrompido em localStorage causa crash do componente. Em mobile, onde o storage pode ser limpo pelo OS, causa tela branca.",
  "businessImpact": "Perda de funcionalidade para usuario em caso de localStorage corrompido.",
  "recommendation": "Envolver `JSON.parse` em try/catch com valor default. Considerar servico centralizado de persistencia local.",
  "files": [
    "angular/src/app/ofertas-abertas/components/cotar/cotar.component.ts"
  ],
  "pass": 4,
  "relatedActions": [
    "ACT-7.3.5"
  ]
}