Escrever código seguro de maneira que evite code injection pode até parecer uma tarefa comum, mas existem muitas armadilhas ao longo do caminho.
Liran Tal, em um artigo muito bom e cheio de exemplos, nos contextualiza sobre o problema e nos mostra 5 maneiras de como proteger nossas aplicações.
O fato de uma pessoa que desenvolver seguir as melhores práticas de segurança não significa que outras estejam fazendo o mesmo.
Provavelmente você está usando pacotes open-source em suas apps, certo? Como saber se esses pacotes foram desenvolvidos com segurança?
E se um código inseguro como eval() estiver presente?
Em resumo, as 5 maneiras são:
Evitar o uso de
eval(),setTimeout(), andsetInterval()Evitar usar o
new Function()Evitar serialization
Usar linter de segurança
Usar uma ferramenta SCA (static code analysis) para achar e resolver problemas de code injection
Quer saber mais?
Confere o artigo completo aqui: https://snyk.io/blog/5-ways-to-prevent-code-injection-in-javascript-and-node-js/


