Snyk Open Source adiciona beta de análise de segurança de C/C++ para código aberto não gerenciado
8 de dezembro de 2021
0 minutos de leituraTemos o prazer de anunciar a versão beta aberta da análise de segurança de C/C++ no Snyk Open Source, que permite que equipes de desenvolvimento e segurança encontrem e corrijam vulnerabilidades de segurança conhecidas em código e bibliotecas de código aberto em C/C++!
Usado em diversos setores e com presença marcante nas indústrias de jogos, hardware/IoT e comunicações, C/C++ continua tendo um grande impacto no desenvolvimento de software e na tecnologia como um todo. De acordo com o índice TIOBE de novembro de 2021, C/C++ está entre as cinco principais linguagens de programação, ocupando, respectivamente, a segunda e a quarta posições. Resultados semelhantes aparecem no índice PYPL e no ranking RedMonk.
Assim como em qualquer outra linguagem de programação, desenvolvedores de C/C++ dependem de código e bibliotecas de código aberto para criar suas aplicações. Essa dependência crescente traz riscos: vulnerabilidades de segurança conhecidas podem estar ocultas nessas bibliotecas. O risco é ainda maior porque, ao contrário do que ocorre com linguagens mais modernas, a maioria dos desenvolvedores de C/C++ não usa um processo padronizado para gerenciar essas bibliotecas (49% dos desenvolvedores de C++ apontam o gerenciamento de pacotes como um dos principais desafios na pesquisa mais recente da comunidade C++). Em vez disso, o código-fonte da biblioteca de código aberto é incluído junto com o código da aplicação, o que dificulta o gerenciamento dessas bibliotecas e a identificação das vulnerabilidades que elas podem conter.
Com este anúncio, quem usa o Snyk Open Source pode reduzir esse risco testando projetos em C/C++ pela Snyk CLI. Assim, é possível fazer testes manuais em ambientes de desenvolvimento locais ou automatizados, como parte de um pipeline de CI/CD.
A versão beta oferece os seguintes recursos:
snyk unmanaged testna Snyk CLIsnyk unmanaged monitorna Snyk CLIDados de vulnerabilidades com base no National Vulnerability Database (NVD)
Vamos ver rapidamente como funciona.
Como configurar a Snyk CLI
Antes de tudo, confira se a Snyk CLI está instalada. Se você já conhece a Snyk CLI e a tem instalada, verifique se está usando a versão 1.775.0 ou posterior.
É fácil configurar a Snyk CLI. Você pode instalá-la rapidamente usando npm ou Homebrew. Depois, basta autenticar sua conta Snyk (se ainda não tiver uma, inscreva-se gratuitamente):
Seu navegador abrirá uma solicitação para autenticar a CLI. É só concluir a autenticação!
Agora você já pode usar a Snyk CLI para analisar seus projetos em C/C++ em busca de vulnerabilidades.
Como analisar vulnerabilidades de segurança
Vamos testar a Snyk CLI pela primeira vez.
Para analisar um projeto, as bibliotecas de código aberto precisam estar no diretório que será analisado. Nesse diretório, execute o seguinte comando da CLI:
A Snyk converte todos os arquivos da pasta em uma lista de assinaturas digitais, ou hashes, e compara essa lista com seus bancos de dados para identificar os componentes de código aberto correspondentes. Em seguida, compara a lista de componentes com o National Vulnerability Database (NVD) e exibe os resultados.
O processo de análise de vulnerabilidades depende da quantidade de arquivos no seu projeto e pode levar de alguns segundos a alguns minutos. Assim que a análise for concluída, você verá uma lista das vulnerabilidades identificadas:

Como mostra o exemplo acima, a lista de problemas inclui a gravidade da vulnerabilidade, seu CVE, informações sobre a biblioteca que introduziu a vulnerabilidade e um link para a vulnerabilidade no NVD.
Outro comando útil exibe as bibliotecas de código aberto incluídas no projeto, estejam elas vulneráveis ou não:
A Snyk CLI agora exibirá uma lista de dependências antes da lista de vulnerabilidades. Como mostra este exemplo, o projeto inclui as bibliotecas curl, iw e zip.

Você também pode importar os resultados da análise para a aplicação Snyk e ter mais visibilidade e recursos de geração de relatórios. Para isso, use o seguinte comando:
É criado um snapshot das suas bibliotecas C/C++ e das vulnerabilidades que elas contêm. Em seguida, ele é importado para a Snyk para análise e revisão adicionais. O snapshot aparecerá como um novo projeto na página Projects:

Há várias outras formas de trabalhar com os resultados da análise, como filtrar os resultados e exportá-los no formato JSON. Consulte a documentação da Snyk para conhecer outras opções da CLI!
Explorando o universo do código aberto não gerenciado
As equipes de desenvolvimento em C/C++ que buscam manter um ritmo acelerado sem abrir mão da segurança enfrentam bases de código com grandes quantidades de código legado. A maior parte do código aberto nessas bases não é declarada: ela é consumida diretamente, por meio da incorporação do código à aplicação. Isso torna extremamente difícil gerenciar os riscos envolvidos.
Este anúncio da versão beta é o primeiro passo da Snyk para ajudar essas equipes a superar esse desafio, ampliando totalmente nossos recursos de análise de composição de software, com foco em desenvolvedores, para proteger código aberto não gerenciado. Nossos próximos passos incluem a integração completa do suporte a C/C++ ao Snyk Open Source com o banco de dados de vulnerabilidades Snyk Intel e, mais adiante, a adição de suporte a código aberto não gerenciado em outros ecossistemas, como JavaScript e Java.
Enquanto começamos a implementar essas próximas etapas, contamos com seu feedback para garantir que estamos seguindo na direção certa. Queremos confirmar que estamos desenvolvendo os recursos certos e na ordem certa.
Fique à vontade para participar! Esses recursos estão disponíveis em beta em todos os planos pagos da Snyk: Team, Business e Enterprise. Para participar do beta, entre em contato com nossa equipe pelo endereço ccpp-beta@snyk.io para confirmarmos se seu caso de uso é compatível.
Para saber mais sobre como analisar seus projetos em C/C++ e sobre o suporte beta, acesse a documentação da Snyk.
Comece a resolver desafios de capture the flag
Aprenda a resolver desafios de capture the flag assistindo sob demanda ao nosso workshop virtual introdutório.
