@gendigital/sage-opencode 0.10.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/dist/bundled-dirs.d.ts +1 -1
- package/dist/bundled-dirs.d.ts.map +1 -1
- package/dist/bundled-dirs.js +1 -1
- package/dist/bundled-dirs.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +42 -3
- package/dist/index.js.map +1 -1
- package/dist/mcp-server.cjs +31776 -0
- package/dist/mcp-server.cjs.map +7 -0
- package/dist/startup-scan.d.ts.map +1 -1
- package/dist/startup-scan.js +3 -2
- package/dist/startup-scan.js.map +1 -1
- package/dist/tool-handler.d.ts +1 -1
- package/dist/tool-handler.d.ts.map +1 -1
- package/dist/tool-handler.js +9 -3
- package/dist/tool-handler.js.map +1 -1
- package/package.json +5 -3
- package/resources/threats/agent-layer.yaml +186 -0
- package/resources/threats/commands.yaml +24 -53
- package/resources/threats/credentials.yaml +12 -20
- package/resources/threats/dummy.yaml +22 -33
- package/resources/threats/files.yaml +34 -53
- package/resources/threats/mac-commands.yaml +20 -47
- package/resources/threats/mac-credentials.yaml +4 -12
- package/resources/threats/mac-files.yaml +5 -15
- package/resources/threats/mac-obfuscation.yaml +6 -13
- package/resources/threats/mac-persistence.yaml +11 -20
- package/resources/threats/mac-supply-chain.yaml +5 -8
- package/resources/threats/mitre.yaml +105 -167
- package/resources/threats/obfuscation.yaml +7 -15
- package/resources/threats/persistence.yaml +10 -17
- package/resources/threats/prompt-injection.yaml +92 -43
- package/resources/threats/self-defense.yaml +8 -12
- package/resources/threats/supply_chain.yaml +1 -2
- package/resources/threats/urls.yaml +9 -14
- package/resources/threats/win-commands.yaml +46 -106
- package/resources/threats/win-credentials.yaml +14 -24
- package/resources/threats/win-files.yaml +10 -20
- package/resources/threats/win-obfuscation.yaml +21 -37
- package/resources/threats/win-persistence.yaml +8 -16
- package/resources/threats/win-supply-chain.yaml +2 -3
- /package/resources/{allowlists → trusted-domains}/trusted-installer-domains.yaml +0 -0
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
category: secrets
|
|
8
8
|
severity: critical
|
|
9
9
|
confidence: 0.80
|
|
10
|
-
action: block
|
|
11
10
|
pattern: "(sk-[a-zA-Z0-9_-]{20,}|sk-proj-[a-zA-Z0-9_-]{20,}|AKIA[0-9A-Z]{16}|AIza[0-9A-Za-z_-]{35}|ghp_[0-9a-zA-Z]{36}|gho_[0-9a-zA-Z]{36}|glpat-[0-9a-zA-Z_-]{20,}|xox[baprs]-[0-9a-zA-Z-]+)"
|
|
12
11
|
match_on: [command, content]
|
|
13
12
|
title: "Known API key prefix detected"
|
|
@@ -17,9 +16,8 @@
|
|
|
17
16
|
# --- Export of credential env vars ---
|
|
18
17
|
- id: "CLT-CRED-002"
|
|
19
18
|
category: secrets
|
|
20
|
-
severity:
|
|
21
|
-
confidence: 0.
|
|
22
|
-
action: require_approval
|
|
19
|
+
severity: warning
|
|
20
|
+
confidence: 0.60
|
|
23
21
|
pattern: "\\bexport\\s+[A-Z_]*(API_KEY|SECRET|TOKEN|PASSWORD|CREDENTIAL|AUTH)[A-Z_]*="
|
|
24
22
|
match_on: command
|
|
25
23
|
title: "Export of environment variable with credential keyword"
|
|
@@ -29,9 +27,8 @@
|
|
|
29
27
|
# --- .env file writes ---
|
|
30
28
|
- id: "CLT-CRED-003"
|
|
31
29
|
category: secrets
|
|
32
|
-
severity:
|
|
33
|
-
confidence: 0.
|
|
34
|
-
action: require_approval
|
|
30
|
+
severity: warning
|
|
31
|
+
confidence: 0.60
|
|
35
32
|
pattern: "(>>|>)\\s*\\.env(?!\\S*\\.(example|sample|template|dist)\\b)(\\.local|\\.production|\\.prod|\\.staging|\\.stage|\\.development|\\.dev|\\.test)?\\b"
|
|
36
33
|
match_on: command
|
|
37
34
|
title: "Write/append to .env file (potential credential exposure)"
|
|
@@ -41,9 +38,8 @@
|
|
|
41
38
|
# --- Reading credential files ---
|
|
42
39
|
- id: "CLT-CRED-004"
|
|
43
40
|
category: secrets
|
|
44
|
-
severity:
|
|
45
|
-
confidence: 0.
|
|
46
|
-
action: require_approval
|
|
41
|
+
severity: warning
|
|
42
|
+
confidence: 0.60
|
|
47
43
|
pattern: "\\b(cat|less|more|head|tail)\\s+.*(\\.(env(?!\\S*\\.(example|sample|template|dist)\\b)(\\.(local|production|prod|staging|stage|development|dev|test))?)|credentials|\\.aws/credentials|\\.ssh/id_rsa|\\.ssh/id_ed25519|\\.netrc|\\.pgpass)"
|
|
48
44
|
match_on: command
|
|
49
45
|
title: "Reading credential or secret file"
|
|
@@ -53,9 +49,8 @@
|
|
|
53
49
|
# --- Plaintext credential assignment ---
|
|
54
50
|
- id: "CLT-CRED-005"
|
|
55
51
|
category: secrets
|
|
56
|
-
severity:
|
|
57
|
-
confidence: 0.
|
|
58
|
-
action: require_approval
|
|
52
|
+
severity: warning
|
|
53
|
+
confidence: 0.60
|
|
59
54
|
pattern: "\\b(PASSWORD|API_SECRET|SECRET_KEY|PRIVATE_KEY|DB_PASSWORD|MYSQL_PASSWORD|POSTGRES_PASSWORD)=[\"']?[^\\s\"']{8,}"
|
|
60
55
|
match_on: [command, content]
|
|
61
56
|
title: "Plaintext credential assignment detected"
|
|
@@ -67,7 +62,6 @@
|
|
|
67
62
|
category: secrets
|
|
68
63
|
severity: critical
|
|
69
64
|
confidence: 0.92
|
|
70
|
-
action: block
|
|
71
65
|
pattern: "(github_pat_[0-9a-zA-Z_]{22,}|SG\\.[0-9a-zA-Z_-]{22,}\\.[0-9a-zA-Z_-]{22,}|pk_live_[0-9a-zA-Z]{24,}|sk_live_[0-9a-zA-Z]{24,}|rk_live_[0-9a-zA-Z]{24,})"
|
|
72
66
|
match_on: [command, content]
|
|
73
67
|
title: "Long-form API key pattern detected (GitHub PAT, SendGrid, Stripe)"
|
|
@@ -77,9 +71,8 @@
|
|
|
77
71
|
# --- Copy/move/link secret files ---
|
|
78
72
|
- id: "CLT-CRED-007"
|
|
79
73
|
category: secrets
|
|
80
|
-
severity:
|
|
81
|
-
confidence: 0.
|
|
82
|
-
action: require_approval
|
|
74
|
+
severity: warning
|
|
75
|
+
confidence: 0.60
|
|
83
76
|
# Protected files: .env*, .aws/credentials, .ssh/(id_rsa|id_ed25519|id_ecdsa|id_dsa),
|
|
84
77
|
# .netrc, .pgpass, .npmrc, .pypirc, key.properties, .docker/config.json,
|
|
85
78
|
# kubeconfig, .kube/config, master.key, credentials.yml
|
|
@@ -92,9 +85,8 @@
|
|
|
92
85
|
# --- Archive secret files ---
|
|
93
86
|
- id: "CLT-CRED-008"
|
|
94
87
|
category: secrets
|
|
95
|
-
severity:
|
|
96
|
-
confidence: 0.
|
|
97
|
-
action: require_approval
|
|
88
|
+
severity: warning
|
|
89
|
+
confidence: 0.60
|
|
98
90
|
# Protected files: .env*, .aws/credentials, .ssh/(id_rsa|id_ed25519|id_ecdsa|id_dsa),
|
|
99
91
|
# .netrc, .pgpass, .npmrc, .pypirc, key.properties, .docker/config.json,
|
|
100
92
|
# kubeconfig, .kube/config, master.key, credentials.yml
|
|
@@ -24,7 +24,6 @@
|
|
|
24
24
|
category: testing
|
|
25
25
|
severity: critical
|
|
26
26
|
confidence: 0.95
|
|
27
|
-
action: block
|
|
28
27
|
pattern: "__sage_test_deny_cmd_a75bf229__"
|
|
29
28
|
match_on: command
|
|
30
29
|
title: "[TEST] Canary deny command (alpha)"
|
|
@@ -35,7 +34,6 @@
|
|
|
35
34
|
category: testing
|
|
36
35
|
severity: critical
|
|
37
36
|
confidence: 0.95
|
|
38
|
-
action: block
|
|
39
37
|
pattern: "__sage_test_deny_run_c3d91e4a__"
|
|
40
38
|
match_on: command
|
|
41
39
|
title: "[TEST] Canary deny command (bravo)"
|
|
@@ -44,9 +42,8 @@
|
|
|
44
42
|
|
|
45
43
|
- id: "DUMMY-CMD-ASK-001"
|
|
46
44
|
category: testing
|
|
47
|
-
severity:
|
|
48
|
-
confidence: 0.
|
|
49
|
-
action: require_approval
|
|
45
|
+
severity: warning
|
|
46
|
+
confidence: 0.60
|
|
50
47
|
pattern: "__sage_test_ask_cmd_8f2e6b71__"
|
|
51
48
|
match_on: command
|
|
52
49
|
title: "[TEST] Canary approval command (alpha)"
|
|
@@ -55,9 +52,8 @@
|
|
|
55
52
|
|
|
56
53
|
- id: "DUMMY-CMD-ASK-002"
|
|
57
54
|
category: testing
|
|
58
|
-
severity:
|
|
59
|
-
confidence: 0.
|
|
60
|
-
action: require_approval
|
|
55
|
+
severity: warning
|
|
56
|
+
confidence: 0.60
|
|
61
57
|
pattern: "__sage_test_ask_run_d4a09c53__"
|
|
62
58
|
match_on: command
|
|
63
59
|
title: "[TEST] Canary approval command (bravo)"
|
|
@@ -66,14 +62,14 @@
|
|
|
66
62
|
|
|
67
63
|
- id: "DUMMY-CMD-LOG-001"
|
|
68
64
|
category: testing
|
|
69
|
-
severity:
|
|
70
|
-
confidence: 0.
|
|
71
|
-
action: log
|
|
65
|
+
severity: info
|
|
66
|
+
confidence: 0.10
|
|
72
67
|
pattern: "__sage_test_log_cmd_1b7e3f82__"
|
|
73
68
|
match_on: command
|
|
74
69
|
title: "[TEST] Canary log-only command"
|
|
75
70
|
expires_at: null
|
|
76
71
|
revoked: false
|
|
72
|
+
flags: ["report"]
|
|
77
73
|
|
|
78
74
|
# ─── File-path patterns (Write / Edit / Read / Delete tools) ────────
|
|
79
75
|
|
|
@@ -81,7 +77,6 @@
|
|
|
81
77
|
category: testing
|
|
82
78
|
severity: critical
|
|
83
79
|
confidence: 0.95
|
|
84
|
-
action: block
|
|
85
80
|
pattern: "__sage_test_deny_file_e6c4a918__"
|
|
86
81
|
match_on: file_path
|
|
87
82
|
title: "[TEST] Canary deny file path"
|
|
@@ -90,9 +85,8 @@
|
|
|
90
85
|
|
|
91
86
|
- id: "DUMMY-FILE-ASK-001"
|
|
92
87
|
category: testing
|
|
93
|
-
severity:
|
|
94
|
-
confidence: 0.
|
|
95
|
-
action: require_approval
|
|
88
|
+
severity: warning
|
|
89
|
+
confidence: 0.60
|
|
96
90
|
pattern: "__sage_test_ask_file_52fd7b36__"
|
|
97
91
|
match_on: file_path
|
|
98
92
|
title: "[TEST] Canary approval file path"
|
|
@@ -101,14 +95,14 @@
|
|
|
101
95
|
|
|
102
96
|
- id: "DUMMY-FILE-LOG-001"
|
|
103
97
|
category: testing
|
|
104
|
-
severity:
|
|
105
|
-
confidence: 0.
|
|
106
|
-
action: log
|
|
98
|
+
severity: info
|
|
99
|
+
confidence: 0.10
|
|
107
100
|
pattern: "__sage_test_log_file_9a13de74__"
|
|
108
101
|
match_on: file_path
|
|
109
102
|
title: "[TEST] Canary log-only file path"
|
|
110
103
|
expires_at: null
|
|
111
104
|
revoked: false
|
|
105
|
+
flags: ["report"]
|
|
112
106
|
|
|
113
107
|
# ─── Content patterns (Write / Edit tools — file body) ──────────────
|
|
114
108
|
|
|
@@ -116,7 +110,6 @@
|
|
|
116
110
|
category: testing
|
|
117
111
|
severity: critical
|
|
118
112
|
confidence: 0.95
|
|
119
|
-
action: block
|
|
120
113
|
pattern: "__SAGE_TEST_DENY_CONTENT_3c8f15b7__"
|
|
121
114
|
match_on: content
|
|
122
115
|
title: "[TEST] Canary deny content"
|
|
@@ -125,9 +118,8 @@
|
|
|
125
118
|
|
|
126
119
|
- id: "DUMMY-CONTENT-ASK-001"
|
|
127
120
|
category: testing
|
|
128
|
-
severity:
|
|
129
|
-
confidence: 0.
|
|
130
|
-
action: require_approval
|
|
121
|
+
severity: warning
|
|
122
|
+
confidence: 0.60
|
|
131
123
|
pattern: "__SAGE_TEST_ASK_CONTENT_7d4ea2c9__"
|
|
132
124
|
match_on: content
|
|
133
125
|
title: "[TEST] Canary approval content"
|
|
@@ -136,14 +128,14 @@
|
|
|
136
128
|
|
|
137
129
|
- id: "DUMMY-CONTENT-LOG-001"
|
|
138
130
|
category: testing
|
|
139
|
-
severity:
|
|
140
|
-
confidence: 0.
|
|
141
|
-
action: log
|
|
131
|
+
severity: info
|
|
132
|
+
confidence: 0.10
|
|
142
133
|
pattern: "__SAGE_TEST_LOG_CONTENT_f0b683d1__"
|
|
143
134
|
match_on: content
|
|
144
135
|
title: "[TEST] Canary log-only content"
|
|
145
136
|
expires_at: null
|
|
146
137
|
revoked: false
|
|
138
|
+
flags: ["report"]
|
|
147
139
|
|
|
148
140
|
# ─── URL patterns (WebFetch / Bash / Write content) ─────────────────
|
|
149
141
|
# Uses .test TLD (RFC 2606 reserved, never resolves) for safety.
|
|
@@ -152,7 +144,6 @@
|
|
|
152
144
|
category: testing
|
|
153
145
|
severity: critical
|
|
154
146
|
confidence: 0.95
|
|
155
|
-
action: block
|
|
156
147
|
pattern: "sage-canary-deny-4e91ca37\\.test"
|
|
157
148
|
match_on: url
|
|
158
149
|
title: "[TEST] Canary deny URL"
|
|
@@ -161,9 +152,8 @@
|
|
|
161
152
|
|
|
162
153
|
- id: "DUMMY-URL-ASK-001"
|
|
163
154
|
category: testing
|
|
164
|
-
severity:
|
|
165
|
-
confidence: 0.
|
|
166
|
-
action: require_approval
|
|
155
|
+
severity: warning
|
|
156
|
+
confidence: 0.60
|
|
167
157
|
pattern: "sage-canary-ask-b26d80f5\\.test"
|
|
168
158
|
match_on: url
|
|
169
159
|
title: "[TEST] Canary approval URL"
|
|
@@ -172,14 +162,14 @@
|
|
|
172
162
|
|
|
173
163
|
- id: "DUMMY-URL-LOG-001"
|
|
174
164
|
category: testing
|
|
175
|
-
severity:
|
|
176
|
-
confidence: 0.
|
|
177
|
-
action: log
|
|
165
|
+
severity: info
|
|
166
|
+
confidence: 0.10
|
|
178
167
|
pattern: "sage-canary-log-65f3d7a4\\.test"
|
|
179
168
|
match_on: url
|
|
180
169
|
title: "[TEST] Canary log-only URL"
|
|
181
170
|
expires_at: null
|
|
182
171
|
revoked: false
|
|
172
|
+
flags: ["report"]
|
|
183
173
|
|
|
184
174
|
# ─── Domain pattern (verifies domain→url routing in heuristics) ─────
|
|
185
175
|
|
|
@@ -187,7 +177,6 @@
|
|
|
187
177
|
category: testing
|
|
188
178
|
severity: critical
|
|
189
179
|
confidence: 0.95
|
|
190
|
-
action: block
|
|
191
180
|
pattern: "sage-canary-domain-0c82eb16\\.test"
|
|
192
181
|
match_on: domain
|
|
193
182
|
title: "[TEST] Canary deny domain"
|
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
category: secrets
|
|
9
9
|
severity: critical
|
|
10
10
|
confidence: 0.95
|
|
11
|
-
action: block
|
|
12
11
|
pattern: "(/etc/passwd|/etc/shadow|/etc/sudoers)"
|
|
13
12
|
match_on: file_path
|
|
14
13
|
title: "Access system authentication file"
|
|
@@ -20,7 +19,6 @@
|
|
|
20
19
|
category: secrets
|
|
21
20
|
severity: critical
|
|
22
21
|
confidence: 0.95
|
|
23
|
-
action: block
|
|
24
22
|
pattern: "\\.ssh/authorized_keys"
|
|
25
23
|
match_on: file_path
|
|
26
24
|
title: "Access SSH authorized_keys (unauthorized access persistence)"
|
|
@@ -30,9 +28,8 @@
|
|
|
30
28
|
# --- SSH private keys and config ---
|
|
31
29
|
- id: "CLT-FILE-003"
|
|
32
30
|
category: secrets
|
|
33
|
-
severity:
|
|
34
|
-
confidence: 0.
|
|
35
|
-
action: require_approval
|
|
31
|
+
severity: warning
|
|
32
|
+
confidence: 0.60
|
|
36
33
|
pattern: "\\.ssh/(id_rsa|id_ed25519|id_ecdsa|id_dsa|config)$"
|
|
37
34
|
match_on: file_path
|
|
38
35
|
title: "Access SSH key or config file"
|
|
@@ -42,9 +39,8 @@
|
|
|
42
39
|
# --- Shell RC files ---
|
|
43
40
|
- id: "CLT-FILE-004"
|
|
44
41
|
category: tool
|
|
45
|
-
severity:
|
|
46
|
-
confidence: 0.
|
|
47
|
-
action: require_approval
|
|
42
|
+
severity: warning
|
|
43
|
+
confidence: 0.60
|
|
48
44
|
pattern: "\\.(bashrc|zshrc|profile|bash_profile|zprofile|zshenv)$"
|
|
49
45
|
match_on: file_path
|
|
50
46
|
title: "Access shell RC file (persistence mechanism)"
|
|
@@ -54,9 +50,8 @@
|
|
|
54
50
|
# --- Cron directories ---
|
|
55
51
|
- id: "CLT-FILE-006"
|
|
56
52
|
category: tool
|
|
57
|
-
severity:
|
|
58
|
-
confidence: 0.
|
|
59
|
-
action: require_approval
|
|
53
|
+
severity: warning
|
|
54
|
+
confidence: 0.60
|
|
60
55
|
pattern: "(/etc/cron\\.(d|daily|hourly|weekly|monthly)/|/var/spool/cron/)"
|
|
61
56
|
match_on: file_path
|
|
62
57
|
title: "Access cron directory"
|
|
@@ -66,9 +61,8 @@
|
|
|
66
61
|
# --- systemd unit files ---
|
|
67
62
|
- id: "CLT-FILE-007"
|
|
68
63
|
category: tool
|
|
69
|
-
severity:
|
|
70
|
-
confidence: 0.
|
|
71
|
-
action: require_approval
|
|
64
|
+
severity: warning
|
|
65
|
+
confidence: 0.60
|
|
72
66
|
pattern: "/etc/systemd/system/"
|
|
73
67
|
match_on: file_path
|
|
74
68
|
title: "Access systemd service unit file"
|
|
@@ -82,9 +76,8 @@
|
|
|
82
76
|
# targeted than command-string matching.
|
|
83
77
|
- id: "CLT-FILE-008"
|
|
84
78
|
category: secrets
|
|
85
|
-
severity:
|
|
86
|
-
confidence: 0.
|
|
87
|
-
action: require_approval
|
|
79
|
+
severity: warning
|
|
80
|
+
confidence: 0.60
|
|
88
81
|
pattern: "((^|[\\/\\\\])\\.env(\\.local|\\.production|\\.prod|\\.staging|\\.stage|\\.development|\\.dev|\\.test)?|\\.aws/credentials|\\.netrc|\\.pgpass)$"
|
|
89
82
|
match_on: file_path
|
|
90
83
|
title: "Access credential or environment file"
|
|
@@ -94,9 +87,8 @@
|
|
|
94
87
|
# --- Git hooks ---
|
|
95
88
|
- id: "CLT-FILE-009"
|
|
96
89
|
category: tool
|
|
97
|
-
severity:
|
|
98
|
-
confidence: 0.
|
|
99
|
-
action: require_approval
|
|
90
|
+
severity: warning
|
|
91
|
+
confidence: 0.60
|
|
100
92
|
pattern: "\\.git/hooks/"
|
|
101
93
|
match_on: file_path
|
|
102
94
|
title: "Access git hook (potential code execution on git events)"
|
|
@@ -106,9 +98,8 @@
|
|
|
106
98
|
# --- Android signing files ---
|
|
107
99
|
- id: "CLT-FILE-010"
|
|
108
100
|
category: secrets
|
|
109
|
-
severity:
|
|
110
|
-
confidence: 0.
|
|
111
|
-
action: require_approval
|
|
101
|
+
severity: warning
|
|
102
|
+
confidence: 0.60
|
|
112
103
|
pattern: "(key\\.properties|release\\.keystore|\\.jks|\\.keystore)$"
|
|
113
104
|
match_on: file_path
|
|
114
105
|
title: "Access Android signing file"
|
|
@@ -118,9 +109,8 @@
|
|
|
118
109
|
# --- Firebase config files ---
|
|
119
110
|
- id: "CLT-FILE-011"
|
|
120
111
|
category: secrets
|
|
121
|
-
severity:
|
|
122
|
-
confidence: 0.
|
|
123
|
-
action: require_approval
|
|
112
|
+
severity: warning
|
|
113
|
+
confidence: 0.60
|
|
124
114
|
pattern: "(google-services\\.json|GoogleService-Info\\.plist)$"
|
|
125
115
|
match_on: file_path
|
|
126
116
|
title: "Access Firebase configuration file"
|
|
@@ -130,9 +120,8 @@
|
|
|
130
120
|
# --- Cloud provider credential files ---
|
|
131
121
|
- id: "CLT-FILE-012"
|
|
132
122
|
category: secrets
|
|
133
|
-
severity:
|
|
134
|
-
confidence: 0.
|
|
135
|
-
action: require_approval
|
|
123
|
+
severity: warning
|
|
124
|
+
confidence: 0.60
|
|
136
125
|
pattern: "(application_default_credentials\\.json|\\.azure/(accessTokens|msal_token_cache)\\.json|\\.config/doctl/config\\.yaml)$"
|
|
137
126
|
match_on: file_path
|
|
138
127
|
title: "Access cloud provider credential file"
|
|
@@ -142,9 +131,8 @@
|
|
|
142
131
|
# --- Package manager tokens ---
|
|
143
132
|
- id: "CLT-FILE-013"
|
|
144
133
|
category: secrets
|
|
145
|
-
severity:
|
|
146
|
-
confidence: 0.
|
|
147
|
-
action: require_approval
|
|
134
|
+
severity: warning
|
|
135
|
+
confidence: 0.60
|
|
148
136
|
pattern: "(\\.npmrc|\\.pypirc|\\.gem/credentials|\\.cargo/credentials\\.toml|\\.docker/config\\.json)$"
|
|
149
137
|
match_on: file_path
|
|
150
138
|
title: "Access package manager credential file"
|
|
@@ -154,9 +142,8 @@
|
|
|
154
142
|
# --- Terraform state files ---
|
|
155
143
|
- id: "CLT-FILE-014"
|
|
156
144
|
category: secrets
|
|
157
|
-
severity:
|
|
158
|
-
confidence: 0.
|
|
159
|
-
action: require_approval
|
|
145
|
+
severity: warning
|
|
146
|
+
confidence: 0.60
|
|
160
147
|
pattern: "\\.(tfstate(\\.backup)?|tfvars(\\.json)?)$"
|
|
161
148
|
match_on: file_path
|
|
162
149
|
title: "Access Terraform state or variables file"
|
|
@@ -166,9 +153,8 @@
|
|
|
166
153
|
# --- Secrets/vault files ---
|
|
167
154
|
- id: "CLT-FILE-015"
|
|
168
155
|
category: secrets
|
|
169
|
-
severity:
|
|
170
|
-
confidence: 0.
|
|
171
|
-
action: require_approval
|
|
156
|
+
severity: warning
|
|
157
|
+
confidence: 0.60
|
|
172
158
|
pattern: "(master\\.key|credentials\\.yml\\.enc|secrets\\.yml|vault\\.yml|\\.vault-pass|\\.vault-token)$"
|
|
173
159
|
match_on: file_path
|
|
174
160
|
title: "Access secrets or vault file"
|
|
@@ -181,9 +167,8 @@
|
|
|
181
167
|
# would miss private key exfiltration.
|
|
182
168
|
- id: "CLT-FILE-016"
|
|
183
169
|
category: secrets
|
|
184
|
-
severity:
|
|
185
|
-
confidence: 0.
|
|
186
|
-
action: require_approval
|
|
170
|
+
severity: warning
|
|
171
|
+
confidence: 0.60
|
|
187
172
|
pattern: "\\.(pem|p12|pfx|p8)$"
|
|
188
173
|
match_on: file_path
|
|
189
174
|
title: "Access private key or certificate file"
|
|
@@ -193,9 +178,8 @@
|
|
|
193
178
|
# --- Kubeconfig ---
|
|
194
179
|
- id: "CLT-FILE-017"
|
|
195
180
|
category: secrets
|
|
196
|
-
severity:
|
|
197
|
-
confidence: 0.
|
|
198
|
-
action: require_approval
|
|
181
|
+
severity: warning
|
|
182
|
+
confidence: 0.60
|
|
199
183
|
pattern: "(\\.kube/config|kubeconfig(\\.yaml|\\.yml)?)$"
|
|
200
184
|
match_on: file_path
|
|
201
185
|
title: "Access Kubernetes configuration file"
|
|
@@ -205,9 +189,8 @@
|
|
|
205
189
|
# --- Build system credential files ---
|
|
206
190
|
- id: "CLT-FILE-018"
|
|
207
191
|
category: secrets
|
|
208
|
-
severity:
|
|
209
|
-
confidence: 0.
|
|
210
|
-
action: require_approval
|
|
192
|
+
severity: warning
|
|
193
|
+
confidence: 0.60
|
|
211
194
|
pattern: "(\\.m2/settings\\.xml|gradle\\.properties)$"
|
|
212
195
|
match_on: file_path
|
|
213
196
|
title: "Access build system credential file"
|
|
@@ -217,9 +200,8 @@
|
|
|
217
200
|
# --- Shell/REPL history files ---
|
|
218
201
|
- id: "CLT-FILE-019"
|
|
219
202
|
category: secrets
|
|
220
|
-
severity:
|
|
221
|
-
confidence: 0.
|
|
222
|
-
action: require_approval
|
|
203
|
+
severity: warning
|
|
204
|
+
confidence: 0.60
|
|
223
205
|
pattern: "\\.(bash_history|zsh_history|mysql_history|python_history|node_repl_history|psql_history|irb_history)$"
|
|
224
206
|
match_on: file_path
|
|
225
207
|
title: "Access shell or REPL history file"
|
|
@@ -229,9 +211,8 @@
|
|
|
229
211
|
# --- JetBrains IDE database credentials ---
|
|
230
212
|
- id: "CLT-FILE-020"
|
|
231
213
|
category: secrets
|
|
232
|
-
severity:
|
|
233
|
-
confidence: 0.
|
|
234
|
-
action: require_approval
|
|
214
|
+
severity: warning
|
|
215
|
+
confidence: 0.60
|
|
235
216
|
pattern: "\\.idea/dataSources(\\.xml|/)"
|
|
236
217
|
match_on: file_path
|
|
237
218
|
title: "Access JetBrains IDE database credential file"
|