frontend
frontend copied to clipboard
[SECURITY] Resguardar dados que exponham conteúdo sensível para Bots no Front
Descrição
Chaves PIX em formato e-mail não devem carregar totalmente reveladas por security concerns. scrappers, spammers, bots genericos em geral ou scanners maliciosos podem se aproveitar dos endereços expostos. (Este mesmo problema pode ser levado em conta para qualquer dado sensível passível de assédio e/ou sniffing automatico como email, cpf, telefones, etc). Isso tbm evita que esses emails sejam indexados em listas ou engines em geral e disponibilizados para busca direta.
Prioridade
- Baixa: coisas poucas, sistema pode ser usado. Problemas de grafia são incluídos aqui
Solução proposta
Pode ajudar na segurança caso a string em questão seja truncada para nao apresentar a chave pix inteira, ao invés de:
[icon] Chave Pix: [email protected] [copiar]
Podemos ter
[icon] Chave Pix: *********@gmail.com [revelar] [copiar]
O truncate pode ser feito de maneira generica para qualquer tipo de dado com a seguinte função:
function partialHiddenStr(str, char = '*') {
if (!str || typeof str !== 'string') {
return '';
}
if (str.length === 1) {
return char;
}
const middle = str.length / 2;
return char.repeat(middle) + str.substring(middle);
}
A função copiar continua copiando o dado completo. Essa é apenas uma sugestão, pode ser que hajam outros métodos de proteger a apresentação desses dados.
Ambiente
All
Evidência
Correlacionado a: https://github.com/SOS-RS/backend/issues/114 https://github.com/SOS-RS/frontend/pull/124 https://github.com/SOS-RS/frontend/issues/182 https://github.com/SOS-RS/frontend/issues/188 https://github.com/SOS-RS/frontend/issues/191