Skip to main content

Snyk Open Source adiciona análise de segurança de C/C++ para dependências não gerenciadas

Escrito por
Headshot of Michal Brutvan

Michal Brutvan

blog feature oss cpp

5 de abril de 2022

0 minutos de leitura

Temos o prazer de anunciar a disponibilidade geral da análise de segurança de C/C++ no Snyk Open Source, permitindo que equipes de desenvolvimento e segurança encontrem e corrijam vulnerabilidades de segurança conhecidas nas dependências de bibliotecas open source de C/C++.

C and C++ Scans in the Snyk CLI

Sem manifestos

O ecossistema de C e C++ é desafiador e complexo, com muitos projetos open source, repositórios e gerenciadores de pacotes para acompanhar. Esta versão é o primeiro passo da nossa jornada para oferecer suporte à análise de código não gerenciado.

Ao contrário de outras soluções, a Snyk CLI não precisa de um manifesto para resolver as dependências. Ela converte arquivos em assinaturas digitais, ou hashes, que são comparados com os bancos de dados da Snyk para gerar uma lista dos componentes open source correspondentes. Essa lista é usada para consultar o Snyk Vulnerability Database em busca de vulnerabilidades.

Feito para desenvolvedores

A plataforma de segurança para desenvolvedores da Snyk é única no setor: é a única solução criada para desenvolvedores que permite criar toda a aplicação moderna com rapidez e segurança em um ambiente DevOps. O Snyk Open Source se diferencia de ferramentas semelhantes por entender o contexto e a estrutura de projetos em C e C++. Isso resulta em menos falsos positivos e menos tempo gasto corrigindo identificações manualmente.

Banco de dados selecionado por especialistas

Nossa equipe de especialistas em segurança e open source aprimora continuamente nosso banco de dados de vulnerabilidades em projetos open source de C e C++, além de mapear bifurcações e espelhos de projetos para dar mais contexto à Snyk CLI. Quando uma vulnerabilidade é detectada, a Snyk recomenda correções, como a versão do pacote para a qual você deve atualizar para resolver o problema.

Aviso de segurança que mostra CVE-2016-9842 e CWE-189, com instruções para atualizar madler/zlib para a versão 1.2.9 ou superior.

Como funciona

Esta versão adiciona uma nova opção de linha de comando, --unmanaged, que instrui a CLI a analisar dependências no código-fonte sem precisar de manifestos.

Para analisar o código em busca de dependências open source de C/C++, basta executar snyk test --unmanaged. Para importar o snapshot de dependências e problemas para o painel da Snyk, execute snyk monitor --unmanaged.

Como configurar a Snyk CLI

Primeiro, verifique se você instalou a Snyk CLI e está usando a versão 1.885.0 ou posterior.

É simples configurar a Snyk CLI. Você pode usar npm ou Homebrew para instalá-la rapidamente. Depois, basta autenticar com sua conta Snyk (se ainda não tiver uma, inscreva-se gratuitamente).

$ npm install -g snyk
$ snyk auth

Seu navegador será aberto com uma solicitação para autenticar a CLI. Faça a autenticação!

Agora você já pode começar a usar a Snyk CLI para analisar seus projetos de C/C++ em busca de vulnerabilidades.

Análise de vulnerabilidades de segurança

Vamos testar a Snyk CLI executando um teste.

Para analisar um projeto, as bibliotecas open source precisam estar no diretório que será analisado. Nesse diretório, execute o seguinte comando da CLI:

$ snyk test --unmanaged

Dependendo do número de arquivos no seu projeto, a análise pode levar de alguns segundos a alguns minutos. Assim que ela terminar, você verá uma lista das vulnerabilidades identificadas:

Issues:

 ✗ [Critical] Double Free
    Introduced through: <https://curl.se|curl@7.58.0>
    URL: <https://security.snyk.io/vuln/SNYK-UNMANAGED-CURL-2317564>

 ✗ [Critical] Out-of-bounds Read
    Introduced through: <https://curl.se|curl@7.58.0>
    URL: <https://security.snyk.io/vuln/SNYK-UNMANAGED-CURL-2317585>

Tested 3 dependencies for known issues, found 29 issues.

Monitoramento de novas vulnerabilidades

O comando snyk monitor --unmanaged cria um snapshot das dependências e vulnerabilidades e o envia para o app da Snyk. Em seguida, a Snyk monitora as dependências e avisa você quando novas vulnerabilidades são adicionadas ao nosso Vulnerability Database.

À medida que nosso banco de dados de projetos open source é atualizado e aprimorado, novas dependências podem ser descobertas. Execute o comando snyk monitor --unmanaged regularmente para atualizar a lista de dependências monitoradas.

Em breve

Seu feedback é sempre importante para nós. Vamos aprimorar os recursos da CLI para adicionar suporte aos plugins de CI e IDEs da Snyk. Também estamos atualizando as APIs para pesquisar diretamente vulnerabilidades em pacotes de C/C++ e integrar testes com o Conan e outros gerenciadores de pacotes. Nossa equipe do Snyk Code também planeja adicionar suporte a projetos de C e C++ no futuro. Para compartilhar outras ideias e sugestões, entre em contato pelo e-mail ccpp@snyk.io.

Cadastre-se na Snyk e experimente gratuitamente hoje mesmo!

Participe de “Como usar a CLI para C/C++”

Michal Brutvan (gerente sênior de produto da Snyk) e Jason Lane (diretor de marketing de produto da Snyk) vão conversar sobre o que esse recurso significa para você e abrir espaço para sugestões e perguntas nesta sessão de Office Hours de 30 minutos, no dia 21 de abril.

Proteja suas dependências de código aberto

As ferramentas da Snyk, desenvolvidas para quem programa, criam PRs de correção com um clique para dependências de código aberto vulneráveis e suas dependências transitivas.

Leia mais

blog feature snyk container custom base recommendations
Blog

Conheça o Evo Agentic AppSec: segurança que acompanha o ritmo do desenvolvimento com IA

O desenvolvimento impulsionado por IA está avançando mais rápido do que os fluxos de trabalho de segurança tradicionais. O AppSec agentivo da Snyk usa agentes de segurança para encontrar, corrigir e verificar vulnerabilidades continuamente, enquanto as pessoas definem os critérios.

blog feature ai violet
Blog

VulnBump: agentes de IA conseguem corrigir dependências vulneráveis sem quebrar o build?

O VulnBump testa agentes de IA em 307 atualizações reais de dependências. Uma correção só é considerada válida se eliminar a vulnerabilidade e mantiver o build e os testes funcionando.

Blog

Modelos de ponta encontraram as vulnerabilidades. Só o atacante encontrou as cadeias.

A análise estática encontrou as falhas, mas só os testes de ataque em aplicações ativas provaram como elas poderiam ser encadeadas para causar invasões. Uma comparação entre Evo COS, Claude Security e Claude Code Security.