Common security incident investigation areas

Reference for investigating security incidents across multiple attack vectors, including the key surfaces and tools to check on GitHub.

This reference article shows you which GitHub tools to use and which GitHub surfaces to check when you're responding to a security incident. Use this article to guide your investigation across major threat categories.

For full guidance on how to respond to a security incident, including containment strategies, see Responding to a security incident.

Important

The availability of each tool (and the data it provides) varies by GitHub plan, role, permissions, feature enablement, and pre-incident configuration (for example, audit log streaming and IP address disclosure require prior set up). For more information, see Investigation tools for security incidents.

Be aware that real-world security incidents rarely involve a single attack vector. A credential compromise may lead to malicious code injection, which may enable data exfiltration. As you investigate a threat signal, be prepared to move into other investigation areas, and to loop through containment, deeper investigation and remediation as you uncover new indicators of compromise and as your understanding of the threat model evolves.

Exposed or compromised credentials

This section may apply when:

You suspect a token or key has been stolen or exploited, received a secret scanning alert, or found credentials exposed in code, logs or a public repository.

What to check

Key tools

Tool Purpose
Audit log Trace token usage
Security overview View organization- or enterprise-level security alerts and activity, particularly secret scanning alerts
GitHub code search Search for exposed credentials in code

Key resources

Unauthorized access and account compromise

This section may apply when:

You noticed unusual login activity, saw unexpected commits or changes, or detected suspicious account behavior.

What to check

Key tools

Tool Purpose
Audit logs Search and cross-check actions, actors and IP addresses
Activity view Review activity for specific repositories

Key resources

Data exfiltration

This section may apply when:

You detected large downloads, unusual API activity, or received reports of your data appearing externally.

What to check

Key tools

Tool Purpose
Audit logs Search for relevant actions

Key resources

Malicious code and workflow changes

This section may apply when:

You found suspicious code in your repository, a security researcher reported an issue, or you noticed unexpected workflow behavior.

What to check

Key tools

Tool Purpose
Workflow runs and logs Review workflow execution and inspect log output
Activity view Identify unexpected pushes, force pushes, or pushes from unfamiliar actors
GitHub code search Search for suspicious code patterns
Audit logs Filter by action to find security setting changes

Key resources

Note

[!NOTE]
Runner IP addresses are dynamically assigned from shared infrastructure and may be flagged due to unrelated activity. For more information, see Troubleshooting workflows.

Malware and supply chain attacks

This section may apply when:

You received a malware or dependency alert, suspect a malicious package, or noticed unexpected dependencies in your projects.

What to check

Key tools

Tool Purpose
GitHub code search Search for references to the suspected package or Action
Dependency graph Visualize and review dependencies
Dependabot alerts Review for alerts relating to vulnerable dependencies
GitHub Advisory Database Search for type:malware
Activity view Review recent pushes to repositories
Security overview Review recent security alerts across an organization or enterprise

Key resources

Further reading