Github
Github audit logs provide visibility into your codebase's security and administrative activities across repositories. These logs capture critical events about your Github repositories including authentication changes, access control modifications, and policy updates. They also track aspects of your codebase such as code scanning alerts, secret scanning detections, and Dependabot activity. These logs are useful for maintaining compliance, investigating security incidents, detecting unauthorized access, and understanding administrative changes across your GitHub enterprise.
This guide walks through how to set up Github audit logs in Scanner Collect, using Github log streaming to send logs directly to Scanner’s HEC (HTTP Event Collector) receiver.
Step 1: Create a New Source
In the Scanner UI, go to the Collect tab.
Click Create New Source.
Click Select a Source Type.
Choose Github.
For Ingest Method, select Splunk HEC.
For Destination, select Scanner.
If you only want logs stored in your S3 data lake (without indexing or detection), choose AWS S3 Only. This guide assumes you’re using Scanner as the destination.
Click Next.
Step 2: Configure the Source
Set a Display Name such as
my-org-github-logs.
Click Next.
Step 3: Configure Destination
Select the S3 bucket where you want raw logs delivered.
(Optional) Enter a bucket prefix. The default is fine for most setups.
Choose the Scanner index where searchable logs should go.
Leave the Source Label as the default:
github.
Click Next.
Step 4: Transform and Enrich
Keep the default transformation step: Normalize to ECS - Github
This maps Github log fields to the Elastic Common Schema (ECS) to support cross-source queries and detections.
Keep Parse JSON Columns enabled to automatically extract data from any stringified JSON fields.
(Optional) Add additional transformation or enrichment steps as desired.
Click Next.
Step 5: Timestamp Extraction
Leave the default settings to extract timestamps from the timestamp fields.
Click Next.
Step 6: Review and Create
Review your configuration.
Click Create Source.
After creation, Scanner will display a unique token and a HEC domain. Keep these handy, as they will be needed in the next step.
Step 7: Configure in Github
Log in to
github.comwith an account with permissions to manage your enterprise.Navigate to the settings page for your enterprise:
Click your profile photo.
Click Settings.
Click Switch settings context (which is underneath your account name), then select your enterprise.
Click Audit log on the left.
Click Log streaming.
Click Configure stream -> Splunk.
Set the Domain field to the HEC domain from the previous step.
Set the Port field to
443.Set the Token field to the token from the previous step.
Ensure "Enable SSL verification" is checked.
Click Check endpoint.
Click Save.
That’s It
Once routing is complete, logs will flow from Github → Scanner HTTP Receiver → S3 → Scanner index.
Last updated
Was this helpful?