En este artículo de referencia se muestran qué herramientas GitHub se deben usar y qué superficies GitHub se deben comprobar al responder a un incidente de seguridad. Use este artículo para guiar su investigación en las categorías de amenazas principales.
Para obtener instrucciones completas sobre cómo responder a un incidente de seguridad, incluidas las estrategias de contención, consulte Respuesta a un incidente de seguridad.
Importante
La disponibilidad de cada herramienta (y los datos que proporciona) varía según GitHub el plan, el rol, los permisos, la habilitación de características y la configuración previa al incidente (por ejemplo, la transmisión de registros de auditoría y la divulgación de direcciones IP requieren una configuración previa). Para obtener más información, vea Herramientas de investigación para incidentes de seguridad.
Tenga en cuenta que los incidentes de seguridad del mundo real rara vez implican un único vector de ataque. Un compromiso de credenciales puede conducir a una inyección de código malintencionado, lo que puede permitir la filtración de datos. A medida que investiga una señal de amenaza, prepárese para entrar en otras áreas de investigación y recorrer en bucle la contención, la investigación y la corrección más profundas a medida que descubre nuevos indicadores de riesgo y a medida que evoluciona su comprensión del modelo de amenazas.
Credenciales expuestas o en peligro
Esta sección puede aplicarse cuando:
Sospecha que se ha robado o explotado un token o una clave, ha recibido una secret scanning alerta o ha encontrado credenciales expuestas en código, registros o repositorio público.
Elementos que se deben comprobar
- Busque en el registro de auditoría:
- Las acciones realizadas por el token en peligro mediante la búsqueda de todos los eventos asociados a ese token. Consulte Identificación de eventos de registro de auditoría realizados por un token de acceso.
- Acciones realizadas por actores inesperados o direcciones IP desconocidas (si está habilitada la divulgación de direcciones IP).
- Revise secret scanning las alertas para encontrar hallazgos relevantes y evaluar la ubicación, la exposición y la validez de un secreto filtrado.
- Use información general de seguridad para su empresa u organización para identificar tendencias o actividades entre repositorios.
- Use GitHub la búsqueda de código para comprobar si hay secretos expuestos en código,
.envarchivos o archivos de configuración entre repositorios.
Herramientas clave
| Herramienta | propósito |
|---|---|
| Registro de auditoría | Uso del token de seguimiento |
| Información general sobre seguridad | Ver alertas de seguridad y actividades a nivel de organización o empresarial, especialmente alertas secret scanning. |
| [ |
GitHub búsqueda de código](/code-security/reference/security-incident-response/investigation-tools#github-code-search) | Búsqueda de credenciales expuestas en el código |
Recursos clave
Acceso no autorizado y peligro de la cuenta
Esta sección puede aplicarse cuando:
Ha observado una actividad de inicio de sesión inusual, ha detectado confirmaciones o cambios inesperados o ha detectado un comportamiento sospechoso de la cuenta.
Elementos que se deben comprobar
- Busque en el registro de auditoría los cambios de acceso, permisos o roles de los miembros. Por ejemplo, busque eventos como
org.add_member, ,repo.add_member``org.add_outside_collaborator,org.update_member,repo.update_member, ,role.create, .role.update - Para cualquier evento sospechoso en el registro de auditoría, identifique al actor. Compruebe si el actor es un usuario desconocido, una cuenta potencialmente comprometida o una aplicación no reconocida.
- Si tiene habilitada la visibilidad de direcciones IP, compruebe si se reconoce la dirección IP asociada a eventos inusuales o actividad sospechosa.
- Busque en el registro de auditoría los eventos relacionados con las claves o aplicaciones de implementación recién creadas, por ejemplo
public_key.create,integration_installation.create. - Revise el registro de auditoría para ver los cambios inesperados del repositorio, como los nuevos repositorios públicos o los cambios de visibilidad del repositorio (privados a públicos), por ejemplo
repo.create,repo.access. - Use la vista de actividad (nivel de repositorio) para crear un historial de inserciones recientes. Busque empujes de actores inesperados, empujes forzados o nombres de ramas inusuales.
Herramientas clave
| Herramienta | propósito |
|---|---|
| Registros de auditoría | Buscar y comprobar acciones, actores y direcciones IP |
| Vista de actividad | Actividad de revisión de repositorios específicos |
Recursos clave
Filtración de datos
Esta sección puede aplicarse cuando:
Ha detectado descargas grandes, actividad inusual de la API o informes de que sus datos aparecen externamente.
Elementos que se deben comprobar
- Busque registros de auditoría para las operaciones de Git de gran volumen (
git.clone,git.fetch) o las solicitudes de API, especialmente desde un actor desconocido () o una dirección IP (actorsi está habilitada la visibilidad de la dirección IP), que indican la recopilación masiva de datos.- Tenga en cuenta que los eventos de Git del registro de auditoría tienen requisitos de acceso especiales y directivas de retención que difieren de otros eventos de registro de auditoría. Para GitHub Enterprise Cloud, se puede acceder a los eventos de Git a través de la API REST y los datos se conservan durante siete días, a menos que se esté transmitiendo el log de auditoría. Para GitHub Enterprise Server, los eventos de Git deben estar habilitados en la configuración del registro de auditoría y no se incluyen en los resultados de la búsqueda.
- De forma similar, la captura de la actividad de api en los registros de auditoría requiere una configuración anterior y no está disponible de forma predeterminada.
- Compruebe los registros de auditoría de los eventos de exposición o replicación del repositorio, por ejemplo, los cambios de visibilidad del repositorio (de privado a público), los repositorios nuevos inesperados que se crean (como los nuevos repositorios públicos) o los repositorios que se cambian de nombre o se transfieren (,
repo.create(repo.accesscambios de visibilidad),repo.rename,repo.transfer). - Compruebe si hay mecanismos de salida, por ejemplo, webhooks que se crean o actualizan (
hook.createo eventos similares en los registros de auditoría) y comprueba si algún webhook apunta a un dominio no reconocido.
Herramientas clave
| Herramienta | propósito |
|---|---|
| Registros de auditoría | Búsqueda de acciones pertinentes |
Recursos clave
Cambios de flujo de trabajo y código malintencionado
Esta sección puede aplicarse cuando:
Encontró código sospechoso en el repositorio, un investigador de seguridad notificó un problema o notó un comportamiento inesperado del flujo de trabajo.
Elementos que se deben comprobar
- Revise la pestaña Acciones para ejecuciones de flujo de trabajo inesperadas, especialmente las desencadenadas por usuarios desconocidos o en momentos inusuales.
- Inspeccione los registros de ejecución del flujo de trabajo para detectar cualquier salida sospechosa.
- Utiliza la búsqueda de código GitHub para encontrar archivos sospechosos o adiciones de código, especialmente en los archivos de flujo de trabajo (
.github/workflows/), scripts de shell o archivos de configuración. - Use la vista Actividad para comprobar si hay inserciones en nombres de rama inusuales, forzar inserciones, inserciones de actores inesperados.
- Compruebe los registros de auditoría para ver los cambios en la configuración de seguridad o las acciones de deshabilitación (busque eventos como
repository_ruleset.destroy,repository_secret_scanning_push_protection.disable, u otros eventos.delete,.disableo.destroy). - Compruebe los registros de auditoría de los eventos relacionados con los nuevos runners autogestionados que se agregan (por ejemplo, eventos
org.register_self_hosted_runner,repo.register_self_hosted_runner). - Compruebe Dependabot alerts o el GitHub Advisory Database para avisos relacionados con GitHub Actions utilizado en sus flujos de trabajo.
Herramientas clave
| Herramienta | propósito |
|---|---|
| Ejecuciones y registros de flujo de trabajo | Revisión de la ejecución del flujo de trabajo e inspección de la salida del registro |
| Vista de actividad | Identificar empujes inesperados, empujes forzados o empujes de actores desconocidos |
| [ |
GitHub búsqueda de código](/code-security/reference/security-incident-response/investigation-tools#github-code-search) | Buscar patrones de código sospechosos |
| Registros de auditoría | Filtrar por acción para buscar cambios en la configuración de seguridad |
Recursos clave
Ataques de la cadena de suministro y malware
Esta sección puede aplicarse cuando:
Ha recibido una alerta de malware o dependencia, sospecha de un paquete malintencionado o ha observado dependencias inesperadas en los proyectos.
Elementos que se deben comprobar
- Busque una Dependabot alerta de malware, que puede indicarle detalles sobre el paquete malintencionado (como el nombre del paquete, las versiones afectadas y la versión revisada), así como los pasos de corrección. Actualmente se admite solo para paquetes en el ecosistema
npm. - Busque en GitHub Advisory Database para ver si GitHub notifica alertas sobre las dependencias (o las versiones de éstas) que están usando sus proyectos. Específicamente para el malware, busque
type:malwareen la base de datos de avisos. - Utiliza la función de búsqueda de código GitHub para buscar referencias al paquete o la acción sospechosas en toda tu organización.
- Revise el gráfico de dependencias de los repositorios para identificar las dependencias nuevas o inesperadas.
- Use la vista de actividad y compruebe el historial de confirmaciones para revisar los cambios recientes en manifiestos de dependencia o archivos de bloqueo (por ejemplo,
package.json,package-lock.json,Gemfile.lock). Compruebe las vistas de culpa y las solicitudes de incorporación de cambios para identificar quién introdujo los cambios y si se revisaron. - Revise las alertas de seguridad creadas recientemente en la información general de seguridad de su organización.
Herramientas clave
| Herramienta | propósito |
|---|---|
| [ |
GitHub búsqueda de código](/code-security/reference/security-incident-response/investigation-tools#github-code-search)| Buscar referencias al paquete sospechoso o a la acción |
| Gráfico de dependencias | Visualización y revisión de dependencias |
|
Dependabot alertas | Revisión de las alertas relacionadas con las dependencias vulnerables |
| GitHub Advisory Database| Busque type:malware. |
| Vista de actividad | Revisar los envíos recientes a los repositorios |
| Información general sobre seguridad | Revisión de las alertas de seguridad recientes en una organización o empresa |