Marco Ippolito
Developers in Danger:�How supply chain attacks target devs not production�
© Copyright 2023 NearForm Ltd. All Rights Reserved.
Marco Ippolito
@satanacchio
Senior Developer Experience Engineer @NearForm
Core contributor @Node.js
Open Source Enthusiast
2
@satanacchio
What is supply chain and why it matters?
3
4
@satanacchio
5
@satanacchio
What about software?
6
@satanacchio
Node.js follows the “minimal core” principle, it delegates everything non essential to the ecosystem
7
Heaviest object in the universe
@satanacchio
8
@nest/cli 1,559,836 weekly downloads
274 modules�Some notable dependency:
fs-monkey (unlicensed) Monkey-patches for filesystem related things.��memfs (unlicensed, 1 major behind) JavaScript file system utilities for Node.js and browser.
caniuse-lite (CC-BY-4.0) It is compatible with all versions of the GNU GPL; however, like all CC licenses, it should not be used on software.
@satanacchio
@satanacchio
More dependencies means more opportunities for an attacker to try exploit a vulnerability
10
@satanacchio
11
@satanacchio
Installing an average iiii package introduces an implicit trust on 79 third-party packages and 39 maintainers
12
@satanacchio
Who is the target?
13
@satanacchio
14
@satanacchio
While production environments are often containerized, monitored, with strict security policies, your machine is not!
15
@satanacchio
downloaded 963 times�source
npm supply chain attack targeting roblox developers
16
@satanacchio
17
@satanacchio
18
@satanacchio
19
@satanacchio
How to I defend myself against npm supply chain attacks?
20
@satanacchio
21
@satanacchio
22
@satanacchio
ALWAYS use the flag --ignore-scripts when running npm install �unless you are 100000% sure!
23
@satanacchio
24
@satanacchio
25
@satanacchio
26
@satanacchio
@satanacchio
@satanacchio
29
@satanacchio
30
@satanacchio
31
@satanacchio
32
@satanacchio
33
@satanacchio
34
@satanacchio
--allow-fs-read
--allow-fs-write
--allow-worker
--allow-child-process
35
@satanacchio
36
@satanacchio
37
@satanacchio
38
@satanacchio
Permission model is still experimental!
39
United States:
International:
United Kingdom:
Ireland:
(916) 299-6882
+353 51 330 290
0870 067 95569
051 330 290
Thanks for listening!!!