muaddib-scanner 1.0.21 → 1.1.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.fr.md +339 -325
- package/README.md +363 -350
- package/bin/muaddib.js +169 -33
- package/data/iocs.json +1 -1
- package/package.json +8 -2
- package/src/safe-install.js +163 -0
package/README.fr.md
CHANGED
|
@@ -1,325 +1,339 @@
|
|
|
1
|
-
<p align="center">
|
|
2
|
-
<img src="MUADDIBLOGO.png" alt="MUAD'DIB Logo" width="200">
|
|
3
|
-
</p>
|
|
4
|
-
|
|
5
|
-
<h1 align="center">MUAD'DIB</h1>
|
|
6
|
-
|
|
7
|
-
<p align="center">
|
|
8
|
-
<strong>Detection et reponse aux menaces supply-chain npm</strong>
|
|
9
|
-
</p>
|
|
10
|
-
|
|
11
|
-
<p align="center">
|
|
12
|
-
<img src="https://img.shields.io/npm/v/muaddib-scanner" alt="npm version">
|
|
13
|
-
<img src="https://img.shields.io/badge/license-MIT-green" alt="License">
|
|
14
|
-
<img src="https://img.shields.io/badge/node-%3E%3D18-brightgreen" alt="Node">
|
|
15
|
-
<img src="https://img.shields.io/badge/IOCs-930%2B-red" alt="IOCs">
|
|
16
|
-
</p>
|
|
17
|
-
|
|
18
|
-
<p align="center">
|
|
19
|
-
<a href="#installation">Installation</a> |
|
|
20
|
-
<a href="#utilisation">Utilisation</a> |
|
|
21
|
-
<a href="#features">Features</a> |
|
|
22
|
-
<a href="#vs-code">VS Code</a> |
|
|
23
|
-
<a href="#discord">Discord</a>
|
|
24
|
-
</p>
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
## Pourquoi MUAD'DIB ?
|
|
29
|
-
|
|
30
|
-
Les attaques supply chain npm explosent. Shai-Hulud a compromis 25K+ repos en 2025. Les outils existants detectent, mais n'aident pas a repondre.
|
|
31
|
-
|
|
32
|
-
MUAD'DIB detecte ET guide votre reponse.
|
|
33
|
-
|
|
34
|
-
| Feature | MUAD'DIB | Socket | Snyk | Opengrep |
|
|
35
|
-
|---------|----------|--------|------|----------|
|
|
36
|
-
| Detection IOC | Oui | Oui | Oui | Non |
|
|
37
|
-
| Analyse AST | Oui | Oui | Oui | Oui |
|
|
38
|
-
| Analyse Dataflow | Oui | Non | Non | Oui |
|
|
39
|
-
| Detection Typosquatting | Oui | Oui | Oui | Non |
|
|
40
|
-
| Playbooks Reponse | Oui | Non | Non | Non |
|
|
41
|
-
| Score de Risque | Oui | Oui | Oui | Non |
|
|
42
|
-
| SARIF / GitHub Security | Oui | Oui | Oui | Oui |
|
|
43
|
-
| Mapping MITRE ATT&CK | Oui | Non | Non | Non |
|
|
44
|
-
| Webhooks Discord/Slack | Oui | Non | Non | Non |
|
|
45
|
-
| Extension VS Code | Oui | Oui | Oui | Non |
|
|
46
|
-
| Mode Paranoid | Oui | Non | Non | Non |
|
|
47
|
-
| Mode Daemon | Oui | Non | Non | Non |
|
|
48
|
-
| 100% Open Source | Oui | Non | Non | Oui |
|
|
49
|
-
|
|
50
|
-
---
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
```bash
|
|
56
|
-
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
### Depuis les sources
|
|
60
|
-
```bash
|
|
61
|
-
git clone https://github.com/
|
|
62
|
-
cd muad-dib
|
|
63
|
-
npm install
|
|
64
|
-
npm link
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
---
|
|
68
|
-
|
|
69
|
-
## Utilisation
|
|
70
|
-
|
|
71
|
-
### Scan basique
|
|
72
|
-
```bash
|
|
73
|
-
muaddib scan .
|
|
74
|
-
muaddib scan /chemin/vers/projet
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
muaddib
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
|
191
|
-
|
|
192
|
-
|
|
|
193
|
-
|
|
|
194
|
-
|
|
|
195
|
-
|
|
|
196
|
-
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
###
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="MUADDIBLOGO.png" alt="MUAD'DIB Logo" width="200">
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
<h1 align="center">MUAD'DIB</h1>
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
<strong>Detection et reponse aux menaces supply-chain npm</strong>
|
|
9
|
+
</p>
|
|
10
|
+
|
|
11
|
+
<p align="center">
|
|
12
|
+
<img src="https://img.shields.io/npm/v/muaddib-scanner" alt="npm version">
|
|
13
|
+
<img src="https://img.shields.io/badge/license-MIT-green" alt="License">
|
|
14
|
+
<img src="https://img.shields.io/badge/node-%3E%3D18-brightgreen" alt="Node">
|
|
15
|
+
<img src="https://img.shields.io/badge/IOCs-930%2B-red" alt="IOCs">
|
|
16
|
+
</p>
|
|
17
|
+
|
|
18
|
+
<p align="center">
|
|
19
|
+
<a href="#installation">Installation</a> |
|
|
20
|
+
<a href="#utilisation">Utilisation</a> |
|
|
21
|
+
<a href="#features">Features</a> |
|
|
22
|
+
<a href="#vs-code">VS Code</a> |
|
|
23
|
+
<a href="#discord">Discord</a>
|
|
24
|
+
</p>
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Pourquoi MUAD'DIB ?
|
|
29
|
+
|
|
30
|
+
Les attaques supply chain npm explosent. Shai-Hulud a compromis 25K+ repos en 2025. Les outils existants detectent, mais n'aident pas a repondre.
|
|
31
|
+
|
|
32
|
+
MUAD'DIB detecte ET guide votre reponse.
|
|
33
|
+
|
|
34
|
+
| Feature | MUAD'DIB | Socket | Snyk | Opengrep |
|
|
35
|
+
|---------|----------|--------|------|----------|
|
|
36
|
+
| Detection IOC | Oui | Oui | Oui | Non |
|
|
37
|
+
| Analyse AST | Oui | Oui | Oui | Oui |
|
|
38
|
+
| Analyse Dataflow | Oui | Non | Non | Oui |
|
|
39
|
+
| Detection Typosquatting | Oui | Oui | Oui | Non |
|
|
40
|
+
| Playbooks Reponse | Oui | Non | Non | Non |
|
|
41
|
+
| Score de Risque | Oui | Oui | Oui | Non |
|
|
42
|
+
| SARIF / GitHub Security | Oui | Oui | Oui | Oui |
|
|
43
|
+
| Mapping MITRE ATT&CK | Oui | Non | Non | Non |
|
|
44
|
+
| Webhooks Discord/Slack | Oui | Non | Non | Non |
|
|
45
|
+
| Extension VS Code | Oui | Oui | Oui | Non |
|
|
46
|
+
| Mode Paranoid | Oui | Non | Non | Non |
|
|
47
|
+
| Mode Daemon | Oui | Non | Non | Non |
|
|
48
|
+
| 100% Open Source | Oui | Non | Non | Oui |
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
### Installation
|
|
53
|
+
|
|
54
|
+
Cherchez "MUAD'DIB" dans les Extensions VS Code, ou :
|
|
55
|
+
```bash
|
|
56
|
+
marketplace.visualstudio.com/items?itemName=dnszlsk.muaddib-vscode
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Depuis les sources
|
|
60
|
+
```bash
|
|
61
|
+
git clone https://github.com/DNSZLSK/muad-dib
|
|
62
|
+
cd muad-dib
|
|
63
|
+
npm install
|
|
64
|
+
npm link
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Utilisation
|
|
70
|
+
|
|
71
|
+
### Scan basique
|
|
72
|
+
```bash
|
|
73
|
+
muaddib scan .
|
|
74
|
+
muaddib scan /chemin/vers/projet
|
|
75
|
+
```
|
|
76
|
+
### Mode interactif
|
|
77
|
+
```bash
|
|
78
|
+
muaddib
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Lance un menu interactif pour vous guider a travers toutes les fonctionnalites.
|
|
82
|
+
|
|
83
|
+
### Installation securisee
|
|
84
|
+
```bash
|
|
85
|
+
muaddib install <package>
|
|
86
|
+
muaddib install lodash axios --save-dev
|
|
87
|
+
muaddib i express -g
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Scanne les packages AVANT installation. Bloque les packages malveillants connus.
|
|
91
|
+
|
|
92
|
+
### Score de risque
|
|
93
|
+
|
|
94
|
+
Chaque scan affiche un score de risque 0-100 :
|
|
95
|
+
```
|
|
96
|
+
[SCORE] 58/100 [***********---------] HIGH
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### Mode explain (details complets)
|
|
100
|
+
```bash
|
|
101
|
+
muaddib scan . --explain
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Affiche pour chaque detection :
|
|
105
|
+
- Rule ID
|
|
106
|
+
- Technique MITRE ATT&CK
|
|
107
|
+
- References (articles, CVEs)
|
|
108
|
+
- Playbook de reponse
|
|
109
|
+
|
|
110
|
+
### Export
|
|
111
|
+
```bash
|
|
112
|
+
muaddib scan . --json > results.json # JSON
|
|
113
|
+
muaddib scan . --html rapport.html # HTML
|
|
114
|
+
muaddib scan . --sarif results.sarif # SARIF (GitHub Security)
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Seuil de severite
|
|
118
|
+
```bash
|
|
119
|
+
muaddib scan . --fail-on critical # Fail seulement sur CRITICAL
|
|
120
|
+
muaddib scan . --fail-on high # Fail sur HIGH et CRITICAL (defaut)
|
|
121
|
+
muaddib scan . --fail-on medium # Fail sur MEDIUM, HIGH, CRITICAL
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### Mode paranoid
|
|
125
|
+
```bash
|
|
126
|
+
muaddib scan . --paranoid
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Detection ultra-stricte avec moins de tolerance. Utile pour les projets critiques. Detecte tout acces reseau, execution de sous-processus, evaluation de code dynamique et acces aux fichiers sensibles.
|
|
130
|
+
|
|
131
|
+
### Webhook Discord/Slack
|
|
132
|
+
```bash
|
|
133
|
+
muaddib scan . --webhook "https://discord.com/api/webhooks/..."
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
Envoie une alerte avec le score et les menaces sur Discord ou Slack.
|
|
137
|
+
|
|
138
|
+
### Surveillance temps reel
|
|
139
|
+
```bash
|
|
140
|
+
muaddib watch .
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Mode daemon
|
|
144
|
+
```bash
|
|
145
|
+
muaddib daemon
|
|
146
|
+
muaddib daemon --webhook "https://discord.com/api/webhooks/..."
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
Surveille automatiquement tous les `npm install` et scanne les nouveaux packages.
|
|
150
|
+
|
|
151
|
+
### Mise a jour des IOCs
|
|
152
|
+
```bash
|
|
153
|
+
muaddib update
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### Scraper de nouveaux IOCs
|
|
157
|
+
```bash
|
|
158
|
+
muaddib scrape
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
Recupere les derniers packages malveillants depuis plusieurs sources de threat intelligence :
|
|
162
|
+
- Shai-Hulud 2.0 Detector (GitHub)
|
|
163
|
+
- Datadog Security Labs
|
|
164
|
+
- OSV.dev
|
|
165
|
+
- Socket.dev reports
|
|
166
|
+
- Phylum Research
|
|
167
|
+
- AlienVault OTX
|
|
168
|
+
- Aikido Intel
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## Features
|
|
173
|
+
|
|
174
|
+
### Detection typosquatting
|
|
175
|
+
|
|
176
|
+
MUAD'DIB detecte les packages dont le nom ressemble a un package populaire :
|
|
177
|
+
```
|
|
178
|
+
[HIGH] Package "lodahs" ressemble a "lodash" (swapped_chars). Possible typosquatting.
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
### Analyse dataflow
|
|
182
|
+
|
|
183
|
+
Detecte quand du code lit des credentials ET les envoie sur le reseau :
|
|
184
|
+
```
|
|
185
|
+
[CRITICAL] Flux suspect: lecture credentials (readFileSync, GITHUB_TOKEN) + envoi reseau (fetch)
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
### Attaques detectees
|
|
189
|
+
|
|
190
|
+
| Campagne | Packages | Status |
|
|
191
|
+
|----------|----------|--------|
|
|
192
|
+
| Shai-Hulud v1 (Sept 2025) | @ctrl/tinycolor, ng2-file-upload | Detecte |
|
|
193
|
+
| Shai-Hulud v2 (Nov 2025) | @asyncapi/specs, posthog-node, kill-port | Detecte |
|
|
194
|
+
| Shai-Hulud v3 (Dec 2025) | @vietmoney/react-big-calendar | Detecte |
|
|
195
|
+
| event-stream (2018) | flatmap-stream, event-stream | Detecte |
|
|
196
|
+
| eslint-scope (2018) | eslint-scope | Detecte |
|
|
197
|
+
| Protestware | node-ipc, colors, faker | Detecte |
|
|
198
|
+
| Typosquats | crossenv, mongose, babelcli | Detecte |
|
|
199
|
+
|
|
200
|
+
### Techniques detectees
|
|
201
|
+
|
|
202
|
+
| Technique | MITRE | Detection |
|
|
203
|
+
|-----------|-------|-----------|
|
|
204
|
+
| Vol credentials (.npmrc, .ssh) | T1552.001 | AST |
|
|
205
|
+
| Exfiltration env vars | T1552.001 | AST |
|
|
206
|
+
| Execution code distant | T1105 | Pattern |
|
|
207
|
+
| Reverse shell | T1059.004 | Pattern |
|
|
208
|
+
| Dead man's switch | T1485 | Pattern |
|
|
209
|
+
| Code obfusque | T1027 | Heuristiques |
|
|
210
|
+
| Typosquatting | T1195.002 | Levenshtein |
|
|
211
|
+
| Supply chain compromise | T1195.002 | IOC matching |
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## VS Code
|
|
216
|
+
|
|
217
|
+
L'extension VS Code scanne automatiquement vos projets npm.
|
|
218
|
+
|
|
219
|
+
### Installation
|
|
220
|
+
|
|
221
|
+
Cherchez "MUAD'DIB" dans les Extensions VS Code, ou :
|
|
222
|
+
|
|
223
|
+
```bash
|
|
224
|
+
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
### Commandes
|
|
228
|
+
|
|
229
|
+
- `MUAD'DIB: Scan Project` - Scanner tout le projet
|
|
230
|
+
- `MUAD'DIB: Scan Current File` - Scanner le fichier actuel
|
|
231
|
+
|
|
232
|
+
### Configuration
|
|
233
|
+
|
|
234
|
+
- `muaddib.autoScan` - Scanner automatiquement a l'ouverture (defaut: true)
|
|
235
|
+
- `muaddib.webhookUrl` - URL webhook Discord/Slack
|
|
236
|
+
- `muaddib.failLevel` - Niveau d'alerte (critical/high/medium/low)
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
## Integration CI/CD
|
|
241
|
+
|
|
242
|
+
### GitHub Actions
|
|
243
|
+
```yaml
|
|
244
|
+
name: Security Scan
|
|
245
|
+
|
|
246
|
+
on: [push, pull_request]
|
|
247
|
+
|
|
248
|
+
jobs:
|
|
249
|
+
scan:
|
|
250
|
+
runs-on: ubuntu-latest
|
|
251
|
+
permissions:
|
|
252
|
+
security-events: write
|
|
253
|
+
contents: read
|
|
254
|
+
steps:
|
|
255
|
+
- uses: actions/checkout@v4
|
|
256
|
+
- uses: actions/setup-node@v4
|
|
257
|
+
with:
|
|
258
|
+
node-version: '20'
|
|
259
|
+
- run: npm install -g muaddib-scanner
|
|
260
|
+
- run: muaddib scan . --sarif results.sarif
|
|
261
|
+
- uses: github/codeql-action/upload-sarif@v3
|
|
262
|
+
with:
|
|
263
|
+
sarif_file: results.sarif
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
Les alertes apparaissent dans Security > Code scanning alerts.
|
|
267
|
+
|
|
268
|
+
---
|
|
269
|
+
|
|
270
|
+
## Architecture
|
|
271
|
+
```
|
|
272
|
+
MUAD'DIB Scanner
|
|
273
|
+
|
|
|
274
|
+
+-- IOC Match (930+ packages, YAML/JSON DB)
|
|
275
|
+
+-- AST Parse (acorn)
|
|
276
|
+
+-- Pattern Matching (shell, scripts)
|
|
277
|
+
+-- Typosquat Detection (Levenshtein)
|
|
278
|
+
+-- Paranoid Mode (ultra-strict)
|
|
279
|
+
|
|
|
280
|
+
v
|
|
281
|
+
Dataflow Analysis (credential read -> network send)
|
|
282
|
+
|
|
|
283
|
+
v
|
|
284
|
+
Threat Enrichment (rules, MITRE ATT&CK, playbooks)
|
|
285
|
+
|
|
|
286
|
+
v
|
|
287
|
+
Output (CLI, JSON, HTML, SARIF, Webhook)
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
---
|
|
291
|
+
|
|
292
|
+
## Contribuer
|
|
293
|
+
|
|
294
|
+
### Ajouter des IOCs
|
|
295
|
+
|
|
296
|
+
Editez les fichiers YAML dans `iocs/` :
|
|
297
|
+
```yaml
|
|
298
|
+
- id: NEW-MALWARE-001
|
|
299
|
+
name: "malicious-package"
|
|
300
|
+
version: "*"
|
|
301
|
+
severity: critical
|
|
302
|
+
confidence: high
|
|
303
|
+
source: community
|
|
304
|
+
description: "Description de la menace"
|
|
305
|
+
references:
|
|
306
|
+
- https://example.com/article
|
|
307
|
+
mitre: T1195.002
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
### Developper
|
|
311
|
+
```bash
|
|
312
|
+
git clone https://github.com/DNSZLSK/muad-dib
|
|
313
|
+
cd muad-dib
|
|
314
|
+
npm install
|
|
315
|
+
npm test
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
## Communaute
|
|
319
|
+
|
|
320
|
+
- Discord: https://discord.gg/y8zxSmue
|
|
321
|
+
|
|
322
|
+
---
|
|
323
|
+
|
|
324
|
+
## Documentation
|
|
325
|
+
|
|
326
|
+
- [Threat Model](docs/threat-model.md) - Ce que MUAD'DIB detecte et ne detecte pas
|
|
327
|
+
- [IOCs YAML](iocs/) - Base de donnees des menaces
|
|
328
|
+
|
|
329
|
+
---
|
|
330
|
+
|
|
331
|
+
## Licence
|
|
332
|
+
|
|
333
|
+
MIT
|
|
334
|
+
|
|
335
|
+
---
|
|
336
|
+
|
|
337
|
+
<p align="center">
|
|
338
|
+
<strong>The spice must flow. The worms must die.</strong>
|
|
339
|
+
</p>
|