Skip to main content

Snyk Open Source agrega análisis de seguridad de C/C++ para dependencias no administradas

Escrito por
Headshot of Michal Brutvan

Michal Brutvan

blog feature oss cpp

5 de abril de 2022

0 minutos de lectura

Nos complace anunciar la disponibilidad general del análisis de seguridad de C/C++ en Snyk Open Source, que permite a los equipos de desarrollo y seguridad encontrar y corregir vulnerabilidades de seguridad conocidas en las dependencias de bibliotecas de código abierto de C/C++.

C and C++ Scans in the Snyk CLI

Sin archivos de manifiesto

El ecosistema de C y C++ es complejo y difícil de recorrer, con muchos proyectos, repositorios y administradores de paquetes de código abierto que supervisar. Esta versión es nuestro primer paso en el camino hacia la compatibilidad con el análisis de código no administrado.

A diferencia de otras soluciones, Snyk CLI no necesita un archivo de manifiesto para resolver las dependencias. Convierte los archivos en firmas digitales, o hashes, que luego se comparan con las bases de datos de Snyk para crear una lista de componentes de código abierto coincidentes. Esta lista se usa luego para consultar Snyk Vulnerability Database en busca de vulnerabilidades.

Primero para desarrolladores

La plataforma de seguridad para desarrolladores de Snyk es única en el sector: es la única solución diseñada primero para desarrolladores que permite crear toda la aplicación moderna de forma rápida y segura en un entorno de DevOps. Snyk Open Source se diferencia de herramientas similares porque comprende el contexto y la estructura de los proyectos de C y C++. Esto genera menos falsos positivos y reduce el tiempo dedicado a corregir identificaciones manualmente.

Base de datos seleccionada por expertos

Nuestro equipo de expertos en seguridad y código abierto mejora continuamente nuestra base de datos de vulnerabilidades para proyectos de código abierto de C y C++, y también asigna las bifurcaciones y réplicas de proyectos para dar más contexto a Snyk CLI. Cuando se detecta una vulnerabilidad, Snyk ofrece soluciones recomendadas, como la versión del paquete a la que debes actualizar para corregirla.

Aviso de seguridad que muestra CVE-2016-9842 y CWE-189, con instrucciones para actualizar madler/zlib a la versión 1.2.9 o posterior.

Cómo funciona

Esta versión agrega una nueva opción de línea de comandos, --unmanaged, que indica a la CLI que analice las dependencias en el código fuente sin necesidad de archivos de manifiesto.

Para analizar el código en busca de dependencias de código abierto de C/C++, solo tienes que ejecutar snyk test --unmanaged. Para importar la instantánea de dependencias y problemas al panel de Snyk, ejecuta snyk monitor --unmanaged.

Configurar Snyk CLI

Primero, asegúrate de haber instalado Snyk CLI y de usar la versión 1.885.0 o posterior.

Configurar Snyk CLI es sencillo. Puedes usar npm o Homebrew para instalarla rápidamente. Después, solo tienes que autenticarte con tu cuenta de Snyk (si todavía no tienes una, regístrate gratis).

$ npm install -g snyk
$ snyk auth

Se abrirá tu navegador con una solicitud para autenticar la CLI. ¡Continúa y autentícate!

Ya puedes empezar a usar Snyk CLI para analizar tus proyectos de C/C++ en busca de vulnerabilidades.

Análisis en busca de vulnerabilidades de seguridad

Probemos Snyk CLI ejecutando una prueba.

Para analizar un proyecto, las bibliotecas de código abierto deben estar en el directorio que se va a analizar. Desde ese directorio, ejecuta el siguiente comando de la CLI:

$ snyk test --unmanaged

Según la cantidad de archivos de tu proyecto, el análisis puede tardar desde unos segundos hasta unos minutos. Cuando termine, verás una lista de las 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.

Supervisión de nuevas vulnerabilidades

El comando snyk monitor --unmanaged crea una instantánea de las dependencias y vulnerabilidades y la carga en la aplicación de Snyk. Luego, Snyk supervisa las dependencias y te alerta cuando se agregan nuevas vulnerabilidades a nuestra base de datos.

A medida que actualizamos y mejoramos nuestra base de datos de proyectos de código abierto, es posible que se detecten nuevas dependencias. Asegúrate de ejecutar el comando snyk monitor --unmanaged con regularidad para actualizar la lista de dependencias que se supervisan.

Próximamente

Tus comentarios siempre son importantes para nosotros. Mejoraremos las funciones de la CLI para agregar compatibilidad con los complementos de CI e IDE de Snyk. También estamos actualizando las API para buscar vulnerabilidades directamente en paquetes de C/C++ e integrar pruebas con Conan y otros administradores de paquetes. Nuestro equipo de Snyk Code también planea agregar compatibilidad con proyectos de C y C++ en el futuro. Para compartir otras ideas y comentarios, escríbenos a ccpp@snyk.io.

Regístrate en Snyk y pruébalo gratis hoy mismo.

Acompáñanos en «Cómo usar la CLI para C/C++»

Michal Brutvan (gerente sénior de producto, Snyk) y Jason Lane (director de marketing de producto, Snyk) explicarán qué significa esta función para ti y abrirán un espacio para recibir comentarios y preguntas durante este panel de horario de consulta de 30 minutos, el 21 de abril.

Protege tus dependencias de código abierto

Las herramientas de Snyk, diseñadas para desarrolladores, generan pull requests de corrección con un clic para dependencias vulnerables de código abierto y sus dependencias transitivas.

Leer más

blog feature snyk container custom base recommendations
Blog

Presentamos Evo Agentic AppSec: seguridad al ritmo del desarrollo con IA

El desarrollo impulsado por IA supera el ritmo de los flujos de trabajo de seguridad tradicionales. Agentic AppSec de Snyk usa agentes de seguridad para encontrar, corregir y verificar vulnerabilidades de forma continua, mientras las personas definen el estándar.

blog feature ai violet
Blog

VulnBump: ¿Pueden los agentes de IA corregir dependencias vulnerables sin romper la compilación?

VulnBump prueba agentes de IA en 307 actualizaciones reales de dependencias. Una corrección cuenta solo si elimina la vulnerabilidad y mantiene en verde la compilación y las pruebas.

Blog

Los modelos de frontera encontraron las vulnerabilidades. Solo el atacante encontró las cadenas.

El análisis estático encontró las fallas, pero solo las pruebas de ataque en vivo demostraron cómo podían encadenarse para provocar brechas. Una comparación de Evo COS, Claude Security y Claude Code Security.