frontend icon indicating copy to clipboard operation
frontend copied to clipboard

[SECURITY] Resguardar dados que exponham conteúdo sensível para Bots no Front

Open felippe-regazio opened this issue 9 months ago • 1 comments

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

Captura de tela de 2024-05-16 23-18-28

felippe-regazio avatar May 17 '24 02:05 felippe-regazio

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

HbLuca avatar May 17 '24 02:05 HbLuca