Inicio de la primera campaña
En este tutorial, planeará y ejecutará su primera campaña de seguridad de toda la organización centrada en las alertas XSS. A lo largo del proceso, aprenderá a seleccionar las alertas adecuadas, preparar a los desarrolladores para el éxito y estructurar una campaña que impulsa mejoras significativas en su posición de seguridad.
Imagine que ha identificado un patrón periódico de vulnerabilidades XSS en varios repositorios. En lugar de abordar las alertas una por una, decide ejecutar una campaña coordinada que reduzca el riesgo al tiempo que ayuda a los desarrolladores a crear confianza en la codificación segura.
1. Definir un objetivo centrado
Al ejecutar una campaña a escala, es tentador tener como destino todas las alertas urgentes a la vez. Si los desarrolladores ya tienen una base sólida en la codificación segura y la capacidad disponible, esto puede funcionar.
Sin embargo, si su objetivo es reducir el riesgo y mejorar las prácticas de codificación seguras, una campaña centrada suele ser más eficaz. Elegir un único tipo de vulnerabilidad, como scripting entre sitios, permite a los desarrolladores reconocer patrones, aplicar aprendizaje en varias correcciones y crear impulso.
Para esta campaña, decide centrarse en las alertas XSS en toda la organización, dentro de los límites de cuántas alertas puede incluir una sola campaña.
2. Seleccionar alertas para la campaña
En la página de alertas de seguridad, comience por filtrar las alertas de scripting entre sitios. También puede usar una plantilla de campaña predefinida, como scripting entre sitios (CWE-79) para definir rápidamente el ámbito. Para obtener información sobre el filtrado de alertas, consulte Filtrar alertas en la información general sobre seguridad.
Nota:
Las campañas de seguridad pueden incluir hasta 1000 alertas. Si su organización tiene más de 1000 alertas XSS, restrinja los filtros (por ejemplo, por repositorio, gravedad o idioma) hasta que el número de alertas coincidentes esté dentro de este límite o planee varias campañas para cubrir las alertas restantes.
Si Autofijo de Copilot está disponible para la campaña, puede ajustar aún más el ámbito mediante el filtro autofix:supported. Esto permite a los desarrolladores aprovechar las sugerencias de corrección generadas por IA para corregir alertas de forma más eficaz.
Antes de lanzar la campaña, también prepara materiales educativos de apoyo. Por ejemplo:
- Cree un repositorio con instrucciones sobre la prevención de vulnerabilidades de XSS.
- Vincule a recursos de la Fundación OWASP, como Cross-Site Scripting (XSS).
- Proporcione ejemplos de patrones de codificación seguros y enfoques de prueba.
Incluirá vínculos a estos recursos en la descripción de la campaña para que los desarrolladores puedan hacer referencia a ellos a medida que trabajan a través de sus alertas asignadas.
3. Asignar administradores de campañas y definir canales de comunicación
Antes de iniciar la campaña, decida quién soportará a los desarrolladores a lo largo del proceso de remediación.
Al crear una campaña de seguridad, debe asignar uno o varios administradores de campaña. Los administradores de campaña deben ser:
- Un usuario con el rol de propietario de la organización o el rol de administrador de seguridad, o
- Miembro de un equipo con uno de esos roles
Elija administradores que puedan:
- Respuesta a preguntas sobre vulnerabilidades de XSS
- Revisión de solicitudes de incorporación de cambios para correcciones
- Ayuda para resolver casos perimetrales o escenarios de corrección complejos
Dado que los administradores de campañas son visibles para los desarrolladores que participan en la campaña, también es una oportunidad para establecer una comunicación clara. Al crear la campaña, incluya un vínculo de contacto, como un vínculo a un subproceso GitHub Discussions u otro canal de comunicación, para que los desarrolladores sepan dónde formular preguntas.
Al establecer las expectativas pronto y hacer que el soporte sea visible, aumenta la confianza y mejora las tasas de corrección.
4. Crear y publicar la campaña
Ya estás listo para crear la campaña.
Al definir la campaña:
- Use el filtro o la plantilla XSS para seleccionar las alertas.
- Agregue una descripción clara que explique el objetivo de la campaña.
- Incluya vínculos a los recursos educativos que preparó anteriormente.
- Establezca una fecha de vencimiento realista en función del número de alertas y la capacidad de corrección esperada.
Si no está seguro sobre el ámbito, cree primero un borrador de campaña. Un borrador le permite revisar las alertas que se incluirán y colaborar internamente antes de publicarlo.
5. Habilitar el seguimiento de problemas para aumentar la visibilidad
Para ayudar a los desarrolladores a realizar un seguimiento de su trabajo y proporcionar visibilidad a los administradores, puede optar por crear automáticamente un problema en cada repositorio incluido en la campaña. Esto permite a los desarrolladores administrar su trabajo de corrección dentro de sus flujos de trabajo y paneles de proyecto existentes.
Al habilitar la creación de problemas, la "Descripción breve" de la campaña, "Vínculo de contacto" y la fecha de vencimiento se incluyen automáticamente en el cuerpo del problema. Si actualiza la descripción breve, el vínculo de contacto o la fecha de vencimiento, esos cambios se reflejan en los problemas. Además, cuando la campaña alcanza su fecha de vencimiento o se cierra, se publica un comentario en cada problema para notificar a los desarrolladores. Esta integración ayuda a mantener una comunicación clara y mantiene la campaña organizada en varios repositorios.
6. Apoyo a desarrolladores durante la corrección
Una vez que la campaña esté activa, el rol cambia del organizador al habilitador. Los desarrolladores comenzarán a revisar y corregir las alertas XSS en sus repositorios. Para ayudarles a moverse de forma eficaz y segura:
- Asegúrese de que los administradores de campañas estén disponibles para revisar las solicitudes de incorporación de cambios y responder a preguntas.
- Anime a los desarrolladores a usar chat de Copilot para comprender mejor por qué el código es vulnerable y cómo validar sus correcciones.
- Cuando sea posible, anime a los desarrolladores a revisar y probar las sugerencias de Autofijo de Copilot antes de combinar los cambios.
Si preparó recursos educativos anteriormente, haga referencia a ellos en discusiones y revisiones de solicitudes de incorporación de cambios. Reforzar las instrucciones compartidas reduce las preguntas repetidas y ayuda a crear hábitos de codificación seguros a largo plazo.
Al mantenerse visible y atento durante la campaña, refuerza que se trata de un esfuerzo colaborativo, no solo un ejercicio de cumplimiento.
7. Establecer una fecha límite realista
Se establece una fecha de vencimiento al crear la campaña. A medida que avanza la campaña, asegúrese de que el cronograma siga siendo factible.
Al establecer o ajustar la fecha límite, tenga en cuenta lo siguiente:
- El número de alertas incluidas en la campaña
- Capacidad de corrección esperada de los desarrolladores (por ejemplo, cuánto tiempo pueden dedicar a corregir alertas junto con su trabajo normal).
- Las próximas fechas límite o días festivos de la empresa que puedan afectar a la disponibilidad
A menos que la corrección de alertas sea una iniciativa dedicada, la mayoría de los desarrolladores equilibrarán este trabajo junto con el desarrollo de características. Establecer una escala de tiempo realista aumenta la participación y evita el desaconsejamiento.
Si es necesario, puede ejecutar varias campañas centradas a lo largo del tiempo en lugar de intentar abordar todos los tipos de alertas a la vez.
8. Cierre la campaña e itere
A medida que se aproxima la fecha límite, supervise el progreso y colabore en las correcciones complejas restantes.
Cuando se cierra la campaña:
- Los problemas del repositorio se actualizan automáticamente.
- Los desarrolladores han resuelto un conjunto centrado de vulnerabilidades.
- Su organización ha reducido el riesgo de forma medible.
Lo más importante es que los desarrolladores han obtenido experiencia práctica en reconocer y corregir una clase específica de vulnerabilidad.
Desde aquí, puede repetir el proceso con otro conjunto de alertas dirigido, como la inyección SQL, la deserialización no segura o los secretos expuestos, para mejorar constantemente la posición de seguridad de la organización a lo largo del tiempo.
Pasos siguientes
¿Listo para lanzar tu campaña? Para crear y administrar la campaña de seguridad, consulte Creación y administración de campañas de seguridad.