MITRE ATT&CK coverage
| Tactic | Techniques |
|---|---|
| Exfiltration | T1041 Exfiltration Over C2 Channel |
Rule body yaml
AnalysisType: rule
Filename: snowflake_stream_file_downloaded.py
RuleID: Snowflake.Stream.FileDownloaded
DisplayName: Snowflake File Downloaded
Enabled: true
LogTypes:
- Snowflake.QueryHistory
Severity: Info
CreateAlert: false
Reports:
MITRE ATT&CK:
- TA0010:T1041 # Exfiltration Over C2 Channel
Description: A file was downloaded from a stage.
Reference:
https://cloud.google.com/blog/topics/threat-intelligence/unc5537-snowflake-data-theft-extortion/
Tags:
- Snowflake
- '[MITRE] Exfiltration'
- '[MITRE] Exfiltration Over C2 Channel'
Tests:
- Name: Worksheet File Downloaded
ExpectedResult: false
Log:
{
"p_event_time": "2024-10-09 19:38:06.158000000",
"p_log_type": "Snowflake.QueryHistory",
"p_source_label": "SF-Ben",
"EXECUTION_STATUS": "SUCCESS",
"QUERY_TEXT": "GET '@~/worksheet_data/metadata' 'file:///'",
"QUERY_TYPE": "GET_FILES",
"ROLE_NAME": "PUBLIC",
"USER_NAME": "CLARK_KENT"
}
- Name: Other File Downloaded
ExpectedResult: true
Log:
{
"p_event_time": "2024-10-09 19:38:06.158000000",
"p_log_type": "Snowflake.QueryHistory",
"p_source_label": "SF-Ben",
"EXECUTION_STATUS": "SUCCESS",
"QUERY_TEXT": "GET @PANTHER_LOGS.PUBLIC.data_exfil/DATA.csv 'file:///Users/lex.luthor/Documents'",
"QUERY_TYPE": "GET_FILES",
"ROLE_NAME": "PUBLIC",
"USER_NAME": "LEX_LUTHOR"
}
Detection logic
Condition
QUERY_TYPE eq "GET_FILES"
EXECUTION_STATUS eq "SUCCESS"
QUERY_TEXT ne "GET '@~/worksheet_data/metadata' 'file:///'"
This rule also runs imperative logic the parser cannot express as a filter; the conditions above are the structured part it could extract.
Indicators
Each row is a field, operator, and value that the rule matches. The corpus column counts how many other rules in the catalog look for the same combination: high numbers point to widely-used, community-vetted indicators. Blank or 1 shows that the indicator is specific to this rule.
| Field | Kind | Values |
|---|---|---|
EXECUTION_STATUS | eq |
|
QUERY_TEXT | ne |
|
QUERY_TYPE | eq |
|