Ciclo de vida de desarrollo seguro: patrones

Obtenga más información acerca de Well-Architected Confideicomiso → Ciclo de vida de desarrollo seguro

La seguridad debe integrarse a lo largo del ciclo de vida del desarrollo, desde el diseño inicial hasta la implementación y las operaciones. Estos patrones activan prácticas de seguridad de turno a la izquierda, solucionan vulnerabilidades comunes y protegen sus oportunidades en curso de implementación.

Patrones

Dónde buscarQué aspecto tiene
Desarrollo | Herramientas✅ Escaneo de seguridad IDE integrado en el flujo de trabajo del desarrollador
Desarrollo | Diseño✅ Modelado de amenazas completado durante la fase de diseño utilizando la metodología STRIDE
Desarrollo | Requisitos✅ Requisitos de seguridad incluidos en historias de usuario y criterios de aceptación
Desarrollo | Control de origen✅ Los ganchos de confirmación previa aplican políticas de seguridad (exploración secreta, análisis de código)
Desarrollo | Capacitación✅ Capacitación de seguridad de desarrollador actualizada regularmente para reflejar amenazas en evolución
Desarrollo | CI/CD✅ Las pruebas de seguridad automatizadas en oportunidades en curso de CI/CD fallan se basan en hallazgos críticos
Desarrollo | Revisión de código✅ Revisiones de colegas de seguridad requeridas para autenticación, autorización y código de acceso a datos
Desarrollo | Análisis de código✅ Estándares de codificación seguros aplicados a través de linters y análisis estáticos
Desarrollo | Dependencias✅ La exploración de vulnerabilidades de dependencias se ejecuta en cada confirmación
Desarrollo | Pruebas✅ El ámbito de pruebas de penetración incluye nuevas funciones antes del lanzamiento de la ley general

Antipatrones

Dónde buscarAspecto negativo
Desarrollo | Pruebas⚠️ Pruebas de seguridad aplazadas a revisión manual antes de la versión
Desarrollo | Capacitación⚠️ Capacitación en seguridad realizada una vez durante la incorporación únicamente
Desarrollo | Revisión de código⚠️ El equipo de seguridad revisa el código después de la combinación
Desarrollo | Diseño⚠️ Modelos de amenazas no actualizados cuando cambia la arquitectura
Desarrollo | Control de origen⚠️ Exploración secreta desactivada para reducir falsos positivos
Desarrollo | CI/CD⚠️ Se ignoran los hallazgos de seguridad cuando se avecinan plazos de lanzamiento

Patrones

Dónde buscarQué aspecto tiene
Inyección✅ Las consultas SOQL utilizan variables de vinculación para evitar la inyección
Inyección✅ Entrada de usuario validada y desinfectada antes de su uso en consultas SOQL, SOSL o dinámicas
Inyección✅ SOQL dinámico restringido a entradas de confianza únicamente
Control de acceso✅ Permisos CRUD y FLS aplicados utilizando Security.stripInaccessible()
XSS✅ Los componentes Lightning escapan al contenido generado por el usuario en la representación de la interfaz de usuario
Inyección✅ Las integraciones de API externas validan y desinfectan todas las entradas
Control de acceso✅ Acceso de usuario invitado minimizado y fuertemente restringido
Autenticación✅ Credenciales nombradas utilizadas para autenticación externa (no credenciales codificadas)
Autenticación✅ Flujos de OAuth 2.0 implementados correctamente con PKCE
Gestión de sesiones✅ Las políticas de seguridad de sesión aplican restricciones de tiempo de espera e IP
Configuración✅ Comprobación del estado de seguridad revisada trimestralmente y hallazgos de alto riesgo solucionados
Control de acceso✅ Metadatos personalizados y permisos auditados para evitar privilegios excesivos

Antipatrones

Dónde buscarAspecto negativo
Inyección⚠️ Consultas SOQL construidas utilizando concatenación de cadena con entrada de usuario
Control de acceso⚠️ Perfiles de usuario invitado otorgados permisos Crear, Actualizar o Eliminar
XSS⚠️ Los componentes Lightning utilizan expresiones sin escapar en plantillas
Autenticación⚠️ Las integraciones externas utilizan credenciales codificadas en código
Registro⚠️ Los registros de depuración contienen datos confidenciales como contraseñas o PII
Control de acceso⚠️ Se omiten las comprobaciones FLS y CRUD porque “controlamos todos los usuarios”
Configuración⚠️ Resultados de Comprobación del estado de seguridad ignorados o pospuestos indefinidamente

Patrones

Dónde buscarQué aspecto tiene
Canalizaciones | Control de origen✅ Las reglas de protección de sucursales aplican revisiones y comprobaciones de estado requeridas
Canalizaciones | Control de acceso✅ Las oportunidades en curso de implementación utilizan cuentas de servicio con permisos mínimos requeridos
Oportunidades en curso | Secretos✅ Secretos almacenados en bóvedas seguras (nunca en el control de origen o variables de entorno)
Canalizaciones | Implementación✅ Las implementaciones de producción requieren una puerta de aprobación manual del personal autorizado
Oportunidades en curso | Auditoría✅ Los registros de implementación capturan quién implementó qué cuándo con seguimientos de aprobación
Canalizaciones | Validación✅ La validación previa a la implementación incluye análisis de seguridad y comprobaciones de cumplimiento
Canalizaciones | Control de acceso✅ Autenticación de múltiples factores requerida para el acceso administrativo de oportunidades en curso
Canalizaciones | Monitoreo✅ Los cambios de configuración de oportunidades en curso desencadenan notificaciones del equipo de seguridad
Canalizaciones | Validación✅ La validación posterior a la implementación automatizada confirma los controles de seguridad esperados activos
Canalizaciones | Dependencias✅ Actualizaciones de dependencias evaluadas para impacto de seguridad antes de la implementación

Antipatrones

Dónde buscarAspecto negativo
Oportunidades en curso | Secretos⚠️ Secretos confirmados para el control de versiones (incluso si se eliminan más adelante)
Canalizaciones | Control de origen⚠️ Cualquiera puede combinar con la rama principal/de producción sin revisión
Canalizaciones | Control de acceso⚠️ Las oportunidades en curso de implementación se ejecutan con permisos a nivel de administrador
Canalizaciones | Implementación⚠️ Implementaciones de producción completamente automatizadas sin puertas de aprobación
Oportunidades en curso | Auditoría⚠️ Los registros de implementación no capturan quién inició o aprobó los cambios
Canalizaciones | Validación⚠️ Escaneos de seguridad fallidos ignorados o omitidos para cumplir los plazos
Canalizaciones | Monitoreo⚠️ Cambios de configuración de oportunidades en curso no supervisados o revisados
Canalizaciones | Validación⚠️ La validación posterior a la implementación solo comprueba la corrección funcional

Patrones

Dónde buscarQué aspecto tiene
Pruebas | Análisis estático✅ Salesforce Code Analyzer se ejecuta en IDE de desarrollador para comentarios inmediatos y en oportunidades en curso de CI/CD como puertas automatizadas
Pruebas | Pruebas de penetración✅ Pruebas de penetración realizadas para aplicaciones personalizadas expuestas a usuarios no fiables, especialmente sitios de Experience Cloud y API de cara al público
Pruebas | Pruebas de unidad✅ Pruebas de unidades de Apex centradas en la seguridad se ejecutan como usuarios con diferentes perfiles de permisos
Pruebas | Dependencias✅ La exploración de dependencias monitorea paquetes de AgentExchange y bibliotecas JavaScript para vulnerabilidades conocidas
Pruebas | Revisión de seguridad✅ Reporte de análisis estático preparado para cada envío de AppExchange o Revisión de seguridad de AgentExchange
Pruebas | Revisión de seguridad✅ Reporte de exploración dinámica (prueba de penetración) preparado cuando una solución integra una aplicación o servicio web externo
Pruebas | Dependencias✅ Advertencias de seguridad para paquetes instalados suscritos y monitoreados

Antipatrones

Dónde buscarAspecto negativo
Pruebas | Cobertura⚠️ Las pruebas de seguridad se basan en una única técnica como el análisis estático únicamente
Pruebas | Pruebas de unidad⚠️ Las pruebas Apex validan el comportamiento funcional pero nunca se ejecutan como usuarios de privilegios inferiores
Pruebas | Revisión de seguridad⚠️ Envío de AppExchange o AgentExchange preparado sin el análisis estático requerido o reportes de exploración dinámica
Pruebas | Pruebas de penetración⚠️ Pruebas de penetración omitidas para sitios y API de Experience Cloud de cara al público

Consulte también: