ID | Technique | Tactic |
---|---|---|
T1562.001 | Disable or Modify Tools | Defense Evasion |
T1195 | Supply Chain Compromise | Initial Access |
Detection: GitHub Enterprise Disable Dependabot
Description
The following analytic detects when a user disables Dependabot security features within a GitHub repository. Dependabot helps automatically identify and fix security vulnerabilities in dependencies. The detection monitors GitHub Enterprise logs for configuration changes that disable Dependabot functionality. This behavior could indicate an attacker attempting to prevent the automatic detection of vulnerable dependencies, which would allow them to exploit known vulnerabilities that would otherwise be patched. For a SOC, identifying the disabling of security features like Dependabot is critical as it may be a precursor to supply chain attacks where attackers exploit vulnerable dependencies. The impact could be severe if vulnerabilities remain unpatched, potentially leading to code execution, data theft, or other compromises through the software supply chain.
Search
1`github_enterprise` action=repository_vulnerability_alerts.disable
2| fillnull
3| stats count min(_time) as firstTime max(_time) as lastTime by actor, actor_id, actor_ip, actor_is_bot, actor_location.country_code, business, business_id, org, org_id, repo, repo_id, user, user_agent, user_id, action
4| `security_content_ctime(firstTime)`
5| `security_content_ctime(lastTime)`
6| `github_enterprise_disable_dependabot_filter`
Data Source
Name | Platform | Sourcetype | Source |
---|---|---|---|
GitHub Enterprise Audit Logs | N/A | 'httpevent' |
'http:github' |
Macros Used
Name | Value |
---|---|
github_enterprise | source=http:github sourcetype=httpevent |
github_enterprise_disable_dependabot_filter | search * |
github_enterprise_disable_dependabot_filter
is an empty macro by default. It allows the user to filter out any results (false positives) without editing the SPL.
Annotations
Default Configuration
This detection is configured by default in Splunk Enterprise Security to run with the following settings:
Setting | Value |
---|---|
Disabled | true |
Cron Schedule | 0 * * * * |
Earliest Time | -70m@m |
Latest Time | -10m@m |
Schedule Window | auto |
Creates Risk Event | True |
Implementation
You must ingest GitHub Enterprise logs using Audit log streaming as described in this documentation https://docs.github.com/en/enterprise-cloud@latest/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise#setting-up-streaming-to-splunk using a Splunk HTTP Event Collector.
Known False Positives
unknown
Associated Analytic Story
Risk Based Analytics (RBA)
Risk Message:
Dependabot security features are disabled in repository $repo$ by $user$
Risk Object | Risk Object Type | Risk Score | Threat Objects |
---|---|---|---|
user | user | 25 | user_agent |
References
Detection Testing
Test Type | Status | Dataset | Source | Sourcetype |
---|---|---|---|---|
Validation | ✅ Passing | N/A | N/A | N/A |
Unit | ✅ Passing | Dataset | http:github |
httpevent |
Integration | ✅ Passing | Dataset | http:github |
httpevent |
Replay any dataset to Splunk Enterprise by using our replay.py
tool or the UI.
Alternatively you can replay a dataset into a Splunk Attack Range
Source: GitHub | Version: 1