2 puntos por GN⁺ 3 시간 전 | 1 comentarios | Compartir por WhatsApp
  • OpenAI publicó como código abierto la CLI y herramientas relacionadas de Codex Security, para que puedan usarse en entornos de desarrollo locales y en CI
  • Analiza repositorios con permisos para detectar vulnerabilidades de seguridad y validar su posibilidad real de explotación, presentando también el código relacionado y la evidencia
  • Permite inspeccionar no solo todo el repositorio, sino también rutas específicas, diferencias entre commits o solo cambios locales aún no confirmados
  • Soporta un modo deep, que revisa un alcance más amplio que una inspección normal, y una base de conocimiento que refleja la arquitectura, el modelo de amenazas y las políticas de seguridad del proyecto
  • Entrega de forma estructurada la severidad, confianza, evidencia y método de corrección de los hallazgos, y permite comparar historiales de inspección o conectarlos con políticas de CI

Detección y validación de vulnerabilidades

  • No se limita a listar patrones de código sospechosos: analiza el flujo del código y el contexto circundante para validar si se trata de un problema de seguridad real
  • Para cada hallazgo, entrega la siguiente información
    • Tipo de vulnerabilidad y severidad
    • Nivel de confianza del criterio
    • Archivos afectados y ubicación del código
    • Fundamento para considerarlo una vulnerabilidad
    • Ruta posible de ataque o explotación
    • Método de corrección recomendado

Selección del alcance de inspección

  • Es posible limitar el alcance del análisis según el objetivo del trabajo
    • Inspección de todo el repositorio
    • Inspección solo de un directorio o paquete específico
    • Inspección de las diferencias entre un commit base y el commit actual
    • Inspección de cambios locales en staging o aún no confirmados
  • Como permite revisar solo código nuevo o modificado, puede usarse en revisiones de código y verificaciones previas al despliegue

Modo deep

  • Usa más tiempo y trabajo de análisis que una inspección normal para revisar el repositorio de forma amplia
  • Se usa para analizar vulnerabilidades complejas que requieren rastrear relaciones entre varios archivos y componentes, o problemas difíciles de encontrar con inspecciones superficiales de patrones
  • Puede aplicarse tanto a todo el repositorio como a rutas especificadas

Incorporación de conocimiento del proyecto

  • No analiza el código de forma aislada, sino que puede incorporar en la inspección el contexto proporcionado sobre el proyecto
  • Evalúa riesgos específicos del proyecto con base en documentación de arquitectura, modelos de amenazas, políticas de seguridad y reglas internas
  • También puede incluir en el alcance de inspección código que, aunque parezca normal bajo reglas de seguridad generales, viole los principios de diseño de ese sistema

Reporte de resultados e integridad de la inspección

  • Registra no solo las vulnerabilidades encontradas, sino también qué áreas se inspeccionaron realmente
  • El reporte puede incluir estados de inspección como los siguientes
    • Alcance analizado
    • Áreas excluidas de la inspección
    • Trabajos no completados y pendientes
    • Preguntas que requieren verificación adicional
  • Esto permite comprobar no solo la lista de resultados, sino también hasta qué punto se revisó el repositorio

Inspección de seguridad continua

  • Permite volver a abrir resultados de inspecciones anteriores o ejecutar de nuevo la misma inspección para rastrear cambios en los hallazgos
  • Permite comparar resultados antes y después de cambios de código para comprobar si apareció una nueva vulnerabilidad o si fue corregida
  • Puede conectarse con inspecciones previas a commits, revisiones de código, inspecciones por lotes de varios repositorios y controles de políticas de seguridad en pipelines de CI

1 comentarios

 
GN⁺ 3 시간 전
Opiniones de Hacker News
  • Soy Michael, cofundador de Promptfoo y estoy desarrollando Codex Security CLI en OpenAI. Gracias por avisar sobre el problema de autenticación; como recién lo acabamos de publicar como open source, hay mucho por mejorar y el producto va a evolucionar rápido.
    Nos gustaría que lo prueben y nos cuenten qué funciona bien y qué se puede mejorar; también responderé preguntas.
    Documentación de la CLI: https://learn.chatgpt.com/docs/security/cli
    También estamos contratando gente para participar en el desarrollo: https://openai.com/careers/full-stack-software-engineer-cybe...

    • Al usar 5.6 Sol en la app de Codex, a veces decía que había encontrado una vulnerabilidad pero que no podía decir cuál era. Me pregunto cómo manejan esto los guardrails actuales de detección de vulnerabilidades.
    • Me pregunto cuándo debería usarse esta herramienta en lugar del plugin de Codex, que entiendo también se puede invocar desde la CLI.
    • Me pregunto si es obligatorio hacer llamadas a la API de OpenAI, o si también se puede montar y usar un endpoint de LLM compatible con OpenAI de forma local.
    • Esta es precisamente la razón por la que no creo en la publicidad del “modelo asombroso que hará todo de una vez y volverá innecesarios a los programadores”. A diferencia de lo que los laboratorios de LLM sostienen constantemente, incluso en los productos que ellos mismos crean se repiten fallas como problemas de autenticación.
      Como los propios productos de los laboratorios contradicen esa afirmación, ojalá cada vez menos gente la crea.
  • Lo ejecuté en un repositorio pequeño y se interrumpió casi una hora después, consumiendo la mitad del uso semanal del plan Pro.
    Ejecuté npx codex-security scan . para hacer el análisis con hasta 8 slots de workers, pero tras 52 minutos apareció un error diciendo que, durante el análisis, el HEAD del repositorio había cambiado y por eso no podía guardar los resultados, así que debía iniciar un análisis nuevo.

  • El analizador en sí es la parte menos interesante; el verdadero producto es el sistema de ejecución alrededor, que se encarga de la deduplicación entre ejecuciones, el seguimiento de falsos positivos, el control de presupuesto y decidir si el CI pasa o no. Creo que las innovaciones más interesantes también saldrán de esa capa.
    Vimos exactamente el mismo patrón al crear AQ, un sistema de ejecución de coding para equipos. Al principio pensábamos que el modelo en bruto era la respuesta, pero cambiamos de opinión rápidamente, y los sistemas de ejecución orientados a objetivos son mucho más potentes de lo esperado.

  • Me resulta muy molesto que siga apareciendo un error diciendo que se está intentando realizar una operación no permitida. Quisiera saber en qué tipos de proyectos funciona y cómo verifica la propiedad del código.
    Por ejemplo, me pregunto si directamente no funciona en el kernel de Linux, aunque incluya un parche escrito por mí.

  • Las herramientas de seguridad de empresas de IA se sienten como una estación de bomberos operada por pirómanos. Son útiles, sí, pero cuesta no preguntarse quién se beneficia de tantos incendios.

  • Parece que ya existía como plugin de Codex, y la noticia clave es que OpenAI lo hizo open source y que el desarrollo avanza rápido.

  • Durante el análisis, la salida de la CLI muestra muy poca información interesante. Sería bueno que mostrara datos como el uso de tokens o el progreso.

  • Alibaba también publicó como open source una herramienta de revisión de código basada en CLI: https://github.com/alibaba/open-code-review

    • Son productos completamente distintos.
  • Me pregunto si esta herramienta sube el código a ChatGPT para el análisis. En algunos proyectos empresariales puede que no se permita la transferencia externa de código.

    • Si una empresa prohíbe el uso de ChatGPT, probablemente tampoco pueda usar una herramienta de análisis de seguridad de ChatGPT.
    • Como forma de usar modelos GPT sin enviar datos a OpenAI, se puede elegir Amazon Bedrock.
  • Me pregunto si herramientas como esta harán cerrar a empresas como Snyk. En el trabajo usamos Snyk, pero no me convenció.

    • El estándar competitivo acaba de subir, y la especialización sostenible también tendrá que evolucionar en consecuencia.
    • Me pregunto cómo unos cuantos fragmentos de código podrían hacer cerrar a Snyk.