Skip to main content

Snyk leva a abordagem de AppSec que prioriza desenvolvedores ao C/C++

Escrito por
blog feature snyklaunch

4 de abril de 2023

0 minutos de leitura

A Snyk é conhecida por suas soluções de segurança de aplicações que priorizam os desenvolvedores em diversos ecossistemas, como Java, JavaScript, Python e outros. A Snyk permite que os desenvolvedores não apenas encontrem problemas, mas também apliquem correções rapidamente, revolucionando a segurança e integrando-a desde as primeiras etapas do ciclo de vida de desenvolvimento de software (SDLC).

Em 2022, lançamos a primeira etapa de suporte a pacotes open source de C/C++ e, hoje, temos o prazer de anunciar a beta aberta de C/C++ no Snyk Code e o suporte a licenças no Snyk Open Source.

Equipes de desenvolvimento estão sentindo o impacto

O ecossistema C/C++ tem mais de 40 anos de história. Com projetos famosos como Linux e Apache Open Office, o C++ esteve na vanguarda da revolução do open source. Mas, enquanto Java, C# e JavaScript lidaram com o “inferno das dependências” — ou seja, o gerenciamento da quantidade cada vez maior de dependências de bibliotecas open source —, o C++ não tem uma abordagem geral para isso. O gerenciamento de dependências se tornou um dos maiores desafios para quem desenvolve em C++ atualmente.

No ano passado, demos o primeiro passo para apoiar a comunidade C/C++, permitindo encontrar bibliotecas open source em aplicações C/C++ sem gerenciador de pacotes. Nesse período, aprendemos muito com nossos clientes e comprovamos que essa comunidade de desenvolvimento forte e ativa precisa de mais do que apenas uma integração com gerenciadores de pacotes para lidar com a complexidade e a profundidade do ecossistema.

Aplicações C/C++ enfrentam os mesmos desafios de programação segura e os mesmos componentes vulneráveis que qualquer outra linguagem de desenvolvimento moderna. No entanto, esse ecossistema acumula anos de dívida técnica, tem tipos de vulnerabilidade específicos e surgiu antes dos gerenciadores de pacotes — por isso, os desenvolvedores precisam incorporar bibliotecas open source diretamente ao código.

Ao procurar problemas de segurança detectáveis por análise estática, normalmente é preciso compilar esses projetos, o que torna os fluxos de trabalho de desenvolvimento mais lentos ou os interrompe. Muitas vezes, C/C++ é usado junto com várias outras linguagens, e as abstrações das aplicações dificultam identificar o fluxo real dos dados.

Toda essa complexidade deixa lacunas críticas que frustram desenvolvedores e equipes de segurança, como:

Baixa produtividade dos desenvolvedores devido a outras ferramentas que:

  • são lentas e interrompem os fluxos de trabalho de desenvolvimento

  • exibem mensagens difíceis de entender

  • geram alertas de vulnerabilidade que não ajudam a agir

  • falta de uma análise adequada do fluxo de dados

  • exigem uma longa curva de aprendizado

Baixo retorno sobre o investimento e alto risco, pois as ferramentas de segurança existentes para C/C++ deixam a desejar: 

  • são caras

  • exigem a compilação do código 

  • são de nicho e especializadas

  • são difíceis de configurar e manter

  • são difíceis de integrar aos pipelines de build

  • acabam deixando as aplicações vulneráveis

Falta de visibilidade sobre dependências open source, vulnerabilidades associadas e termos de licença, porque: 

  • não há gerenciadores de pacotes padronizados

  • a maioria dos desenvolvedores incorpora cópias de bibliotecas open source

Como a Snyk está ajudando?

A Snyk é referência no setor por oferecer correções rápidas e práticas para desenvolvedores, e agora as equipes de desenvolvimento C/C++ têm a mesma experiência. Com base no trabalho iniciado no ano passado, a Snyk agora encontra problemas de AppSec ocultos em meio ao código C/C++ e verifica licenças de acordo com as políticas de toda a organização para garantir a conformidade.

A solução também identifica ainda mais pacotes open source, incluindo a maioria dos encontrados em gerenciadores de pacotes populares, como o Conan, sem precisar de um arquivo de manifesto.

E, claro, a Snyk se integra facilmente às ferramentas que você já usa, como IDEs, para que os desenvolvedores encontrem e corrijam problemas rapidamente, antes de confirmar alterações no código.

Suporte a C/C++ no Snyk Code 

O conjunto de regras de análise estática lançado hoje beneficiará principalmente desenvolvedores que criam aplicações para desktop, servidores e web. À medida que adicionarmos mais regras, outros tipos de aplicações, como as embarcadas e automotivas, também serão contemplados. O Snyk Code se integra facilmente às ferramentas existentes: oferece plugins para IDEs e analisa o código-fonte diretamente, sem precisar executar um compilador.

Hoje, estamos lançando o suporte a C/C++ em beta aberta e, ao longo desse período, vamos aprimorar continuamente a cobertura e os recursos. Nosso processo de pesquisa em segurança de código começa com a análise de centenas de milhares de repositórios open source. Combinamos análises de IA e machine learning com o trabalho de especialistas em segurança para criar a base de conhecimento do Snyk Code. Não será diferente com o ecossistema C/C++. Os resultados vão melhorar continuamente à medida que mais projetos forem analisados.

O suporte a C/C++ está em beta e precisa ser ativado na seção Snyk Settings / Preview da interface web da Snyk. Durante esse período, contamos com a sua opinião. Entre em contato conosco por meio de um chamado de suporte no aplicativo e conte como as regras estão funcionando para você — teremos prazer em fazer os ajustes necessários. Nos próximos meses, a Snyk usará seu processo exclusivo no setor de machine learning orientado por especialistas humanos, combinado à IA simbólica, para adicionar conteúdo e aprimorar a base de conhecimento de C/C++, além de ampliar a cobertura de problemas conhecidos dessa linguagem.

IDE exibindo código C com um estouro de buffer em strcpy destacado e um painel do Snyk listando vulnerabilidades e exemplos de correções
Painel do Snyk na IDE mostrando um estouro de buffer crítico em código C++, com fluxo de dados e exemplos externos de correções

Licenças C/C++ no Snyk Open Source

Além de identificar pacotes open source e oferecer orientações para corrigir problemas, o Snyk Open Source agora mostra as licenças open source de C/C++ e verifica se elas estão de acordo com as políticas definidas pelas equipes de segurança e jurídica para toda a organização, ajudando a garantir a conformidade. Os desenvolvedores recebem orientações em tempo real sobre as licenças permitidas, conforme as políticas da empresa.

Na CLI, use snyk test --unmanaged no diretório principal do seu projeto.

Ao adicionar o parâmetro --unmanaged nas configurações do projeto do plugin da Snyk — ou da extensão para CLion, Visual Studio Code ou qualquer outra IDE compatível —, você pode usar esse recurso diretamente na IDE.

Painel de vulnerabilidades da Snyk destacando um problema de licença AGPL-3.0-only na dependência open5gs
Painel de dependências que lista os pacotes curl, glaspell, open5gs e OpenSSL, com a quantidade de problemas e informações sobre licenças
Histórico do projeto Snyk que mostra problemas em licenças de código aberto, filtros por gravidade e alertas de conformidade para dependências do GNU Aspell e do Open5GS.

C/C++ na era moderna

Com o suporte de AppSec da Snyk para C/C++, facilitamos a identificação e a correção de problemas de segurança com integrações intuitivas e fáceis de usar, enquanto oferecemos às equipes de segurança toda a visibilidade de que precisam — tudo em uma plataforma baseada em inteligência de segurança de ponta.

E isso resulta em… 

Desenvolvedores satisfeitos e produtivos, graças a:

  • integrações perfeitas aos fluxos de trabalho de desenvolvimento

  • mensagens fáceis de entender e que ajudam a agir

  • análise do fluxo de dados diretamente no código original

“85% dos desenvolvedores que usam a Snyk a recomendam a outras pessoas, citando a considerável economia de tempo e a facilidade de uso.”

Correções fáceis em menos tempo, com a abordagem moderna da Snyk, que prioriza os desenvolvedores e:

  • analisa o código de forma automática e contínua, em minutos ou até segundos

  • analisa o código-fonte sem precisar compilá-lo

  • oferece barreiras de segurança em todo o SDLC, por exemplo, analisando cada PR Check

Visibilidade completa dos problemas de segurança em C/C++ com recursos como: 

  • banco de dados de open source para C/C++ de ponta, com pacotes, licenças e vulnerabilidades

  • identificação de pacotes open source não gerenciados (sem gerenciador de pacotes) por meio de impressão digital de assinatura de arquivo

  • relatórios centralizados para toda a organização, abrangendo todos os produtos da plataforma, com filtros fáceis de usar

Para assistir à demonstração, confira a gravação sob demanda do SnykLaunch.

Comece hoje mesmo a proteger seus projetos em C/C++.

Inicie uma avaliação gratuita e agende um horário com um de nossos especialistas em segurança de C/C++ para testar os novos recursos da versão beta.

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.