@runsec/mcp 1.0.1
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/dist/index.js +578 -0
- package/package.json +43 -0
- package/src/rules/data/rule-compliance-map.json +43563 -0
- package/src/rules/data/semgrep-rules/README-taint-overlays.md +21 -0
- package/src/rules/data/semgrep-rules/advanced-agent-cloud.yaml +802 -0
- package/src/rules/data/semgrep-rules/app-logic.yaml +445 -0
- package/src/rules/data/semgrep-rules/auth-keycloak.yaml +831 -0
- package/src/rules/data/semgrep-rules/browser-agent.yaml +260 -0
- package/src/rules/data/semgrep-rules/cloud-secrets.yaml +316 -0
- package/src/rules/data/semgrep-rules/csharp-dotnet.yaml +4864 -0
- package/src/rules/data/semgrep-rules/desktop-electron-pro.yaml +30 -0
- package/src/rules/data/semgrep-rules/desktop-vsto-suite.yaml +2759 -0
- package/src/rules/data/semgrep-rules/devops-security.yaml +393 -0
- package/src/rules/data/semgrep-rules/domain-access-management.yaml +1023 -0
- package/src/rules/data/semgrep-rules/domain-data-privacy.yaml +852 -0
- package/src/rules/data/semgrep-rules/domain-input-validation.yaml +2894 -0
- package/src/rules/data/semgrep-rules/domain-platform-hardening.yaml +1715 -0
- package/src/rules/data/semgrep-rules/ds-ml-security.yaml +2431 -0
- package/src/rules/data/semgrep-rules/fastapi-async.yaml +5953 -0
- package/src/rules/data/semgrep-rules/frontend-react.yaml +4035 -0
- package/src/rules/data/semgrep-rules/frontend-security.yaml +200 -0
- package/src/rules/data/semgrep-rules/go-core.yaml +4959 -0
- package/src/rules/data/semgrep-rules/hft-cpp-security.yaml +631 -0
- package/src/rules/data/semgrep-rules/infra-k8s-helm.yaml +4968 -0
- package/src/rules/data/semgrep-rules/integration-security.yaml +2362 -0
- package/src/rules/data/semgrep-rules/java-enterprise.yaml +14756 -0
- package/src/rules/data/semgrep-rules/java-spring.yaml +397 -0
- package/src/rules/data/semgrep-rules/license-compliance.yaml +186 -0
- package/src/rules/data/semgrep-rules/mobile-flutter.yaml +37 -0
- package/src/rules/data/semgrep-rules/mobile-security.yaml +721 -0
- package/src/rules/data/semgrep-rules/nodejs-nestjs.yaml +5164 -0
- package/src/rules/data/semgrep-rules/nodejs-security.yaml +326 -0
- package/src/rules/data/semgrep-rules/observability.yaml +381 -0
- package/src/rules/data/semgrep-rules/php-security.yaml +3601 -0
- package/src/rules/data/semgrep-rules/python-backend-pro.yaml +30 -0
- package/src/rules/data/semgrep-rules/python-django.yaml +181 -0
- package/src/rules/data/semgrep-rules/python-security.yaml +284 -0
- package/src/rules/data/semgrep-rules/ru-regulatory.yaml +496 -0
- package/src/rules/data/semgrep-rules/ruby-rails.yaml +3078 -0
- package/src/rules/data/semgrep-rules/rust-security.yaml +2701 -0
|
@@ -0,0 +1,393 @@
|
|
|
1
|
+
rules:
|
|
2
|
+
- id: runsec.devops-security.dvs-001
|
|
3
|
+
metadata:
|
|
4
|
+
runsec_version: v1.0
|
|
5
|
+
confidence: |-
|
|
6
|
+
0.9
|
|
7
|
+
exploit_scenario: |-
|
|
8
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
9
|
+
fix_template: |-
|
|
10
|
+
Создать непривилегированного пользователя (useradd -m appuser) и запускать контейнер через USER appuser.
|
|
11
|
+
pattern-either:
|
|
12
|
+
- pattern: |-
|
|
13
|
+
FROM python:3.11
|
|
14
|
+
...
|
|
15
|
+
USER root
|
|
16
|
+
- pattern-regex: 'Vulnerable:\\s*DVS\\-001\\b'
|
|
17
|
+
message: |-
|
|
18
|
+
RunSec Detection [DVS-001]: Docker CIS Benchmark
|
|
19
|
+
languages:
|
|
20
|
+
- generic
|
|
21
|
+
severity: WARNING
|
|
22
|
+
- id: runsec.devops-security.dvs-002
|
|
23
|
+
metadata:
|
|
24
|
+
runsec_version: v1.0
|
|
25
|
+
confidence: |-
|
|
26
|
+
0.9
|
|
27
|
+
exploit_scenario: |-
|
|
28
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
29
|
+
fix_template: |-
|
|
30
|
+
Фиксировать образ по версии/диджесту (FROM node:20.12.2, FROM alpine@sha256:...).
|
|
31
|
+
pattern-either:
|
|
32
|
+
- pattern: |-
|
|
33
|
+
FROM node:latest
|
|
34
|
+
FROM alpine:latest
|
|
35
|
+
- pattern-regex: 'Vulnerable:\\s*DVS\\-002\\b'
|
|
36
|
+
message: |-
|
|
37
|
+
RunSec Detection [DVS-002]: Supply-chain hardening
|
|
38
|
+
languages:
|
|
39
|
+
- generic
|
|
40
|
+
severity: WARNING
|
|
41
|
+
- id: runsec.devops-security.dvs-003
|
|
42
|
+
metadata:
|
|
43
|
+
runsec_version: v1.0
|
|
44
|
+
confidence: |-
|
|
45
|
+
0.9
|
|
46
|
+
exploit_scenario: |-
|
|
47
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
48
|
+
fix_template: |-
|
|
49
|
+
Использовать runtime secret injection (Vault/ESO/K8s Secret), исключить секреты из Docker build layers.
|
|
50
|
+
pattern-either:
|
|
51
|
+
- pattern: |-
|
|
52
|
+
ENV DB_PASSWORD=supersecret
|
|
53
|
+
ARG AWS_SECRET_ACCESS_KEY=...
|
|
54
|
+
- pattern-regex: 'Vulnerable:\\s*DVS\\-003\\b'
|
|
55
|
+
message: |-
|
|
56
|
+
RunSec Detection [DVS-003]: CWE-798, Vault best practices
|
|
57
|
+
languages:
|
|
58
|
+
- generic
|
|
59
|
+
severity: WARNING
|
|
60
|
+
- id: runsec.devops-security.dvs-004
|
|
61
|
+
metadata:
|
|
62
|
+
runsec_version: v1.0
|
|
63
|
+
confidence: |-
|
|
64
|
+
0.9
|
|
65
|
+
exploit_scenario: |-
|
|
66
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
67
|
+
fix_template: |-
|
|
68
|
+
Генерировать provenance-аттестацию (builder, source, digest, timestamp, workflow id) и сохранять ее как обязательный артефакт релиза.
|
|
69
|
+
pattern-either:
|
|
70
|
+
- pattern: |-
|
|
71
|
+
docker build -t app:1.0 .
|
|
72
|
+
# no provenance attestation
|
|
73
|
+
- pattern-regex: 'Vulnerable:\\s*DVS\\-004\\b'
|
|
74
|
+
message: |-
|
|
75
|
+
RunSec Detection [DVS-004]: SLSA v1.0 (L1/L2)
|
|
76
|
+
languages:
|
|
77
|
+
- generic
|
|
78
|
+
severity: WARNING
|
|
79
|
+
- id: runsec.devops-security.dvs-005
|
|
80
|
+
metadata:
|
|
81
|
+
runsec_version: v1.0
|
|
82
|
+
confidence: |-
|
|
83
|
+
0.9
|
|
84
|
+
exploit_scenario: |-
|
|
85
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
86
|
+
fix_template: |-
|
|
87
|
+
Блокировать релиз при High/Critical CVE, учитывать результаты Syft/SCA в policy gate и сохранять решение в CI logs.
|
|
88
|
+
pattern-either:
|
|
89
|
+
- pattern: |-
|
|
90
|
+
pip install vulnerable-lib==1.2.0
|
|
91
|
+
# syft report ignored
|
|
92
|
+
- pattern-regex: 'Vulnerable:\\s*DVS\\-005\\b'
|
|
93
|
+
message: |-
|
|
94
|
+
RunSec Detection [DVS-005]: NIST SSDF, supply-chain policy
|
|
95
|
+
languages:
|
|
96
|
+
- generic
|
|
97
|
+
severity: WARNING
|
|
98
|
+
- id: runsec.devops-security.dvs-006
|
|
99
|
+
metadata:
|
|
100
|
+
runsec_version: v1.0
|
|
101
|
+
confidence: |-
|
|
102
|
+
0.9
|
|
103
|
+
exploit_scenario: |-
|
|
104
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
105
|
+
fix_template: |-
|
|
106
|
+
sh
|
|
107
|
+
pattern-either:
|
|
108
|
+
- pattern: |-
|
|
109
|
+
RUN apt-get update && curl https://example.com/install.sh
|
|
110
|
+
- pattern-regex: 'Vulnerable:\\s*DVS\\-006\\b'
|
|
111
|
+
message: |-
|
|
112
|
+
RunSec Detection [DVS-006]: SLSA L3 build integrity
|
|
113
|
+
languages:
|
|
114
|
+
- generic
|
|
115
|
+
severity: WARNING
|
|
116
|
+
- id: runsec.devops-security.dvs-007
|
|
117
|
+
metadata:
|
|
118
|
+
runsec_version: v1.0
|
|
119
|
+
confidence: |-
|
|
120
|
+
0.9
|
|
121
|
+
exploit_scenario: |-
|
|
122
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
123
|
+
fix_template: |-
|
|
124
|
+
При policy-gate учитывать VEX-аттестации; CVE со статусом not_affected маркировать как исключение с audit trail.
|
|
125
|
+
pattern-either:
|
|
126
|
+
- pattern: |-
|
|
127
|
+
if cve.severity >= "HIGH": fail_build()
|
|
128
|
+
# ignores VEX not_affected
|
|
129
|
+
- pattern-regex: 'Vulnerable:\\s*DVS\\-007\\b'
|
|
130
|
+
message: |-
|
|
131
|
+
RunSec Detection [DVS-007]: VEX / CSAF, NIST SSDF
|
|
132
|
+
languages:
|
|
133
|
+
- generic
|
|
134
|
+
severity: WARNING
|
|
135
|
+
- id: runsec.devops-security.dvs-008
|
|
136
|
+
metadata:
|
|
137
|
+
runsec_version: v1.0
|
|
138
|
+
confidence: |-
|
|
139
|
+
0.9
|
|
140
|
+
exploit_scenario: |-
|
|
141
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
142
|
+
fix_template: |-
|
|
143
|
+
Обязательная подпись артефактов (например, cosign), валидация подписи при деплое и хранение attestations.
|
|
144
|
+
pattern-either:
|
|
145
|
+
- pattern: |-
|
|
146
|
+
docker push registry/app:1.0.0
|
|
147
|
+
# no cosign/signature
|
|
148
|
+
- pattern-regex: 'Vulnerable:\\s*DVS\\-008\\b'
|
|
149
|
+
message: |-
|
|
150
|
+
RunSec Detection [DVS-008]: SLSA L3, NIST SSDF
|
|
151
|
+
languages:
|
|
152
|
+
- generic
|
|
153
|
+
severity: WARNING
|
|
154
|
+
- id: runsec.devops-security.dvs-009
|
|
155
|
+
metadata:
|
|
156
|
+
runsec_version: v1.0
|
|
157
|
+
confidence: |-
|
|
158
|
+
0.9
|
|
159
|
+
exploit_scenario: |-
|
|
160
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
161
|
+
fix_template: |-
|
|
162
|
+
Пинning base images/dependencies, deterministic flags и периодическая проверка reproducibility hash между сборками.
|
|
163
|
+
pattern-either:
|
|
164
|
+
- pattern: |-
|
|
165
|
+
FROM base:latest
|
|
166
|
+
RUN pip install -r requirements.txt
|
|
167
|
+
- pattern-regex: 'Vulnerable:\\s*DVS\\-009\\b'
|
|
168
|
+
message: |-
|
|
169
|
+
RunSec Detection [DVS-009]: Supply chain reproducibility controls
|
|
170
|
+
languages:
|
|
171
|
+
- generic
|
|
172
|
+
severity: WARNING
|
|
173
|
+
- id: runsec.devops-security.cwe-1104
|
|
174
|
+
metadata:
|
|
175
|
+
runsec_version: v1.0
|
|
176
|
+
confidence: |-
|
|
177
|
+
0.9
|
|
178
|
+
exploit_scenario: |-
|
|
179
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
180
|
+
fix_template: |-
|
|
181
|
+
Обновлять зависимости до поддерживаемых версий (например, django>=3.2, pillow>=10.3.0) и включать SCA gate в CI.
|
|
182
|
+
pattern-either:
|
|
183
|
+
- pattern: |-
|
|
184
|
+
django==2.2.28
|
|
185
|
+
pillow==9.0.0
|
|
186
|
+
- pattern-regex: 'Vulnerable:\\s*CWE\\-1104\\b'
|
|
187
|
+
message: |-
|
|
188
|
+
RunSec Detection [CWE-1104]: CWE Final Certification
|
|
189
|
+
languages:
|
|
190
|
+
- generic
|
|
191
|
+
severity: WARNING
|
|
192
|
+
- id: runsec.devops-security.cwe-798-alembic-url
|
|
193
|
+
metadata:
|
|
194
|
+
runsec_version: v1.0
|
|
195
|
+
confidence: |-
|
|
196
|
+
0.9
|
|
197
|
+
exploit_scenario: |-
|
|
198
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
199
|
+
fix_template: |-
|
|
200
|
+
Убрать plaintext credentials из alembic.ini, использовать env/secret manager и подстановку URL только через защищенный runtime config.
|
|
201
|
+
pattern-either:
|
|
202
|
+
- pattern: |-
|
|
203
|
+
sqlalchemy.url = postgresql://user:password@db/app
|
|
204
|
+
- pattern-regex: 'Vulnerable:\\s*CWE\\-798\\-ALEMBIC\\-URL\\b'
|
|
205
|
+
message: |-
|
|
206
|
+
RunSec Detection [CWE-798-ALEMBIC-URL]: CWE Final Certification
|
|
207
|
+
languages:
|
|
208
|
+
- generic
|
|
209
|
+
severity: WARNING
|
|
210
|
+
- id: runsec.devops-security.cwe-116-vite-proxy-header-fwd
|
|
211
|
+
metadata:
|
|
212
|
+
runsec_version: v1.0
|
|
213
|
+
confidence: |-
|
|
214
|
+
0.9
|
|
215
|
+
exploit_scenario: |-
|
|
216
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
217
|
+
fix_template: |-
|
|
218
|
+
Validate data with Zod and sanitize DOM/HTML sinks with DOMPurify before rendering.
|
|
219
|
+
pattern-either:
|
|
220
|
+
- pattern: |-
|
|
221
|
+
server.proxy["/api"] = { target: "https://external", changeOrigin: true } + неконтролируемый proxyReq headers pass-through
|
|
222
|
+
- pattern-regex: 'Vulnerable:\\s*CWE\\-116\\-VITE\\-PROXY\\-HEADER\\-FWD\\b'
|
|
223
|
+
message: |-
|
|
224
|
+
RunSec Detection [CWE-116-VITE-PROXY-HEADER-FWD]: CWE Final Certification
|
|
225
|
+
languages:
|
|
226
|
+
- generic
|
|
227
|
+
severity: WARNING
|
|
228
|
+
- id: runsec.devops-security.cwe-427-nsis-exec-relative
|
|
229
|
+
metadata:
|
|
230
|
+
runsec_version: v1.0
|
|
231
|
+
confidence: |-
|
|
232
|
+
0.9
|
|
233
|
+
exploit_scenario: |-
|
|
234
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
235
|
+
fix_template: |-
|
|
236
|
+
Использовать только абсолютные/канонизированные пути в кавычках, проверять подпись/хэш и исключать запуск бинарников из непроверенных относительных путей.
|
|
237
|
+
pattern-either:
|
|
238
|
+
- pattern: |-
|
|
239
|
+
ExecWait tools\\helper.exe
|
|
240
|
+
Exec ..\\bin\\setup.exe
|
|
241
|
+
- pattern-regex: 'Vulnerable:\\s*CWE\\-427\\-NSIS\\-EXEC\\-RELATIVE\\b'
|
|
242
|
+
message: |-
|
|
243
|
+
RunSec Detection [CWE-427-NSIS-EXEC-RELATIVE]: CWE Final Certification
|
|
244
|
+
languages:
|
|
245
|
+
- generic
|
|
246
|
+
severity: WARNING
|
|
247
|
+
- id: runsec.devops-security.cwe-377-nsis-outpath-perm
|
|
248
|
+
metadata:
|
|
249
|
+
runsec_version: v1.0
|
|
250
|
+
confidence: |-
|
|
251
|
+
0.9
|
|
252
|
+
exploit_scenario: |-
|
|
253
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
254
|
+
fix_template: |-
|
|
255
|
+
Избегать записи в системные каталоги без проверки прав/контекста, явно задавать безопасные SetDefaultLibAttributes и контролировать install target policy.
|
|
256
|
+
pattern-either:
|
|
257
|
+
- pattern: |-
|
|
258
|
+
SetOutPath $WINDIR\\System32 без проверок
|
|
259
|
+
отсутствует SetDefaultLibAttributes
|
|
260
|
+
- pattern-regex: 'Vulnerable:\\s*CWE\\-377\\-NSIS\\-OUTPATH\\-PERM\\b'
|
|
261
|
+
message: |-
|
|
262
|
+
RunSec Detection [CWE-377-NSIS-OUTPATH-PERM]: CWE Final Certification
|
|
263
|
+
languages:
|
|
264
|
+
- generic
|
|
265
|
+
severity: WARNING
|
|
266
|
+
- id: runsec.devops-security.dvs-015
|
|
267
|
+
metadata:
|
|
268
|
+
runsec_version: v1.0
|
|
269
|
+
confidence: |-
|
|
270
|
+
0.9
|
|
271
|
+
exploit_scenario: |-
|
|
272
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
273
|
+
fix_template: |-
|
|
274
|
+
После скачивания обязательно проверять sha256sum -c (или подпись), прерывать pipeline при mismatch.
|
|
275
|
+
pattern-either:
|
|
276
|
+
- pattern: |-
|
|
277
|
+
curl -L https://example.com/tool.sh -o /usr/local/bin/tool
|
|
278
|
+
- pattern-regex: 'Vulnerable:\\s*DVS\\-015\\b'
|
|
279
|
+
message: |-
|
|
280
|
+
RunSec Detection [DVS-015]: CWE Final Certification
|
|
281
|
+
languages:
|
|
282
|
+
- generic
|
|
283
|
+
severity: WARNING
|
|
284
|
+
- id: runsec.devops-security.dvs-016
|
|
285
|
+
metadata:
|
|
286
|
+
runsec_version: v1.0
|
|
287
|
+
confidence: |-
|
|
288
|
+
0.9
|
|
289
|
+
exploit_scenario: |-
|
|
290
|
+
CWE Final Certification
|
|
291
|
+
fix_template: |-
|
|
292
|
+
DevOps/Supply Chain
|
|
293
|
+
pattern-either:
|
|
294
|
+
- pattern: |-
|
|
295
|
+
bash installer pattern without integrity pinning (CWE-353)
|
|
296
|
+
- pattern-regex: 'Vulnerable:\\s*DVS\\-016\\b'
|
|
297
|
+
message: |-
|
|
298
|
+
RunSec Detection [DVS-016]: Исключить pipe-to-shell; скачивать артефакт отдельно и валидировать sha256/signature перед выполнением.
|
|
299
|
+
languages:
|
|
300
|
+
- generic
|
|
301
|
+
severity: WARNING
|
|
302
|
+
- id: runsec.devops-security.dvs-017
|
|
303
|
+
metadata:
|
|
304
|
+
runsec_version: v1.0
|
|
305
|
+
confidence: |-
|
|
306
|
+
0.9
|
|
307
|
+
exploit_scenario: |-
|
|
308
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
309
|
+
fix_template: |-
|
|
310
|
+
CWE Final Certification
|
|
311
|
+
pattern-either:
|
|
312
|
+
- pattern: |-
|
|
313
|
+
RUN curl -fsSL https://vendor/bin -o /tmp/bin && chmod +x /tmp/bin
|
|
314
|
+
- pattern-regex: 'Vulnerable:\\s*DVS\\-017\\b'
|
|
315
|
+
message: |-
|
|
316
|
+
RunSec Detection [DVS-017]: DevOps/Supply Chain
|
|
317
|
+
languages:
|
|
318
|
+
- generic
|
|
319
|
+
severity: WARNING
|
|
320
|
+
- id: runsec.devops-security.dvs-018
|
|
321
|
+
metadata:
|
|
322
|
+
runsec_version: v1.0
|
|
323
|
+
confidence: |-
|
|
324
|
+
0.9
|
|
325
|
+
exploit_scenario: |-
|
|
326
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
327
|
+
fix_template: |-
|
|
328
|
+
Использовать dependency lockfiles/hashes (--require-hashes) и trusted registries вместо direct URL execution.
|
|
329
|
+
pattern-either:
|
|
330
|
+
- pattern: |-
|
|
331
|
+
python -m pip install https://.../package.whl без hash pin
|
|
332
|
+
- pattern-regex: 'Vulnerable:\\s*DVS\\-018\\b'
|
|
333
|
+
message: |-
|
|
334
|
+
RunSec Detection [DVS-018]: CWE Final Certification
|
|
335
|
+
languages:
|
|
336
|
+
- generic
|
|
337
|
+
severity: WARNING
|
|
338
|
+
- id: runsec.devops-security.dvs-019
|
|
339
|
+
metadata:
|
|
340
|
+
runsec_version: v1.0
|
|
341
|
+
confidence: |-
|
|
342
|
+
0.9
|
|
343
|
+
exploit_scenario: |-
|
|
344
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
345
|
+
fix_template: |-
|
|
346
|
+
Обязательно задавать checksum/signature verification и policy-gate, блокирующий unverified bootstrap artifacts.
|
|
347
|
+
pattern-either:
|
|
348
|
+
- pattern: |-
|
|
349
|
+
ansible.builtin.get_url без checksum
|
|
350
|
+
remote-exec с raw URL script
|
|
351
|
+
- pattern-regex: 'Vulnerable:\\s*DVS\\-019\\b'
|
|
352
|
+
message: |-
|
|
353
|
+
RunSec Detection [DVS-019]: CWE Final Certification
|
|
354
|
+
languages:
|
|
355
|
+
- generic
|
|
356
|
+
severity: WARNING
|
|
357
|
+
- id: runsec.devops-security.dvs-020
|
|
358
|
+
metadata:
|
|
359
|
+
runsec_version: v1.0
|
|
360
|
+
confidence: |-
|
|
361
|
+
0.9
|
|
362
|
+
exploit_scenario: |-
|
|
363
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
364
|
+
fix_template: |-
|
|
365
|
+
Только verified artifacts: hash/signature gate до execute; запрет pipe-to-shell в Dockerfile.
|
|
366
|
+
pattern-either:
|
|
367
|
+
- pattern: |-
|
|
368
|
+
RUN curl -fsSL https://vendor/install.sh | bash
|
|
369
|
+
- pattern-regex: 'Vulnerable:\\s*DVS\\-020\\b'
|
|
370
|
+
message: |-
|
|
371
|
+
RunSec Detection [DVS-020]: CWE-494
|
|
372
|
+
languages:
|
|
373
|
+
- generic
|
|
374
|
+
severity: WARNING
|
|
375
|
+
- id: runsec.devops-security.dvs-021
|
|
376
|
+
metadata:
|
|
377
|
+
runsec_version: v1.0
|
|
378
|
+
confidence: |-
|
|
379
|
+
0.9
|
|
380
|
+
exploit_scenario: |-
|
|
381
|
+
Атакующий доставляет входные данные, соответствующие anti-pattern; реальный ущерб зависит от приёмника (sink), конфигурации и границ доверия.
|
|
382
|
+
fix_template: |-
|
|
383
|
+
Lockfile + immutable commit refs; policy deny git+https без SHA.
|
|
384
|
+
pattern-either:
|
|
385
|
+
- pattern: |-
|
|
386
|
+
pip install git+https://github.com/user/repo.git
|
|
387
|
+
npm install git+https://github.com/x/y.git
|
|
388
|
+
- pattern-regex: 'Vulnerable:\\s*DVS\\-021\\b'
|
|
389
|
+
message: |-
|
|
390
|
+
RunSec Detection [DVS-021]: CWE-829
|
|
391
|
+
languages:
|
|
392
|
+
- generic
|
|
393
|
+
severity: WARNING
|