Saltar al contenido principal
Security Swarm es el producto de análisis de seguridad y remediación de Devin. Crea un modelo de amenazas adaptado a tu código, investiga y valida posibles vulnerabilidades, y te ayuda a corregir hallazgos mediante pull requests. Puede identificar vulnerabilidades como ejecución remota de código (RCE), inyección SQL, path traversal, server-side request forgery (SSRF), omisiones de autorización, bugs de seguridad de memoria, vulnerabilidades de denegación de servicio y más. Incluso puede identificar cadenas de exploits que abarcan varios archivos. Security Swarm es una orquestación personalizada de Devins que llamamos Agentic MapReduce. Divide tu repo entre varios Devins en paralelo para ofrecer una cobertura amplia y una investigación profunda, a la vez que mantiene el costo bajo, lo que hace que analizar bases de código grandes sea rentable. También evaluamos Security Swarm comparándolo con un conjunto de referencia de vulnerabilidades publicadas de la GitHub Advisory Database.
Para ejecutar un análisis:
  • Tu organización debe tener acceso al repositorio que quieres analizar.
  • Debes estar autorizado para usar sesiones de Devin.
  • Necesitas el permiso Use code scans.
  • Para configurar una programación de Auto Scan, también necesitas Manage code scans y permiso para gestionar automatizaciones.
Si no ves Security en la barra lateral o no puedes iniciar un análisis, pide a un administrador que revise tu rol. Consulta Acceso y permisos para obtener más información.

Ejecuta tu primer análisis

  1. Abre Security en la barra lateral izquierda y haz clic en Start scan.
  2. En Single repo, elige un repositorio para analizar.
  3. Asegúrate de que Interactive mode esté habilitado.
  4. Haz clic en Run Scan.
  5. Cuando el modelo de amenazas propuesto esté listo, revísalo y haz clic en Looks good, start scanning o envía comentarios.
  6. A medida que aparezcan hallazgos, revisa la evidencia y atiende los hallazgos que requieran atención.
Para realizar análisis repetibles, crea un perfil que recoja tu ámbito, modelo de amenazas, criterios de gravedad, pasos de validación y restricciones de remediación.

Revisa y actúa sobre los hallazgos

Abre un análisis para ver sus hallazgos. La página muestra una lista de hallazgos a la izquierda, agrupados por gravedad, y a la derecha los detalles del hallazgo seleccionado. Las pestañas de estado muestran un recuento en tiempo real:
  • Open — requiere atención.
  • Reviewed — se ha revisado y ya no requiere ninguna acción.
  • Dismissed — se determinó que era un falso positivo o un duplicado.
Mientras se ejecuta un análisis, la página se actualiza automáticamente a medida que llegan los hallazgos.
Reviewed es un estado del flujo de trabajo, no una confirmación de que se haya integrado una corrección. Un hallazgo puede marcarse como Reviewed manualmente o cuando un análisis posterior determina que ya no está presente.

Qué contiene un hallazgo

Un hallazgo incluye:
  • Gravedad, estado, explotabilidad, nivel de confianza y categoría.
  • La ruta del archivo y los fragmentos de código afectados.
  • Una descripción del problema y una recomendación de remediación.
  • Un resultado de validación del entorno de ejecución, evidencias de respaldo y artefactos de validación.
  • Pull requests asociados y su estado: abiertos, fusionados o cerrados.
  • Responsables del código y notas, cuando estén disponibles.
Considera un patrón de código riesgoso como un indicio, no como prueba de una vulnerabilidad. Verifica que el hallazgo trace una ruta alcanzable desde una entrada controlada por un atacante, tenga en cuenta los controles de validación y autorización, y explique un impacto de seguridad concreto.

Actuar sobre un hallazgo

Inicia una sesión de Devin para corregir el problema y abrir una pull request. La sesión y la pull request resultante quedan registradas en el hallazgo.

Perfiles de escaneo

Un perfil de escaneo define el ámbito del análisis y proporciona orientación para cada etapa. Cada análisis puede usar un perfil. Para evaluar un repositorio con múltiples perfiles de atacante o categorías de amenazas, ejecuta análisis independientes con perfiles distintos.
Un modelo de amenazas específico es una de las formas más eficaces de mantener una cobertura coherente entre análisis. Define el atacante, los activos sensibles, los límites de confianza, los puntos de entrada importantes y las exclusiones explícitas.
Gestiona los perfiles desde la pestaña Profiles en la página Security.

Crear un perfil

Puedes crear un perfil de dos maneras:
  • Generar con Devin — describe la aplicación, las amenazas, el ámbito, las exclusiones y los criterios de gravedad en lenguaje natural. Devin redactará el perfil por ti.
  • Crear manualmente — completa tú mismo cada campo del perfil.
Generar con Devin es un buen punto de partida, pero revisa todos los campos generados antes de usar el perfil. Si dejas en blanco un campo opcional de indicaciones, se aplicará el comportamiento predeterminado de Security Swarm para esa etapa.

Información básica

  • Nombre del perfil — nombra la superficie de la aplicación o la categoría de amenaza, en lugar del equipo que realiza el escaneo. Ejemplo: Autorización de API multi-tenant.
  • Descripción — resume el ámbito del perfil y su objetivo de seguridad. Ejemplo: Encontrar vulnerabilidades de autenticación, autorización y aislamiento entre tenants en la API pública.
Los siguientes ejemplos se combinan en un solo perfil para una API multi-tenant. Adapta los límites, los comandos y los criterios de gravedad a tu aplicación.

Modelo de amenazas

Describe al atacante, los activos sensibles, las fronteras de confianza, los puntos de entrada importantes y todo lo que esté explícitamente fuera del ámbito. Esta guía determina las Rules que Devin genera antes de que comience la investigación.
Assume an unauthenticated internet attacker or an authenticated user in one tenant.
Focus on public HTTP handlers, OAuth callbacks, API tokens, administrative actions,
and accesses to tenant-owned data. Treat internal development scripts and local-only
tools as out of scope. Prioritize authentication bypasses, cross-tenant access, token
leakage, injection, and SSRF.

Guía para la investigación

Define cómo Devin debe investigar un posible problema y qué pruebas debe recopilar. Pídele que tenga en cuenta las mitigaciones existentes y que distinga las vulnerabilidades explotables de las preocupaciones teóricas.
Trace untrusted input from the route through middleware and service layers to the
sensitive operation. Check authentication, authorization, tenant scoping, validation,
and escaping at every boundary. Identify the exact reachable path and cite the relevant
files and lines. Do not report a theoretical issue when an effective mitigation blocks
the path.

Guía de triaje

Define cómo Devin debe eliminar duplicados y priorizar los hallazgos. Incluye tus criterios de gravedad para que los resultados se ajusten a los estándares de tu organización.
Agrupa los hallazgos que comparten la misma causa raíz. Trata la ejecución remota de código no autenticada
y el acceso de escritura entre tenants como críticos. Trata el acceso de lectura entre tenants y
la divulgación de credenciales como altos. Trata los problemas de disponibilidad de un solo usuario como medios, a menos
que puedan afectar la infraestructura compartida. Etiqueta las recomendaciones de defensa en profundidad como bajas.

Validación del entorno de ejecución

Activa la validación del entorno de ejecución cuando Devin pueda compilar y probar la aplicación de forma segura. Explica cómo iniciar la aplicación, crear datos de prueba, autenticarse y demostrar el perímetro de seguridad esperado.
Usa la configuración de desarrollo documentada del repositorio. Inicia la API y crea dos
tenants que no sean de producción con un usuario de prueba en cada uno. Intenta la solicitud
sospechosa como usuario del otro tenant y verifica tanto la respuesta HTTP como los datos persistidos.
No llames a servicios de producción ni modifiques datos de producción.
Una validación fallida no siempre descarta un hallazgo. Revisa el resultado de la validación y los artefactos para determinar si una mitigación eficaz bloqueó el exploit o si el Environment configurado impidió que Devin completara la prueba.
La validación del entorno de ejecución inicia una sesión independiente de Devin para cada hallazgo. Consulta Configurar la validación del entorno de ejecución para obtener orientación sobre el Environment.

Informe

Activa los informes cuando necesites un resumen como artefacto después del escaneo. Especifica el público al que va dirigido y la información que debe destacar el informe.
Redacta un resumen ejecutivo para los responsables de seguridad e ingeniería. Enumera primero los hallazgos confirmados críticos
y de alta gravedad, seguidos de los hallazgos no validados. Incluye los componentes afectados,
el estado de validación, el estado del pull request y un plan de remediación priorizado.

Guía de remediación

Especifica las restricciones que Devin debe seguir cuando le asignes un hallazgo para su remediación. Incluye requisitos de pruebas, de compatibilidad y prácticas que debe evitar.
Prefiere el cambio más pequeño y seguro, y preserva el comportamiento existente de la API pública. Agrega una
prueba de regresión que falle antes de la corrección y pase después. Ejecuta los comandos de
lint y prueba del paquete afectado. Evita actualizaciones de dependencias de gran envergadura a menos que la vulnerabilidad no
pueda corregirse de forma segura sin ellas.

Opciones avanzadas

Abre Avanzado para controlar el ámbito de los archivos y los lotes de investigación:
  • Include globs — limita el análisis a los archivos que coincidan. Por ejemplo, apps/api/** y packages/auth/**.
  • Exclude globs — elimina los archivos irrelevantes del ámbito seleccionado. Por ejemplo, **/generated/**, **/vendor/** y **/fixtures/**.
  • Batch size — controla cuántos archivos con señales se agrupan en cada lote de investigación. Déjalo en su valor predeterminado, a menos que estés ajustando deliberadamente el comportamiento del análisis. El rango permitido es de 1–500; el valor predeterminado es 5.
Las exclusiones demasiado amplias pueden ocultar código vulnerable o eliminar el contexto necesario para comprender un flujo de datos. Excluye solo los archivos que tengas la certeza de que son irrelevantes en este perfil.

Perfiles de organización y de Enterprise

Los perfiles nuevos tienen ámbito de organización. Más adelante, los admins de Enterprise pueden cambiar la visibilidad de un perfil a Enterprise, para que esté disponible en todo Enterprise. Los perfiles de Enterprise solo pueden ser editados o archivados por admins de Enterprise. Otros usuarios con acceso a Security pueden verlos y usarlos, pero no pueden modificarlos.

Interactive mode

Con Interactive mode activado, Devin genera un modelo de amenazas propuesto y se detiene antes de iniciar la investigación. La página de análisis muestra las reglas propuestas y te permite:
  • Se ve bien, iniciar análisis — acepta el modelo de amenazas y comienza la investigación.
  • Enviar comentarios sobre el modelo de amenazas — describe qué agregar, quitar o enfatizar, y luego revisa el modelo actualizado.
Usa el Interactive mode en el primer análisis de un repositorio y siempre que su superficie de riesgo o su perfil cambien significativamente. Una vez que el perfil refleje las directrices aprobadas, los análisis de rutina podrán ejecutarse sin esa pausa.

Configurar la validación del entorno de ejecución

La validación del entorno de ejecución solo se ejecuta cuando el perfil seleccionado tiene habilitada la validación del entorno de ejecución y contiene instrucciones de validación. Dale a Devin suficiente información para compilar, ejecutar, cargar datos iniciales y autenticar la aplicación en su sandbox. Si el repositorio tiene configuración declarativa, Devin puede reutilizar su configuración de compilación e instalación. De lo contrario, agrega los comandos de configuración necesarios a las instrucciones de validación del perfil.
No incluyas credenciales de producción ni valores secretos directamente en las instrucciones del perfil. Usa cuentas y credenciales de prueba que no sean de producción y que ya se hayan proporcionado mediante la Configuración de Environment de tu organización.

Escalado del análisis

Analizar múltiples repositorios

Usa la pestaña Todos los repos en el cuadro de diálogo Nuevo análisis para poner en cola análisis de toda una organización:
  1. Opcionalmente, introduce un Filtro de nombre del repositorio.
  2. Opcionalmente, selecciona un perfil de análisis.
  3. Mantén Omitir repos ya analizados habilitado para excluir los repositorios que ya se hayan analizado con el perfil seleccionado.
  4. Haz clic en Vista previa.
  5. Revisa los repositorios que coinciden, deselecciona los que no quieras analizar y confirma.
La vista previa es una simulación. Si cambias el filtro, el perfil o la configuración de omisión, la vista previa deja de ser válida, por lo que no puedes confirmar una lista desactualizada.

Auto Scan

El Auto Scan analiza periódicamente los commits incorporados desde el último análisis completado. Puedes configurarlo:
  • Al iniciar un análisis de un solo repositorio, seleccionando una programación diaria, semanal, mensual o personalizada.
  • Desde un análisis existente, agregando, editando, deshabilitando o ejecutando de inmediato su programación.
El Auto Scan se implementa mediante una automatización. Para configurarlo, se requieren tanto Gestionar análisis de código como el permiso para gestionar automatizaciones. Los horarios de programación se muestran en tu zona horaria local.

Analizar nuevos commits

Haz clic en Scan new commits en un análisis completado para investigar los commits agregados desde el último commit analizado. Auto Scan usa el mismo comportamiento incremental, por lo que los análisis posteriores resultan menos costosos que volver a analizar repetidamente todo el ámbito del repositorio.

Gestionar y supervisar análisis

Según el análisis y su perfil, la cabecera del análisis puede incluir:
  • Informes — descargar los informes generados para el análisis.
  • Uso — ver las ACU consumidas, el número de sesiones, la duración del análisis y las estadísticas de pull requests.
  • Sesión — abrir la sesión principal de Devin que realizó el análisis.
  • Exportar como CSV — exportar los hallazgos del análisis.
  • Archivar o Desarchivar — ocultar el análisis de la lista predeterminada o restaurarlo a ella.
  • Analizar nuevos commits — iniciar un análisis incremental.
Los análisis se ejecutan como sesiones de Devin y consumen ACUs.

Panel de control de Security

Después de que la organización complete su primer análisis, la página Security muestra un panel de toda la organización correspondiente a los últimos 7, 30 o 90 días:
  • Estadísticas de pull requests — pull requests creados, fusionados, abiertos y cerrados, además de la tasa de fusión.
  • Hallazgos a lo largo del tiempo — hallazgos agrupados por gravedad en el período seleccionado.

Acceso y permisos

El acceso a Security se controla mediante los permisos de análisis de código en el editor de roles:
PermisoQué permiteRoles predeterminados
View code scansVer análisis, perfiles, hallazgos y las sesiones de análisis asociadas.Admin
Use code scansIniciar análisis, crear perfiles de organización, enviar comentarios sobre hallazgos, modificar hallazgos, cambiar el estado de los hallazgos y asignar hallazgos a Devin.Admin
Manage code scansArchivar o restaurar análisis y configurar las programaciones de Auto Scan.Admin
Manage account code scansPromover perfiles de organización al ámbito de Enterprise y editar o archivar perfiles de Enterprise.Enterprise admin
Iniciar análisis, enviar comentarios y asignar hallazgos a Devin también requiere permiso para usar sesiones de Devin. Auto Scan además requiere permiso para gestionar automatizaciones. De forma predeterminada, los miembros no reciben permisos de análisis de código. Los propietarios tienen todos los permisos, y los administradores pueden otorgar permisos a los miembros mediante roles personalizados.

Compara Security Swarm con otro escáner

Para que la comparación sea útil, da a ambos escáneres el mismo ámbito, modelo de amenazas, criterios de gravedad y expectativas de validación. De lo contrario, las diferencias de configuración pueden ocultar las diferencias en sus capacidades subyacentes. Usa perfiles para plasmar los criterios de comparación, el modo interactivo para confirmar el modelo de amenazas generado y la validación del entorno de ejecución para aplicar el mismo estándar probatorio a los hallazgos notificados.

Preguntas frecuentes

Security Swarm investiga posibles vulnerabilidades en el contexto de tu repositorio, en lugar de informar patrones de riesgo de forma aislada. Devin rastrea los flujos de datos relevantes, comprueba los controles de validación y autorización, y evalúa si el problema tiene un impacto de seguridad concreto.Cada hallazgo incluye un nivel de confianza y evidencia de respaldo. Revisa esa evidencia antes de actuar, especialmente cuando un hallazgo no se ha validado en tiempo de ejecución.
Revisa el código afectado, el punto de entrada, el flujo de datos, las mitigaciones existentes, el impacto indicado, la confianza y la explotabilidad. Cuando la validación del entorno de ejecución está habilitada, revisa también el resultado de la validación y los artefactos que lo respaldan.Si la evidencia pasa por alto un control o afirma un impacto no respaldado, usa Feedback para proporcionar el contexto que falta en análisis futuros.
La validación del entorno de ejecución intenta reproducir un hallazgo compilando y poniendo a prueba la aplicación en un entorno aislado. Una validación exitosa proporciona evidencia más sólida de explotabilidad, mientras que una validación fallida puede identificar supuestos o limitaciones del entorno que requieren una revisión más exhaustiva.La validación del entorno de ejecución es opcional y requiere suficiente orientación de validación para que Devin pueda compilar, ejecutar, inicializar y autenticar la aplicación de forma segura.
Security Swarm analiza partes del repositorio en paralelo y combina los resultados en una visión de todo el repositorio. Esto le permite identificar relaciones entre componentes, como cuando un endpoint expone un identificador necesario para explotar otro endpoint.Cualquier hallazgo encadenado que resulte de ello debe seguir identificando las rutas de código relevantes y explicar cómo las distintas condiciones se combinan para producir un impacto concreto.
Security Swarm usa análisis basados en agentes, por lo que distintos análisis pueden no producir hallazgos ni redacciones idénticos. Un ámbito bien acotado, un modelo de amenazas explícito, criterios de gravedad claros y una orientación de investigación específica ayudan a mantener una cobertura consistente.Captura esos requisitos en un perfil de análisis reutilizable, usa el modo interactivo para revisar el modelo de amenazas propuesto y proporciona feedback cuando un resultado omita contexto importante.
Ningún escáner de seguridad puede garantizar una cobertura completa. Los resultados dependen del ámbito seleccionado, de la orientación del perfil, del contexto disponible del repositorio y de si los hallazgos pueden validarse en el entorno configurado.Ejecuta análisis independientes para distintos modelos de atacante o categorías de amenazas, mantén los perfiles actualizados a medida que cambie la aplicación y usa Security Swarm junto con tus prácticas actuales de revisión de seguridad y testing.