GitHub Audit Log Streaming Configuration Modified or Deleted
Description
Detects when a GitHub Enterprise audit log streaming destination is updated or deleted. Adversaries who gain enterprise admin access may change the stream sink or destroy it to stop security telemetry from reaching the SIEM, or to redirect audit events to attacker-controlled storage.
Query · esql
from logs-github.audit-* metadata _id, _index, _version
| where
event.module == "github" and data_stream.dataset == "github.audit"
and event.action in ("audit_log_streaming.update", "audit_log_streaming.destroy")
| keep
_id,
_index,
_version,
@timestamp,
event.action,
user.name,
github.org,
github.repo,
github.actor_ip,
github.hashed_token,
github.programmatic_access_type,
github.user_agent,
github.business,
github.audit_log_stream_id,
github.audit_log_stream_sink,
github.audit_log_stream_enabled
Investigation fields
Pivot points the source recommends for triage.
@timestampevent.actionuser.namegithub.orggithub.repogithub.actor_ipgithub.hashed_tokengithub.programmatic_access_typegithub.user_agentgithub.businessgithub.audit_log_stream_idgithub.audit_log_stream_sinkgithub.audit_log_stream_enabled
Known false positives
- Planned stream rotation, sink migration, or pausing a misconfigured destination by an enterprise owner. Confirm the actor, change ticket, and that the production SIEM sink remains enabled.
Analyst notes
Investigating GitHub Audit Log Streaming Configuration Modified or Deleted
Enterprise audit log streaming is the durable copy of GitHub audit events. Updating or deleting a stream can blind detection coverage or send logs to an untrusted bucket.
Possible investigation steps
- Identify
user.name,github.programmatic_access_type,github.hashed_token, andgithub.actor_ip. - Confirm whether
event.actionisaudit_log_streaming.updateoraudit_log_streaming.destroyand inspectgithub.audit_log_stream_id/github.audit_log_stream_sink. - Verify in GitHub Enterprise settings that the production SIEM destination is still enabled and pointing at the expected sink.
- Correlate nearby enterprise-admin actions (IP allow list, SSO, owner changes) from the same actor or token.
False positive analysis
- Authorized sink rotation or OIDC role replacement.
- Deleting a throwaway/test stream while the production stream stays enabled.
Response and remediation
- If unauthorized, restore the production stream immediately and rotate the actor's credentials.
- Review other enterprise settings changed in the same window.
- Treat a destroy of the SIEM-bound stream as a detection outage and backfill from GitHub's retained audit log if needed.