Skip to main content
Un análisis de código es una sesión de Devin, junto con las sesiones secundarias que inicia, que lee uno o más repositorios, reporta hallazgos y puede corregirlos mediante pull requests. Los análisis de seguridad se explican en Security Swarm. Esta página cubre los demás tipos de análisis.
Para ejecutar un análisis:
  • Necesitas el permiso Use code scans y permiso para usar sesiones de Devin. Consulta Acceso y permisos.
  • Tu organización debe tener acceso al repositorio que quieres analizar.

Iniciar un análisis con /scan

  1. En el editor, escribe /scan seguido de lo que quieres encontrar y menciona los repositorios que se analizarán. Por ejemplo: /scan find N+1 queries in @acme/api. Los repositorios que hayas seleccionado en el editor también se incluyen.
  2. Envía el mensaje. Devin inicia una nueva sesión para configurar el análisis y la abre. Si enviaste /scan solo, Devin sugiere ejemplos de análisis, como buscar consultas lentas a la base de datos o código sin usar, y te pregunta qué quieres encontrar.
  3. Devin elige el tipo de análisis a partir de tu solicitud y lo indica en una línea; por ejemplo, que configurará un análisis personalizado que solo busca nombres de variables en camelCase. Responde si quieres algo distinto.
  4. Devin muestra una card de Code scan setup. Confirma los Repositories que se analizarán y, opcionalmente, agrega instrucciones en What should the scan focus on?. Si no mencionaste ningún repositorio, Devin preselecciona aquel en el que más has trabajado, según tus pull requests recientes.
  5. Haz clic en Start scan. Devin crea el análisis solo después de que envíes la card, y luego comparte un enlace a la sesión del análisis. Si prefieres cancelar la configuración, haz clic en Dismiss.
No necesitas elegir un tipo de análisis ni configurarlo tú mismo. Las solicitudes que abarcan un área completa, como un análisis de rendimiento de un repositorio, usan el tipo de análisis correspondiente. Los objetivos más acotados o distintos, como encontrar fugas de memoria, usan un análisis Custom centrado en lo que describiste. Cuando termina un análisis que no es de seguridad, Devin te envía un mensaje directo de Slack con un resumen de los hallazgos, salvo que hayas pedido otro tipo de notificación o ninguna. Para enviar mensajes de Slack, la integración de Slack de tu organización debe permitir que las sesiones envíen mensajes directos.
Los análisis que no son de seguridad se ejecutan sin supervisión con esfuerzo normal. Las opciones de esfuerzo y el Interactive mode, en el que Devin hace una pausa para que revises un threat model antes de investigar, solo están disponibles para los análisis de seguridad.

Tipos de análisis

Para vulnerabilidades y superficies de ataque, usa un scan de Security Swarm.

Revisar y corregir hallazgos

Abre la pestaña Hallazgos en la sesión que inició el análisis de código, o en la sesión principal del análisis, para trabajar sobre sus hallazgos. Los hallazgos abiertos se agrupan por etapa:
  • Unassigned — no se ha iniciado ninguna sesión de remediación.
  • Assigned — se ha iniciado una sesión de remediación, pero no hay ninguna pull request abierta.
  • PR open — hay una pull request abierta para el hallazgo.
Para cada hallazgo, puedes:
  • Assign to Devin — iniciar una sesión de Devin que corrija el hallazgo y abra una pull request. Usa Open session para seguir el trabajo y Open PR para revisar el resultado.
  • Dismiss — descartar un hallazgo que no requiere ninguna acción.
Mientras un análisis de código está en ejecución, la pestaña Hallazgos de la sesión principal del análisis también ofrece Pause scan, Resume scan y Kill scan. Estos controles requieren el permiso Manage code scans.

Escalar el escaneo

Scan new commits

Cuando termine un análisis de cualquier tipo, haz clic en Scan new commits en la pestaña Findings para iniciar una ejecución incremental que analice únicamente los commits agregados desde la última ejecución completada del análisis. La ejecución utiliza la configuración existente del análisis y agrega sus hallazgos a ese mismo análisis. El botón no aparece mientras el análisis está en ejecución ni una vez archivado, y requiere Manage code scans. Si no hay commits nuevos, no se inicia ninguna ejecución. También puedes pedirle a Devin en una sesión que analice los commits nuevos de un análisis existente.

Automatizaciones

Las automatizaciones pueden ejecutar análisis de cualquier tipo de forma programada o en respuesta a un evento. Elige el tipo de agente Code scan y, a continuación, en Scan:
  • Elige Create a new scan para iniciar un análisis nuevo cada vez que se active la automatización. Selecciona los repositorios, el tipo de análisis y el perfil. Los tipos de análisis que no son de seguridad requieren un perfil de análisis del mismo tipo.
  • Elige un análisis existente para analizar sus nuevos commits cada vez que se active la automatización. El análisis ya debe tener una ejecución completada.
Los análisis iniciados por automatizaciones se ejecutan sin supervisión. Consulta Iniciar análisis desde Automatizaciones.

API

La API de análisis de código permite iniciar análisis, sondearlos y leer los hallazgos sin usar la aplicación web. Cuando inicias un análisis que no es de seguridad a través de la API, debes indicar un profile_id correspondiente a un perfil de ese tipo de análisis; scan_type toma de forma predeterminada el tipo del perfil. Los análisis iniciados a través de la API no son interactivos.