Web site de seguridad en línea de Google: Lanzamiento de OSV


Estamos emocionados de lanzar OSV (Vulnerabilidades de código abierto), nuestro primer paso hacia la mejora de la clasificación de vulnerabilidades para desarrolladores y consumidores de computer software de código abierto. El objetivo de OSV es proporcionar datos precisos sobre dónde se introdujo una vulnerabilidad y dónde se solucionó, ayudando así a los consumidores de software program de código abierto a identificar con precisión si se ven afectados y luego realizar las correcciones de seguridad lo más rápido posible. Hemos iniciado OSV con un conjunto de datos de vulnerabilidades fuzzing encontradas por el OSS-Fuzz Servicio. El proyecto OSV evolucionó a partir de nuestros esfuerzos recientes para mejorar la gestión de vulnerabilidades en código abierto (Marco «Conocer, prevenir, reparar»).

La gestión de vulnerabilidades puede ser dolorosa tanto para los consumidores como para los encargados del mantenimiento del program de código abierto, con un tedioso trabajo manual involucrado en muchos casos.

Para los consumidores de program de código abierto, a menudo es difícil mapear una vulnerabilidad como Vulnerabilidades y exposiciones comunes (CVE) entrada a las versiones del paquete que están usando. Esto proviene del hecho de que los esquemas de regulate de versiones en los estándares de vulnerabilidad existentes (como Enumeración de plataforma común (CPE)) no se correlacionan bien con los esquemas de handle de versiones de código abierto reales, que normalmente son versiones / etiquetas y hashes de confirmación. El resultado son vulnerabilidades pasadas por alto que afectan a los consumidores intermedios.

De manera equivalent, a los encargados del mantenimiento les lleva mucho tiempo determinar una lista precisa de las versiones afectadas o confirmaciones en todas sus sucursales para los consumidores posteriores después de que se corrige una vulnerabilidad, además del proceso requerido para la publicación. Desafortunadamente, muchos proyectos de código abierto, incluidos los que son críticos para la infraestructura moderna, tienen escasos recursos y exceso de trabajo. Los encargados de mantenimiento no siempre tienen el ancho de banda para crear y publicar información completa y precisa sobre sus vulnerabilidades, incluso si así lo desean.

Estos desafíos dan como resultado que los consumidores de código abierto no incorporen correcciones de seguridad importantes con prontitud. OSV tiene como objetivo:

  1. Reducir el trabajo requerido por los mantenedores para publicar vulnerabilidades y

  2. Mejore la precisión de las consultas de vulnerabilidad para los consumidores intermedios proporcionando metadatos de vulnerabilidad precisos en una foundation de datos fácil de consultar (que complementa las bases de datos de vulnerabilidad existentes).

OSV tiene como objetivo simplificar el proceso de informes de vulnerabilidades para un mantenedor de paquetes de código abierto al determinar con precisión la lista de versiones y confirmaciones afectadas. Esto requiere proporcionar tanto las confirmaciones que introducen como las que corrigen los errores. Si esa información no está disponible, OSV requiere proporcionar un caso de prueba de reproducción y pasos para generar una compilación de la aplicación, y luego realiza bisección para encontrar estas confirmaciones de forma automatizada. OSV se encarga del resto del análisis para determinar los rangos de compromiso afectados (teniendo en cuenta las selecciones de cereza) y las versiones / etiquetas.

Cómo funciona OSV

OSV automatiza el flujo de trabajo de clasificación para un consumidor de paquetes de código abierto al proporcionar una API para consultar vulnerabilidades. Un flujo de trabajo OSV típico para un consumidor de paquetes se parece a la imagen de arriba:

  1. Un consumidor de paquetes envía una consulta a OSV con una versión del paquete o confirma el hash como entrada.

curl -X Write-up -d

&#39«cometer»: «6879efc2c1596d11a6a6advert296f80063b558d5e0f» &#39

&#39https://api.osv.dev/v1/query?vital=$API_Vital&#39

curl -X Publish -d

&#39{«versión»: «1..», «paquete»: «nombre»: «paquete», «ecosistema»: «pypi» &#39

&#39https://api.osv.dev/v1/query?critical=$API_Important&#39

  1. OSV busca el conjunto de vulnerabilidades que afectan a esa versión en particular y devuelve una lista de vulnerabilidades que afectan al paquete. Los metadatos de la vulnerabilidad se devuelven en un formato JSON legible por máquina.

  1. El consumidor de paquetes utiliza esta información para seleccionar correcciones de seguridad (basándose en metadatos de corrección precisos) o actualizar a una versión posterior.

OSV actualmente proporciona acceso a miles de vulnerabilidades desde Más de 380 proyectos críticos de OSS integrado con OSS-Fuzz. Estamos planeando trabajar con comunidades de código abierto para ampliar con datos de varios ecosistemas de idiomas (por ejemplo, NPM, PyPI) y elaborar una canalización para que los mantenedores de paquetes presenten vulnerabilidades con un trabajo mínimo.

Nuestro objetivo con OSV es repensar y promover un mejor seguimiento de vulnerabilidades escalable para código abierto. En un mundo perfect, la gestión de vulnerabilidades debería realizarse más cerca del proceso de desarrollo de código abierto genuine, con la ayuda de una infraestructura automatizada. Los proyectos que dependen del código abierto deben ser notificados con prontitud y las correcciones se deben tomar rápidamente cuando se informa de una vulnerabilidad.

Puede acceder al sitio internet y la documentación de OSV en https://osv.dev. Puede explorar el repositorio de código abierto o contribuir al proyecto en GitHuby únete al lista de correo para mantenerse actualizado con OSV y compartir sus pensamientos sobre el seguimiento de vulnerabilidades.



Enlace a la noticia authentic