Requisito previo Has completado un escaneo, y tienes activado PolicyIQ. Contacta con tu contacto de Corgea para habilitar PolicyIQ.
Comportamientos importantes en las políticas
Antes de examinar la estructura de las políticas, conviene conocer algunos comportamientos importantes:- Aplicación de la política: Las nuevas políticas solo entran en vigor en nuevos escaneos, no afectarán retroactivamente a los resultados existentes.
-
Precedencia de política:
- Las políticas más específicas tienen prioridad sobre las políticas generales para detección de falsos positivos y correcciones
- Por ejemplo, una política de falsos positivos específica para SSRF prevalecería sobre una política general de falsos positivos
- Las políticas definidas por el cliente siempre anulan las políticas nativas de Corgea
-
Agrupación de políticas: En las políticas de escaneo, se recomienda agrupar los aspectos de seguridad relacionados en lugar de crear una política para cada uno. Por ejemplo:
- Agrupar la autenticación, autorización y gestión de permisos
- Combinar comprobaciones de validación de datos relacionadas
- Agrupar verificaciones de control de seguridad asociadas Este enfoque da mejores resultados, ya que estas preocupaciones de seguridad suelen solaparse e interactuar.
Estructura de la política
Una política bien estructurada debe incluir los siguientes componentes:
- Tipo de política: Especifica el tipo de política que estás creando, como BLAST (detección de vulnerabilidades), Falso Positivo (identificación de falsos positivos) o Corrección (sugiriendo correcciones en código).
-
Contexto empresarial: Proporciona información detallada sobre tu:
- Dominio empresarial y requisitos
- Arquitectura de red y controles de seguridad
- Configuraciones específicas del entorno
- Requisitos de clasificación y tratamiento de datos
- Requisitos de cumplimiento (por ejemplo, PCI, HIPAA, RGPR)
-
Descripción: Instrucciones claras que incorporan tu contexto, incluyendo:
- Patrones específicos de vulnerabilidad en tu entorno
- Ejemplos de código relevantes para tu arquitectura
- Cómo deben gestionarse los hallazgos según tu infraestructura
- Tipos de vulnerabilidades (CWEs): Elige qué tipos de vulnerabilidades de seguridad debe gestionar esta política, en función de tu perfil de riesgo.
- Proyectos: Selecciona los proyectos a los que se aplicará la política para adaptar las políticas a cada entorno. Cuando el control de acceso a proyectos está habilitado, los usuarios que no sean administradores solo pueden crear o gestionar políticas para proyectos a los que tengan acceso y deben seleccionar al menos uno. Los administradores de la empresa pueden seguir creando políticas que se apliquen a todos los proyectos.
-
File Pattern (Glob): Opcionalmente limitar una política a archivos coincidentes (por ejemplo,
src/**/*.py). Deja vacío para aplicar a todos los archivos. - Notas de orientación (opcional): Añade directrices estáticas para los desarrolladores, como notas internas de remediación, enlaces a estándares internos o recomendaciones de implementación. Estas indicaciones se muestran al consultar los hallazgos afectados por la política.
-
Tipo de instrucción: Elige cómo interactúan tus instrucciones de política con las políticas integradas de Corgea:
- Añadir a la política predeterminada de Corgea: Añade tus instrucciones a las políticas integradas de Corgea y conserva ambos conjuntos de reglas. Utiliza esta opción para complementar las políticas predeterminadas con contexto empresarial, controles de seguridad o detalles del entorno.
- Reemplazar la política predeterminada de Corgea: Tus instrucciones de política anulan completamente el comportamiento predeterminado de Corgea. Úsalo cuando quieras tener control total sobre cómo se manejan escenarios específicos.
Policy Playground
Policy Playground es un espacio de trabajo en paralelo donde puedes crear, actualizar y probar políticas antes de que afecten a los escaneos. Escribe la política a la izquierda y pruébala con código real a la derecha para iterar con rapidez sin salir de la página.
- El espacio de trabajo se divide en un editor de políticas (izquierda) y un panel de prueba (derecha), con un divisor arrastrable para que puedas redimensionar los paneles a tu gusto.
- Utiliza Volver a Políticas en la barra de herramientas superior para volver a la tabla de Políticas en cualquier momento.
- Abre una política existente de BLAST o Falso Positivo directamente en Policy Playground desde la tabla de Políticas.
- Busca en la tabla de Políticas por ID de Política, nombre, tipo o descripción para encontrar rápidamente una política.
- Editar y guardar en Policy Playground actualiza la política creando una nueva versión.
- El tipo de instrucción aparece en el editor con dos opciones: Reemplazar la política predeterminada de Corgea o Añadir a la política predeterminada de Corgea.
- Deja Proyectos, Patrón de Archivo (Glob) o CWEs vacíos cuando quieras que esa política se aplique globalmente.
- Cuando el Control de Acceso a Proyectos está habilitado, los usuarios con alcance pueden ver las políticas visibles para ellos, pero solo pueden editar o eliminar políticas que se apliquen íntegramente a proyectos a los que puedan acceder.
Solo se pueden probar las políticas de BLAST y Falsos Positivos en Policy Playground. Las políticas de Corrección aún pueden crearse desde el Centro de Políticas, pero se muestran como Corrección (próximamente) en el playground, ya que las correcciones de prueba aún no son compatibles.
Probar una política
Para probar una política, selecciona un proyecto y un archivo y haz clic en Test. Mientras se ejecuta el escaneo, el botón muestra un indicador de progreso con el texto Prueba… y permanece deshabilitado. Si falta algún dato obligatorio, un mensaje bajo el botón indica qué debes añadir: el proyecto, el archivo o las instrucciones de la política. De forma predeterminada, el selector solo muestra archivos en los que ya se han detectado hallazgos. Para probar un archivo que aún no existe, activa Nuevo archivo de prueba, selecciona un proyecto y escribe un nombre de archivo. El proyecto aporta al escaneo el contexto del lenguaje y el framework; después puedes escribir el código en el editor para probar la política.
Revisión de resultados
Cuando finaliza el escaneo, los resultados aparecen bajo la vista previa del archivo. Cada hallazgo se muestra en una fila desplegable con su gravedad, CWE y número de línea. Despliega el hallazgo para leer la explicación y utiliza Saltar a la línea para ir a la línea correspondiente en la vista previa.

Reglas de escaneo y comentarios de pull requests
Las reglas de escaneo y comentarios de PR controlan cuándo Corgea escanea las pull requests y cuándo publica comentarios sobre los hallazgos.- Solo escanear ejecuta el escaneo de la pull request sin publicar comentarios sobre los hallazgos.
- Escanear y Comentar ejecuta el escaneo y comenta los hallazgos que coinciden con la regla.
- Gravedad limita las coincidencias a los niveles seleccionados. Déjalo vacío para incluir cualquier gravedad.
- Clasificación para comentarios limita los comentarios a determinados tipos de CWE. Déjalo vacío para comentar todos los CWE coincidentes.
- Proyectos y Etiquetas de Proyecto definen dónde se aplica la regla. Se aplica una regla cuando un proyecto es seleccionado directamente o tiene cualquier etiqueta seleccionada; Si ambos campos están vacíos, la regla se aplica a todos los proyectos.
- Las integraciones pueden limitar aún más la regla para que se extraigan de pull requests de integraciones seleccionadas de GitHub, GitLab o Azure DevOps. Déjalo vacío para usar solo el proyecto y el alcance de la etiqueta del proyecto.
Mejores prácticas en políticas
Al redactar políticas, sigue estas mejores prácticas para proporcionar un contexto eficaz:- Sé específico con tu entorno: Detalla tu infraestructura, controles de seguridad y controles compensatorios.
- Incluye la lógica de negocio: Explica las reglas de validación específicas del negocio, los flujos de datos y los requisitos de seguridad.
- Describe la arquitectura de seguridad: Documenta tus capas de seguridad, límites de confianza y mecanismos de protección.
- Define el contexto de los datos: Especifica cómo deben gestionarse los diferentes tipos de datos en tu entorno.
- Documenta las excepciones: Indica los casos de negocio legítimos que puedan parecer problemas de seguridad.
Ejemplos
Al crear ejemplos de políticas, sigue estos consejos para hacerlos más efectivos:-
Utiliza varios ejemplos: Incluye entre 3 y 5 ejemplos diversos para cada tipo de política con el fin de:
- Mostrar diferentes casos de uso y escenarios
- Cubrir casos límite específicos de tu entorno
- Demostrar distintos niveles de complejidad
- Ilustrar diferentes controles de seguridad y medidas compensatorias
-
Haz que los ejemplos sean relevantes: Asegúrate de que los ejemplos:
- Reflejar tu infraestructura y arquitectura reales
- Incluir los controles de seguridad que utilizas
- Hacer referencia a tus herramientas y frameworks
- Ajustarse a tus patrones y prácticas de desarrollo
-
Estructura los ejemplos claramente: Formatea tus ejemplos con:
- Encabezados y etiquetas de sección claros
- Formato y sangría coherentes
- Comentarios detallados que explican puntos clave
- Etiquetas para separar diferentes componentes
-
Incluye contexto: Cada ejemplo debe proporcionar:
- El escenario empresarial específico
- Detalles relevantes de la infraestructura
- Controles de seguridad establecidos
- Comportamiento esperado y resultados
Ejemplo de política BLAST
Tipo de política: BLASTEjemplo de política de falso positivo
Tipo de política: Falso positivoEjemplo de política de corrección
Aquí tienes un ejemplo de una política de corrección que utiliza un middleware personalizado para proteger contra vulnerabilidades XSS: Tipo de política: CorrecciónPolíticas generadas durante el prework
Cuando el prework está habilitado para tu empresa, Corgea puede generar políticas a partir del contexto del proyecto antes de que finalice el escaneo principal.- Las políticas generadas aparecen en la tabla Policies con el valor Generated By Corgea Prework en
Source. - En los detalles del escaneo, la pestaña Policies muestra todas las políticas aplicadas al escaneo, incluidas las versiones antiguas archivadas o inactivas, y permite abrirlas para consultar sus detalles.
- Si habilitas Policy Review en Policies > Settings, las políticas se crean como Inactive para que el equipo pueda revisarlas y activarlas manualmente.
Generar una política
Puedes iniciar manualmente la generación de políticas desde la página de PolicyIQ en cualquier momento.1
Haz clic en Generate Policy
En la página PolicyIQ, haz clic en el botón Generate Policy de la esquina superior derecha.

2
Completa el formulario de generación
En el cuadro de diálogo, selecciona un Pattern (por ejemplo, Authentication), elige un Project y selecciona un Policy Type. Haz clic en Generate para comenzar.

3
Espera a que finalice el prework
Corgea ejecuta en segundo plano un escaneo Corgea-Prework para analizar el proyecto. Puedes consultar su progreso en la página Scans.

4
Revisa la política generada
Cuando finaliza el proceso, la política generada aparece en la tabla Policies. Haz clic en ella para consultar los detalles, incluida una descripción con patrones de código reales detectados en el proyecto.

Configuración de políticas de Corgea mediante YAML
Los clientes pueden definir políticas de seguridad para sus proyectos mediante un archivocorgea.yaml. Este archivo permite especificar políticas detalladas, como:
- Identificadores CWE concretos
- Políticas adaptadas a subcarpetas
- Pruebas de políticas nuevas en otra rama
Scale y Enterprise y debe habilitarse por separado. Para obtener más información, contacta con nosotros.
Como referencia, consulta este repositorio de ejemplo.
Puedes definir políticas principales de carácter general.
También encontrarás ejemplos de políticas específicas para subcarpetas:
Estas configuraciones ayudan a detectar vulnerabilidades teniendo en cuenta la responsabilidad de cada carpeta. Resultan especialmente útiles en monorepos, ya que permiten configurar el contexto adecuado.
Flujo de trabajo para actualizar corgea.yaml
1
Crea una rama e inicia un escaneo
Crea una rama nueva con el archivo corgea.yaml y abre una pull request. Esto iniciará automáticamente un escaneo de la rama. También puedes iniciarlo manualmente desde la página del proyecto.

2
Revisa el archivo de políticas
Ve a la página de PoliciesIQ, donde encontrarás una sección denominada 
Policy File in Repos.
3
Revisa las políticas del archivo
Haz clic en la sección para revisar las políticas generadas a partir del archivo corgea.yaml.

4
Haz clic en `Associated Issues`
Haz clic en la columna 
Associated Issues para consultar los hallazgos activados por la política.
5
Actualiza y prueba la política o fusiona la PR
Realiza los cambios necesarios hasta obtener los resultados esperados y después fusiona la pull request para incluir el archivo corgea.yaml en la rama principal.
Configuración básica de corgea.yaml
La configuración básica de corgea.yaml tiene este aspecto:type: Tipo de política. Puede ser “scan”, “false_positive” o “fix”.description: Contenido de la política. Explica el contexto adicional o las directrices de seguridad internas que permiten adaptar los hallazgos de vulnerabilidades.
Configuración avanzada de corgea.yaml
También puedes añadir estos campos:instruction_type: Determina cómo interactúan las instrucciones de la política con las políticas integradas de Corgea. Puede ser"append"u"overwrite". Con"append", las instrucciones se añaden a las políticas integradas y se conservan ambos conjuntos de reglas. Con"overwrite"(valor predeterminado), las instrucciones sustituyen por completo el comportamiento predeterminado de Corgea.guidance_text: Indicaciones estáticas opcionales que se muestran a los desarrolladores al consultar hallazgos asociados a la política. Utilízalas para incluir instrucciones del equipo, enlaces internos o contexto de remediación.
cwes: Solo se aplica a “fix” y “false_positive”. Permite asociar una política a CWE concretos. Por ejemplo:
excludes: Permite excluir rutas de un escaneo de políticas concreto mediante expresiones glob.
ignore_paths: Permite excluir carpetas globalmente de todos los escaneos y de la creación de hallazgos. (Nota: estas rutas se omiten globalmente, no solo en una política concreta. Los patrones como**/vendor/**coinciden a cualquier profundidad.)
path: Permite gestionar todo de forma centralizada mediante una ruta, en lugar de mantener archivos corgea.yaml separados en las subcarpetas.
1
En la página de PolicyIQ verás las cinco políticas generadas.

2
Puedes consultar cada política con su ruta correspondiente.

