O código é apenas um meio de entrega. Todo risco real está no destino, e seu celular mostra isso antes de abrir.
Um QR code é uma forma de escrever texto. O padrão codifica algumas centenas de caracteres — quase sempre um endereço da web, às vezes um número de telefone, uma senha de WiFi ou dados de contato. Esse é todo o conteúdo. Não há programa, nem anexo, nem nada executável dentro dele.
Isso impõe um limite rígido ao que qualquer QR code pode fazer com você. Um leitor lê o texto e o entrega ao seu celular, e o que acontece depois é o que o seu celular faz com um texto daquele tipo. No caso de um endereço da web, isso significa oferecer para abri-lo.
Os limites abaixo decorrem diretamente disso. Nenhum deles depende de o seu celular estar atualizado, de um aplicativo de segurança ou de você ser especialmente cuidadoso — são consequências de o formato não conter nada além de texto.
Os celulares modernos também mostram o destino antes de abri-lo, que é o recurso de segurança mais útil de todo o sistema. Ler essa prévia é quase tudo o que escanear com segurança significa.
Um QR code é um link que você não consegue ler. Esse é o resumo honesto. Em uma tela, você pode passar o cursor sobre um link e ver para onde ele vai, mas um quadrado impresso não diz nada até que a câmera já esteja apontada para ele.
Então todo risco ligado a QR codes é um risco ligado a links: uma página imitando o seu banco e pedindo que você faça login, um formulário falso de pagamento de estacionamento ou de entrega, uma página empurrando você a instalar algo de fora da loja de aplicativos. A técnica já tem nome — quishing — mas não há nada de novo nela. O código é o envelope, não a ameaça.
A única coisa que o formato realmente acrescenta é a confiança pela colocação. Um adesivo em um parquímetro ou na mesa de um restaurante toma emprestada a credibilidade da superfície em que está colado, e é exatamente isso que o faz funcionar.
O ataque comum no mundo real é físico, não técnico. Alguém imprime um código e o cola por cima do legítimo em um parquímetro, um ponto de recarga, um cartaz ou uma maquininha de pagamento. A superfície continua parecendo oficial, porque ela é oficial. Só o quadrado mudou.
Verificar leva um segundo: passe o dedo sobre o código. Um adesivo aplicado sobre uma superfície impressa tem uma borda que dá para sentir e, muitas vezes, uma pequena diferença de cor ou de brilho. Onde houver dinheiro envolvido, vale a pena fazer essa checagem.
Quase tudo se resume a um hábito: olhe o destino antes de tocar nele. O resto é saber quais situações merecem mais do que uma olhada rápida.
Nada disso exige um aplicativo de segurança. A prévia do próprio celular e um momento de atenção cobrem a esmagadora maioria dos casos.
Você herda parte da responsabilidade, porque está ensinando seus clientes a escanear coisas. Aponte os códigos para o seu próprio domínio em vez de um encurtador, para que a prévia mostre algo reconhecível. Imprima o endereço em letras pequenas ao lado do código, para que quem for cauteloso tenha como chegar à página sem escanear nada.
Depois, confira seus códigos fisicamente de tempos em tempos. Se os seus estão em local público, alguém precisa olhar para eles, porque um adesivo colado sobre o seu código vira problema seu na cabeça do cliente, independentemente de quem o colocou ali.
Imprimir o destino ao lado do código em letras pequenas não custa nada e permite que um cliente cauteloso dispense o código por completo.
Um código de WiFi contém o nome da rede e a senha em texto simples, então qualquer pessoa que o fotografe tem a sua senha. Isso é aceitável para uma rede de visitantes e uma péssima ideia para a rede em que roda o seu caixa.
Um código de contato contém os dados que você colocou nele. Imprimir um número de celular pessoal em um cartaz público é uma decisão razoável em algumas situações e lamentável em outras, mas deve ser uma decisão, não um acidente.
O QR Code Agent monta o padrão no seu navegador. O que você digita nunca sai do seu aparelho, não é enviado para um servidor e não é armazenado, porque não existe conta para armazená-lo.
Os códigos são estáticos, ou seja, levam o seu endereço diretamente, sem um redirecionamento no meio que pudesse ser alterado ou tomado depois. A contrapartida é que não podemos ver, editar ou desativar um código depois que você o cria — o que, em termos de segurança, pesa mais para o lado bom, porque não há um meio a ser comprometido.
Grátis, sem cadastro, e seu código nunca expira.
Conseguiu seu código? ☕ Me pague um café — é o que mantém esta ferramenta gratuita para todo mundo.