muaddib-scanner 1.0.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/.github/workflows/scan.yml +33 -0
- package/LICENSE +21 -0
- package/MUADDIBLOGO.png +0 -0
- package/README.md +218 -0
- package/action/action.yml +28 -0
- package/bin/muaddib.js +84 -0
- package/data/iocs.json +38 -0
- package/docs/threat-model.md +116 -0
- package/iocs/hashes.yaml +220 -0
- package/iocs/packages.yaml +265 -0
- package/package.json +43 -0
- package/results.sarif +379 -0
- package/src/index.js +142 -0
- package/src/ioc/feeds.js +42 -0
- package/src/ioc/updater.js +244 -0
- package/src/ioc/yaml-loader.js +96 -0
- package/src/report.js +152 -0
- package/src/response/playbooks.js +115 -0
- package/src/rules/index.js +197 -0
- package/src/sarif.js +74 -0
- package/src/scanner/ast.js +175 -0
- package/src/scanner/dataflow.js +167 -0
- package/src/scanner/dependencies.js +110 -0
- package/src/scanner/hash.js +68 -0
- package/src/scanner/obfuscation.js +99 -0
- package/src/scanner/package.js +60 -0
- package/src/scanner/shell.js +63 -0
- package/src/watch.js +37 -0
- package/test/samples/malicious.js +20 -0
- package/tests/run-tests.js +363 -0
- package/tests/samples/ast/malicious.js +20 -0
- package/tests/samples/clean/safe.js +14 -0
- package/tests/samples/dataflow/exfiltration.js +20 -0
- package/tests/samples/edge/empty/empty.js +0 -0
- package/tests/samples/edge/invalid-syntax/broken.js +5 -0
- package/tests/samples/edge/large-file/large.js +6 -0
- package/tests/samples/edge/non-js/readme.txt +3 -0
- package/tests/samples/markers/shai-hulud.js +10 -0
- package/tests/samples/obfuscation/obfuscated.js +1 -0
- package/tests/samples/package/package.json +9 -0
- package/tests/samples/shell/malicious.sh +13 -0
package/iocs/hashes.yaml
ADDED
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
# MUAD'DIB IOCs - Hashes SHA256 malveillants
|
|
2
|
+
# Contribuez via PR: https://github.com/DNSZLSK/muad-dib
|
|
3
|
+
|
|
4
|
+
version: "1.0.0"
|
|
5
|
+
updated: "2026-01-01"
|
|
6
|
+
|
|
7
|
+
hashes:
|
|
8
|
+
# ============================================
|
|
9
|
+
# SHAI-HULUD v2 - bun_environment.js
|
|
10
|
+
# ============================================
|
|
11
|
+
- id: HASH-SHAI-V2-001
|
|
12
|
+
sha256: "62ee164b9b306250c1172583f138c9614139264f889fa99614903c12755468d0"
|
|
13
|
+
file: "bun_environment.js"
|
|
14
|
+
source: shai-hulud-v2
|
|
15
|
+
severity: critical
|
|
16
|
+
confidence: high
|
|
17
|
+
description: "Payload Shai-Hulud v2 - exfiltration credentials"
|
|
18
|
+
references:
|
|
19
|
+
- https://www.wiz.io/blog/shai-hulud-npm-supply-chain-attack
|
|
20
|
+
|
|
21
|
+
- id: HASH-SHAI-V2-002
|
|
22
|
+
sha256: "cbb9bc5a8496243e02f3cc080efbe3e4a1430ba0671f2e43a202bf45b05479cd"
|
|
23
|
+
file: "bun_environment.js"
|
|
24
|
+
source: shai-hulud-v2
|
|
25
|
+
severity: critical
|
|
26
|
+
confidence: high
|
|
27
|
+
description: "Variante Shai-Hulud v2"
|
|
28
|
+
references:
|
|
29
|
+
- https://www.wiz.io/blog/shai-hulud-npm-supply-chain-attack
|
|
30
|
+
|
|
31
|
+
- id: HASH-SHAI-V2-003
|
|
32
|
+
sha256: "f099c5d9ec417d4445a0328ac0ada9cde79fc37410914103ae9c609cbc0ee068"
|
|
33
|
+
file: "bun_environment.js"
|
|
34
|
+
source: shai-hulud-v2
|
|
35
|
+
severity: critical
|
|
36
|
+
confidence: high
|
|
37
|
+
description: "Variante Shai-Hulud v2"
|
|
38
|
+
references:
|
|
39
|
+
- https://www.wiz.io/blog/shai-hulud-npm-supply-chain-attack
|
|
40
|
+
|
|
41
|
+
# ============================================
|
|
42
|
+
# SHAI-HULUD v2 - setup_bun.js
|
|
43
|
+
# ============================================
|
|
44
|
+
- id: HASH-SHAI-V2-004
|
|
45
|
+
sha256: "a3894003ad1d293ba96d77881ccd2071446dc3f65f434669b49b3da92421901a"
|
|
46
|
+
file: "setup_bun.js"
|
|
47
|
+
source: shai-hulud-v2
|
|
48
|
+
severity: critical
|
|
49
|
+
confidence: high
|
|
50
|
+
description: "Loader Shai-Hulud v2"
|
|
51
|
+
references:
|
|
52
|
+
- https://www.wiz.io/blog/shai-hulud-npm-supply-chain-attack
|
|
53
|
+
|
|
54
|
+
- id: HASH-SHAI-V2-005
|
|
55
|
+
sha256: "f1df4896244500671eb4aa63ebb48ea11cee196fafaa0e9874e17b24ac053c02"
|
|
56
|
+
file: "setup_bun.js"
|
|
57
|
+
source: shai-hulud-v2
|
|
58
|
+
severity: critical
|
|
59
|
+
confidence: high
|
|
60
|
+
description: "Variante Shai-Hulud v2"
|
|
61
|
+
references:
|
|
62
|
+
- https://blog.phylum.io/shai-hulud-npm-worm
|
|
63
|
+
|
|
64
|
+
- id: HASH-SHAI-V2-006
|
|
65
|
+
sha256: "9d59fd0bcc14b671079824c704575f201b74276238dc07a9c12a93a84195648a"
|
|
66
|
+
file: "setup_bun.js"
|
|
67
|
+
source: shai-hulud-v2
|
|
68
|
+
severity: critical
|
|
69
|
+
confidence: high
|
|
70
|
+
description: "Variante Shai-Hulud v2"
|
|
71
|
+
references:
|
|
72
|
+
- https://blog.phylum.io/shai-hulud-npm-worm
|
|
73
|
+
|
|
74
|
+
- id: HASH-SHAI-V2-007
|
|
75
|
+
sha256: "e0250076c1d2ac38777ea8f542431daf61fcbaab0ca9c196614b28065ef5b918"
|
|
76
|
+
file: "setup_bun.js"
|
|
77
|
+
source: shai-hulud-v2
|
|
78
|
+
severity: critical
|
|
79
|
+
confidence: high
|
|
80
|
+
description: "Variante Shai-Hulud v2"
|
|
81
|
+
references:
|
|
82
|
+
- https://blog.phylum.io/shai-hulud-npm-worm
|
|
83
|
+
|
|
84
|
+
# ============================================
|
|
85
|
+
# NODE-IPC PROTESTWARE
|
|
86
|
+
# ============================================
|
|
87
|
+
- id: HASH-PROTEST-001
|
|
88
|
+
sha256: "4b2399646573bb737c4969563303d8ee2e9ddbd1b271f1ca9e35ea78062538db"
|
|
89
|
+
file: "peacenotwar.js"
|
|
90
|
+
source: protestware
|
|
91
|
+
severity: critical
|
|
92
|
+
confidence: high
|
|
93
|
+
description: "Payload node-ipc peacenotwar"
|
|
94
|
+
references:
|
|
95
|
+
- https://snyk.io/blog/peacenotwar-malicious-npm-node-ipc-package-vulnerability/
|
|
96
|
+
|
|
97
|
+
- id: HASH-PROTEST-002
|
|
98
|
+
sha256: "46faab8ab153fae6e80e7cca38eab363075bb524edd79e42269217a083628f09"
|
|
99
|
+
file: "peacenotwar.js"
|
|
100
|
+
source: protestware
|
|
101
|
+
severity: critical
|
|
102
|
+
confidence: high
|
|
103
|
+
description: "Variante node-ipc peacenotwar"
|
|
104
|
+
references:
|
|
105
|
+
- https://snyk.io/blog/peacenotwar-malicious-npm-node-ipc-package-vulnerability/
|
|
106
|
+
|
|
107
|
+
markers:
|
|
108
|
+
# ============================================
|
|
109
|
+
# SHAI-HULUD MARKERS
|
|
110
|
+
# ============================================
|
|
111
|
+
- id: MARKER-SHAI-001
|
|
112
|
+
pattern: "Sha1-Hulud"
|
|
113
|
+
source: shai-hulud-v1
|
|
114
|
+
severity: critical
|
|
115
|
+
confidence: high
|
|
116
|
+
description: "Signature Shai-Hulud v1"
|
|
117
|
+
|
|
118
|
+
- id: MARKER-SHAI-002
|
|
119
|
+
pattern: "Shai-Hulud"
|
|
120
|
+
source: shai-hulud-v1
|
|
121
|
+
severity: critical
|
|
122
|
+
confidence: high
|
|
123
|
+
description: "Signature Shai-Hulud"
|
|
124
|
+
|
|
125
|
+
- id: MARKER-SHAI-003
|
|
126
|
+
pattern: "The Second Coming"
|
|
127
|
+
source: shai-hulud-v2
|
|
128
|
+
severity: critical
|
|
129
|
+
confidence: high
|
|
130
|
+
description: "Signature Shai-Hulud v2"
|
|
131
|
+
|
|
132
|
+
- id: MARKER-SHAI-004
|
|
133
|
+
pattern: "Goldox-T3chs"
|
|
134
|
+
source: shai-hulud-v3
|
|
135
|
+
severity: critical
|
|
136
|
+
confidence: high
|
|
137
|
+
description: "Signature Shai-Hulud v3 Golden Path"
|
|
138
|
+
|
|
139
|
+
- id: MARKER-SHAI-005
|
|
140
|
+
pattern: "Only Happy Girl"
|
|
141
|
+
source: shai-hulud-v2
|
|
142
|
+
severity: critical
|
|
143
|
+
confidence: high
|
|
144
|
+
description: "Signature Shai-Hulud v2 variante"
|
|
145
|
+
|
|
146
|
+
# ============================================
|
|
147
|
+
# PROTESTWARE MARKERS
|
|
148
|
+
# ============================================
|
|
149
|
+
- id: MARKER-PROTEST-001
|
|
150
|
+
pattern: "peacenotwar"
|
|
151
|
+
source: protestware
|
|
152
|
+
severity: critical
|
|
153
|
+
confidence: high
|
|
154
|
+
description: "Signature node-ipc protestware"
|
|
155
|
+
|
|
156
|
+
# ============================================
|
|
157
|
+
# GENERIC MALWARE MARKERS
|
|
158
|
+
# ============================================
|
|
159
|
+
- id: MARKER-GENERIC-001
|
|
160
|
+
pattern: "/dev/tcp"
|
|
161
|
+
source: generic
|
|
162
|
+
severity: critical
|
|
163
|
+
confidence: high
|
|
164
|
+
description: "Reverse shell bash"
|
|
165
|
+
|
|
166
|
+
- id: MARKER-GENERIC-002
|
|
167
|
+
pattern: "discord.com/api/webhooks"
|
|
168
|
+
source: generic
|
|
169
|
+
severity: high
|
|
170
|
+
confidence: medium
|
|
171
|
+
description: "Exfiltration via Discord webhook"
|
|
172
|
+
|
|
173
|
+
files:
|
|
174
|
+
# ============================================
|
|
175
|
+
# FICHIERS SUSPECTS SHAI-HULUD
|
|
176
|
+
# ============================================
|
|
177
|
+
- id: FILE-SHAI-001
|
|
178
|
+
name: "setup_bun.js"
|
|
179
|
+
source: shai-hulud-v2
|
|
180
|
+
severity: critical
|
|
181
|
+
confidence: high
|
|
182
|
+
description: "Loader Shai-Hulud"
|
|
183
|
+
|
|
184
|
+
- id: FILE-SHAI-002
|
|
185
|
+
name: "bun_environment.js"
|
|
186
|
+
source: shai-hulud-v2
|
|
187
|
+
severity: critical
|
|
188
|
+
confidence: high
|
|
189
|
+
description: "Payload Shai-Hulud"
|
|
190
|
+
|
|
191
|
+
- id: FILE-SHAI-003
|
|
192
|
+
name: "bundle.js"
|
|
193
|
+
source: shai-hulud-v2
|
|
194
|
+
severity: high
|
|
195
|
+
confidence: medium
|
|
196
|
+
description: "Payload obfusque potentiel"
|
|
197
|
+
|
|
198
|
+
# ============================================
|
|
199
|
+
# FICHIERS SUSPECTS GENERIQUES
|
|
200
|
+
# ============================================
|
|
201
|
+
- id: FILE-GENERIC-001
|
|
202
|
+
name: "stealer.js"
|
|
203
|
+
source: generic
|
|
204
|
+
severity: critical
|
|
205
|
+
confidence: high
|
|
206
|
+
description: "Token stealer potentiel"
|
|
207
|
+
|
|
208
|
+
- id: FILE-GENERIC-002
|
|
209
|
+
name: "token-grabber.js"
|
|
210
|
+
source: generic
|
|
211
|
+
severity: critical
|
|
212
|
+
confidence: high
|
|
213
|
+
description: "Token stealer potentiel"
|
|
214
|
+
|
|
215
|
+
- id: FILE-GENERIC-003
|
|
216
|
+
name: "inject.js"
|
|
217
|
+
source: generic
|
|
218
|
+
severity: high
|
|
219
|
+
confidence: medium
|
|
220
|
+
description: "Code injection potentiel"
|
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
# MUAD'DIB IOCs - Packages malveillants
|
|
2
|
+
# Contribuez via PR: https://github.com/DNSZLSK/muad-dib
|
|
3
|
+
|
|
4
|
+
version: "1.0.0"
|
|
5
|
+
updated: "2026-01-01"
|
|
6
|
+
|
|
7
|
+
packages:
|
|
8
|
+
# ============================================
|
|
9
|
+
# SHAI-HULUD v1 (Septembre 2025)
|
|
10
|
+
# ============================================
|
|
11
|
+
- id: SHAI-HULUD-V1-001
|
|
12
|
+
name: "@ctrl/tinycolor"
|
|
13
|
+
version: "4.1.1"
|
|
14
|
+
severity: critical
|
|
15
|
+
confidence: high
|
|
16
|
+
source: shai-hulud-v1
|
|
17
|
+
introduced: "2025-09-01"
|
|
18
|
+
description: "Package compromis par Shai-Hulud v1 - vol de credentials npm/GitHub"
|
|
19
|
+
references:
|
|
20
|
+
- https://blog.phylum.io/shai-hulud-npm-worm
|
|
21
|
+
- https://www.wiz.io/blog/shai-hulud-npm-supply-chain-attack
|
|
22
|
+
mitre: T1195.002
|
|
23
|
+
|
|
24
|
+
- id: SHAI-HULUD-V1-002
|
|
25
|
+
name: "ng2-file-upload"
|
|
26
|
+
version: "*"
|
|
27
|
+
severity: critical
|
|
28
|
+
confidence: high
|
|
29
|
+
source: shai-hulud-v1
|
|
30
|
+
introduced: "2025-09-01"
|
|
31
|
+
description: "Package compromis par Shai-Hulud v1"
|
|
32
|
+
references:
|
|
33
|
+
- https://blog.phylum.io/shai-hulud-npm-worm
|
|
34
|
+
mitre: T1195.002
|
|
35
|
+
|
|
36
|
+
- id: SHAI-HULUD-V1-003
|
|
37
|
+
name: "ngx-bootstrap"
|
|
38
|
+
version: "*"
|
|
39
|
+
severity: critical
|
|
40
|
+
confidence: high
|
|
41
|
+
source: shai-hulud-v1
|
|
42
|
+
introduced: "2025-09-01"
|
|
43
|
+
description: "Package compromis par Shai-Hulud v1"
|
|
44
|
+
references:
|
|
45
|
+
- https://blog.phylum.io/shai-hulud-npm-worm
|
|
46
|
+
mitre: T1195.002
|
|
47
|
+
|
|
48
|
+
# ============================================
|
|
49
|
+
# SHAI-HULUD v2 "The Second Coming" (Novembre 2025)
|
|
50
|
+
# ============================================
|
|
51
|
+
- id: SHAI-HULUD-V2-001
|
|
52
|
+
name: "@asyncapi/specs"
|
|
53
|
+
version: "*"
|
|
54
|
+
severity: critical
|
|
55
|
+
confidence: high
|
|
56
|
+
source: shai-hulud-v2
|
|
57
|
+
introduced: "2025-11-01"
|
|
58
|
+
description: "Package compromis par Shai-Hulud v2 - inclut dead man's switch"
|
|
59
|
+
references:
|
|
60
|
+
- https://www.wiz.io/blog/shai-hulud-npm-supply-chain-attack
|
|
61
|
+
mitre: T1195.002
|
|
62
|
+
|
|
63
|
+
- id: SHAI-HULUD-V2-002
|
|
64
|
+
name: "get-them-args"
|
|
65
|
+
version: "*"
|
|
66
|
+
severity: critical
|
|
67
|
+
confidence: high
|
|
68
|
+
source: shai-hulud-v2
|
|
69
|
+
introduced: "2025-11-01"
|
|
70
|
+
description: "Package compromis par Shai-Hulud v2"
|
|
71
|
+
references:
|
|
72
|
+
- https://www.wiz.io/blog/shai-hulud-npm-supply-chain-attack
|
|
73
|
+
mitre: T1195.002
|
|
74
|
+
|
|
75
|
+
- id: SHAI-HULUD-V2-003
|
|
76
|
+
name: "kill-port"
|
|
77
|
+
version: "*"
|
|
78
|
+
severity: critical
|
|
79
|
+
confidence: high
|
|
80
|
+
source: shai-hulud-v2
|
|
81
|
+
introduced: "2025-11-01"
|
|
82
|
+
description: "Package compromis par Shai-Hulud v2"
|
|
83
|
+
references:
|
|
84
|
+
- https://www.wiz.io/blog/shai-hulud-npm-supply-chain-attack
|
|
85
|
+
mitre: T1195.002
|
|
86
|
+
|
|
87
|
+
- id: SHAI-HULUD-V2-004
|
|
88
|
+
name: "posthog-node"
|
|
89
|
+
version: "*"
|
|
90
|
+
severity: critical
|
|
91
|
+
confidence: high
|
|
92
|
+
source: shai-hulud-v2
|
|
93
|
+
introduced: "2025-11-01"
|
|
94
|
+
description: "Package compromis par Shai-Hulud v2"
|
|
95
|
+
references:
|
|
96
|
+
- https://www.wiz.io/blog/shai-hulud-npm-supply-chain-attack
|
|
97
|
+
mitre: T1195.002
|
|
98
|
+
|
|
99
|
+
- id: SHAI-HULUD-V2-005
|
|
100
|
+
name: "posthog-js"
|
|
101
|
+
version: "*"
|
|
102
|
+
severity: critical
|
|
103
|
+
confidence: high
|
|
104
|
+
source: shai-hulud-v2
|
|
105
|
+
introduced: "2025-11-01"
|
|
106
|
+
description: "Package compromis par Shai-Hulud v2"
|
|
107
|
+
references:
|
|
108
|
+
- https://www.wiz.io/blog/shai-hulud-npm-supply-chain-attack
|
|
109
|
+
mitre: T1195.002
|
|
110
|
+
|
|
111
|
+
# ============================================
|
|
112
|
+
# SHAI-HULUD v3 "Golden Path" (Decembre 2025)
|
|
113
|
+
# ============================================
|
|
114
|
+
- id: SHAI-HULUD-V3-001
|
|
115
|
+
name: "@vietmoney/react-big-calendar"
|
|
116
|
+
version: "0.26.2"
|
|
117
|
+
severity: critical
|
|
118
|
+
confidence: high
|
|
119
|
+
source: shai-hulud-v3
|
|
120
|
+
introduced: "2025-12-01"
|
|
121
|
+
description: "Package compromis par Shai-Hulud v3 Golden Path"
|
|
122
|
+
references:
|
|
123
|
+
- https://socket.dev/npm/package/@vietmoney/react-big-calendar
|
|
124
|
+
mitre: T1195.002
|
|
125
|
+
|
|
126
|
+
# ============================================
|
|
127
|
+
# ATTAQUES HISTORIQUES
|
|
128
|
+
# ============================================
|
|
129
|
+
- id: EVENT-STREAM-001
|
|
130
|
+
name: "flatmap-stream"
|
|
131
|
+
version: "0.1.1"
|
|
132
|
+
severity: critical
|
|
133
|
+
confidence: high
|
|
134
|
+
source: event-stream-2018
|
|
135
|
+
introduced: "2018-11-01"
|
|
136
|
+
description: "Payload malveillant de l'attaque event-stream - vol de Bitcoin wallets"
|
|
137
|
+
references:
|
|
138
|
+
- https://blog.npmjs.org/post/180565383195/details-about-the-event-stream-incident
|
|
139
|
+
mitre: T1195.002
|
|
140
|
+
|
|
141
|
+
- id: EVENT-STREAM-002
|
|
142
|
+
name: "event-stream"
|
|
143
|
+
version: "3.3.6"
|
|
144
|
+
severity: critical
|
|
145
|
+
confidence: high
|
|
146
|
+
source: event-stream-2018
|
|
147
|
+
introduced: "2018-11-01"
|
|
148
|
+
description: "Version compromise de event-stream"
|
|
149
|
+
references:
|
|
150
|
+
- https://blog.npmjs.org/post/180565383195/details-about-the-event-stream-incident
|
|
151
|
+
mitre: T1195.002
|
|
152
|
+
|
|
153
|
+
- id: ESLINT-SCOPE-001
|
|
154
|
+
name: "eslint-scope"
|
|
155
|
+
version: "3.7.2"
|
|
156
|
+
severity: critical
|
|
157
|
+
confidence: high
|
|
158
|
+
source: eslint-scope-2018
|
|
159
|
+
introduced: "2018-07-01"
|
|
160
|
+
description: "Version compromise de eslint-scope - vol de tokens npm"
|
|
161
|
+
references:
|
|
162
|
+
- https://eslint.org/blog/2018/07/postmortem-for-malicious-package-publishes
|
|
163
|
+
mitre: T1195.002
|
|
164
|
+
|
|
165
|
+
# ============================================
|
|
166
|
+
# PROTESTWARE
|
|
167
|
+
# ============================================
|
|
168
|
+
- id: PROTESTWARE-001
|
|
169
|
+
name: "node-ipc"
|
|
170
|
+
version: "10.1.1"
|
|
171
|
+
severity: critical
|
|
172
|
+
confidence: high
|
|
173
|
+
source: protestware
|
|
174
|
+
introduced: "2022-03-01"
|
|
175
|
+
description: "Protestware - supprime fichiers sur machines avec IP russe/bielorusse"
|
|
176
|
+
references:
|
|
177
|
+
- https://snyk.io/blog/peacenotwar-malicious-npm-node-ipc-package-vulnerability/
|
|
178
|
+
mitre: T1485
|
|
179
|
+
|
|
180
|
+
- id: PROTESTWARE-002
|
|
181
|
+
name: "node-ipc"
|
|
182
|
+
version: "10.1.2"
|
|
183
|
+
severity: critical
|
|
184
|
+
confidence: high
|
|
185
|
+
source: protestware
|
|
186
|
+
introduced: "2022-03-01"
|
|
187
|
+
description: "Protestware - version modifiee"
|
|
188
|
+
references:
|
|
189
|
+
- https://snyk.io/blog/peacenotwar-malicious-npm-node-ipc-package-vulnerability/
|
|
190
|
+
mitre: T1485
|
|
191
|
+
|
|
192
|
+
- id: PROTESTWARE-003
|
|
193
|
+
name: "colors"
|
|
194
|
+
version: "1.4.1"
|
|
195
|
+
severity: high
|
|
196
|
+
confidence: high
|
|
197
|
+
source: protestware
|
|
198
|
+
introduced: "2022-01-01"
|
|
199
|
+
description: "Protestware - boucle infinie intentionnelle"
|
|
200
|
+
references:
|
|
201
|
+
- https://www.bleepingcomputer.com/news/security/dev-corrupts-npm-libs-colors-and-faker-breaking-thousands-of-apps/
|
|
202
|
+
mitre: T1499
|
|
203
|
+
|
|
204
|
+
- id: PROTESTWARE-004
|
|
205
|
+
name: "faker"
|
|
206
|
+
version: "6.6.6"
|
|
207
|
+
severity: high
|
|
208
|
+
confidence: high
|
|
209
|
+
source: protestware
|
|
210
|
+
introduced: "2022-01-01"
|
|
211
|
+
description: "Protestware - sabotage intentionnel"
|
|
212
|
+
references:
|
|
213
|
+
- https://www.bleepingcomputer.com/news/security/dev-corrupts-npm-libs-colors-and-faker-breaking-thousands-of-apps/
|
|
214
|
+
mitre: T1499
|
|
215
|
+
|
|
216
|
+
# ============================================
|
|
217
|
+
# TYPOSQUATS
|
|
218
|
+
# ============================================
|
|
219
|
+
- id: TYPOSQUAT-001
|
|
220
|
+
name: "crossenv"
|
|
221
|
+
version: "*"
|
|
222
|
+
severity: high
|
|
223
|
+
confidence: high
|
|
224
|
+
source: typosquat
|
|
225
|
+
introduced: "2017-08-01"
|
|
226
|
+
description: "Typosquat de cross-env - vol de variables d'environnement"
|
|
227
|
+
references:
|
|
228
|
+
- https://blog.npmjs.org/post/163723642530/crossenv-malware-on-the-npm-registry
|
|
229
|
+
mitre: T1195.002
|
|
230
|
+
|
|
231
|
+
- id: TYPOSQUAT-002
|
|
232
|
+
name: "mongose"
|
|
233
|
+
version: "*"
|
|
234
|
+
severity: high
|
|
235
|
+
confidence: high
|
|
236
|
+
source: typosquat
|
|
237
|
+
introduced: "2017-08-01"
|
|
238
|
+
description: "Typosquat de mongoose"
|
|
239
|
+
references:
|
|
240
|
+
- https://blog.npmjs.org/post/163723642530/crossenv-malware-on-the-npm-registry
|
|
241
|
+
mitre: T1195.002
|
|
242
|
+
|
|
243
|
+
- id: TYPOSQUAT-003
|
|
244
|
+
name: "babelcli"
|
|
245
|
+
version: "*"
|
|
246
|
+
severity: high
|
|
247
|
+
confidence: high
|
|
248
|
+
source: typosquat
|
|
249
|
+
introduced: "2017-08-01"
|
|
250
|
+
description: "Typosquat de babel-cli"
|
|
251
|
+
references:
|
|
252
|
+
- https://blog.npmjs.org/post/163723642530/crossenv-malware-on-the-npm-registry
|
|
253
|
+
mitre: T1195.002
|
|
254
|
+
|
|
255
|
+
- id: TYPOSQUAT-004
|
|
256
|
+
name: "lodahs"
|
|
257
|
+
version: "*"
|
|
258
|
+
severity: high
|
|
259
|
+
confidence: high
|
|
260
|
+
source: typosquat
|
|
261
|
+
introduced: "2019-01-01"
|
|
262
|
+
description: "Typosquat de lodash"
|
|
263
|
+
references:
|
|
264
|
+
- https://snyk.io/blog/malicious-code-found-in-npm-package-event-stream/
|
|
265
|
+
mitre: T1195.002
|
package/package.json
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "muaddib-scanner",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Supply-chain threat detection & response for npm",
|
|
5
|
+
"main": "src/index.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"muaddib": "./bin/muaddib.js"
|
|
8
|
+
},
|
|
9
|
+
"scripts": {
|
|
10
|
+
"test": "node tests/run-tests.js",
|
|
11
|
+
"scan": "node bin/muaddib.js scan .",
|
|
12
|
+
"update": "node bin/muaddib.js update"
|
|
13
|
+
},
|
|
14
|
+
"keywords": [
|
|
15
|
+
"security",
|
|
16
|
+
"npm",
|
|
17
|
+
"supply-chain",
|
|
18
|
+
"malware",
|
|
19
|
+
"scanner",
|
|
20
|
+
"shai-hulud",
|
|
21
|
+
"detection",
|
|
22
|
+
"ast",
|
|
23
|
+
"sarif"
|
|
24
|
+
],
|
|
25
|
+
"author": "DNSZLSK",
|
|
26
|
+
"license": "MIT",
|
|
27
|
+
"repository": {
|
|
28
|
+
"type": "git",
|
|
29
|
+
"url": "https://github.com/DNSZLSK/muad-dib.git"
|
|
30
|
+
},
|
|
31
|
+
"homepage": "https://github.com/DNSZLSK/muad-dib",
|
|
32
|
+
"bugs": {
|
|
33
|
+
"url": "https://github.com/DNSZLSK/muad-dib/issues"
|
|
34
|
+
},
|
|
35
|
+
"engines": {
|
|
36
|
+
"node": ">=18.0.0"
|
|
37
|
+
},
|
|
38
|
+
"dependencies": {
|
|
39
|
+
"acorn": "^8.14.0",
|
|
40
|
+
"acorn-walk": "^8.3.4",
|
|
41
|
+
"js-yaml": "^4.1.0"
|
|
42
|
+
}
|
|
43
|
+
}
|