Relatório de segurança de frameworks JavaScript 2019
30 de outubro de 2019
0 minutos de leituraBoas-vindas ao relatório segurança de frameworks JavaScript da Snyk, edição 2019.
Neste relatório, analisamos o cenário de segurança dos ecossistemas Angular e React. O objetivo não é de forma alguma entrar em rivalidades que possam existir entre eles sobre qual seria o verdadeiro framework — não os comparamos como frameworks concorrentes. Em vez disso, analisamos cada um como uma alternativa viável de ecossistema de front-end para criar projetos JavaScript, com foco nos riscos de segurança, nas práticas recomendadas de cada um e nas diferenças entre eles.
Recomendamos baixar a versão completa do relatório em formato digital. Também disponibilizamos as seguintes seções gerais como artigos:
O cenário de segurança dos frameworks JavaScript em 2019
Comparação lado a lado das vulnerabilidades de segurança do Angular e do React em 2019
Angular vs. React: o risco de segurança das dependências indiretas
Comparação das práticas de programação segura do React e do Angular
Este relatório aborda:
as práticas de segurança de cada um dos dois projetos principais: Angular e React
o cenário de segurança de cada um dos dois ecossistemas de módulos, com base em uma análise aprofundada das vulnerabilidades presentes em cada ecossistema
as práticas de segurança de outras alternativas comuns de frameworks JavaScript de front-end, como Vue.js, Bootstrap e jQuery
as diferenças significativas de segurança entre as alternativas, especialmente entre Angular e React
Principais conclusões do relatório de segurança de frameworks JavaScript 2019
Veja a seguir as principais conclusões do relatório.
Segurança dos projetos principais Angular e React | Segurança dos ecossistemas de módulos Angular e React |
🔘O Angular contém 23 vulnerabilidades de segurança no projeto legado AngularJS (Angular v1.x). | 🔘Os ecossistemas de módulos do React e do Angular apresentam vulnerabilidades de segurança em componentes de bibliotecas de front-end muito populares, com milhões de downloads. Algumas delas ainda não têm correção de segurança disponível. |
🔘Não foram identificadas vulnerabilidades de segurança nos componentes principais do framework Angular. | 🔘Identificamos módulos maliciosos que afetaram os ecossistemas Angular e React, tentando roubar números de cartão de crédito, senhas e outras informações confidenciais usadas em aplicações web de front-end. |
🔘O React tem algumas vulnerabilidades de segurança, que parecem ser encontradas regularmente em suas bibliotecas principais e divulgadas a cada dois anos. | 🔘O framework Next.js demonstrou um forte compromisso com a segurança ao corrigir rapidamente as cinco vulnerabilidades encontradas ao longo da existência do projeto, disponibilizando correções em apenas uma semana. |
🔘Apenas uma vulnerabilidade no projeto principal do React recebeu um CVE oficial. Nenhuma das vulnerabilidades relatadas no Angular consta na lista de CVEs. Juntas, essas constatações mostram a necessidade de um banco de dados de vulnerabilidades que acompanhe as atividades da comunidade open source para identificar problemas de segurança relevantes. | |
🔘A Snyk relata 26 vulnerabilidades de segurança nos projetos principais do Angular e do React, que não são identificadas nos relatórios do npm audit. |
Uma observação sobre CVEs e vulnerabilidades de segurança
Para investigar a postura geral de segurança de cada ecossistema incluído neste relatório, analisamos, entre outros fatores, as vulnerabilidades de segurança identificadas nos diferentes pacotes relevantes. Analisamos e discutimos essas vulnerabilidades no contexto das vulnerabilidades conhecidas e, às vezes, em comparação com elas.
As vulnerabilidades conhecidas recebem um número de identificação na lista de Vulnerabilidades e Exposições Comuns (CVE), mantida pelas Autoridades de Numeração de CVEs (CNAs). Os CVEs recebem pontuações CVSS, que ajudam a entender a gravidade das vulnerabilidades listadas. Saiba mais sobre como as gravidades das vulnerabilidades são pontuadas com o CVSS.
Postura de segurança do Angular e do React | Segurança dos ecossistemas de front-end |
🔘O Angular oferece diretrizes de segurança claras e acessíveis, um contato de segurança e uma política de divulgação responsável — recursos que faltam no projeto React. | 🔘O jQuery teve mais de 120 milhões de downloads nos últimos 12 meses e, segundo a W3Techs, o jQuery v1.x é usado em 84% dos sites que utilizam jQuery. Essa versão apresenta quatro vulnerabilidades XSS de gravidade média. Na prática, se você não usa o jQuery v3.4.0 ou posterior — o que vale para a maioria dos usuários do jQuery —, está usando uma versão com vulnerabilidades de segurança. |
🔘O Angular oferece suporte integrado mais amplo à sanitização de dados e à codificação de saída em diferentes contextos, como atributos URL em elementos HTML de âncora (ou link). | 🔘O Bootstrap teve 79.185.409 downloads nos últimos 12 meses, embora contenha sete vulnerabilidades de Cross-Site Scripting (XSS). Três delas foram divulgadas em 2019. Módulos populares da comunidade, como tiveram mais de 300 mil downloads no mesmo período, apesar de não oferecerem correção de segurança nem caminho de atualização para suas vulnerabilidades XSS. teve mais de dois milhões de downloads e apresenta uma vulnerabilidade XSS de alta gravidade, identificada pela equipe de pesquisa da Snyk com a ajuda de seu sistema proprietário de inteligência contra ameaças. |
🔘O React não tem controles integrados para sanitização de dados, mas codifica a saída por padrão na maioria dos casos e deixa a cargo dos desenvolvedores tratar situações não cobertas, como refs e atributos URL (estes últimos foram abordados na versão React v16.9.0). | 🔘O framework Vue.js teve mais de 40 milhões de downloads nos últimos 12 meses e registra quatro vulnerabilidades no total no núcleo do Vue.js , todas corrigidas. |
🔘O Angular inclui um mecanismo de segurança integrado em seu serviço HTTP para proteger contra vulnerabilidades de Cross-Site Request Forgery (CSRF). Os desenvolvedores React precisam tratar esses problemas por conta própria. |
Continue lendo Angular vs. React: disputa de segurança 2019 ou baixe o relatório completo.
O cenário de segurança dos frameworks JavaScript em 2019
Comparação lado a lado das vulnerabilidades de segurança do Angular e do React em 2019
Angular vs. React: o risco de segurança das dependências indiretas
Comparação das práticas de programação segura do React e do Angular
Este relatório analisa a segurança geral de cada framework, seus ecossistemas de módulos impulsionados pela comunidade e os riscos de segurança associados. Com base nessas informações, oferece recomendações práticas de segurança para usuários do Angular e do React, destacando as melhores práticas adotadas no setor para garantir um código seguro.
Comece a jogar Capture the Flag
Aprenda a resolver desafios de Capture the Flag assistindo à gravação sob demanda do nosso workshop virtual introdutório.
