Snyk leva a abordagem de AppSec que prioriza desenvolvedores ao C/C++
4 de abril de 2023
0 minutos de leituraA 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.


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.



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.



