-
Notifications
You must be signed in to change notification settings - Fork 0
/
.packj.yml
101 lines (83 loc) · 3.1 KB
/
.packj.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
audit:
alerts:
malicious:
contains known malware:
- reason: package is known to contain a dangerous malware
- enabled: true
typo-squatting or repo-jacking package:
- reason: package impersonates another popular package to propagate malware
- enabled: true
vulnerable:
contains known vulnerabilities:
- reason: known vulnerabilities (CVEs) in package code could be exploited
- enabled: true
undesirable:
package is old or abandoned:
- reason: old or abandoned packages receive no security updates and are risky
- enabled: true
invalid or no author email:
- reason: a package with lack of or invalid author email suggests 2FA not enabled
- enabled: true
invalid or no homepage:
- reason: a package with no or invalid homepage may not be preferable
- enabled: true
no source repo:
- reason: lack of public source repo may suggest malicious intention
- enabled: true
fewer downloads:
- reason: a package with few downloads may not be preferable
- enabled: true
no or insufficient readme:
- reason: a package with lack of documentation may not be preferable
- enabled: true
fewer versions or releases:
- reason: few versions suggest unstable or inactive project
- enabled: true
too many dependencies:
- reason: too many dependencies increase attack surface
- enabled: true
version release after a long gap:
- reason: a release after a long time may indicate account hijacking
- enabled: false
contains custom installation hooks:
- reason: custom installation hooks may download or execute malicious code
- enabled: false # WIP
few source repo stars:
- reason: a package with few repo stars may not be preferable
- enabled: false
few source repo forks:
- reason: a package with few repo forks may not be preferable
- enabled: false
forked source repo:
- reason: a forked copy of a popular package may contain malicious code
- enabled: false
#
# type: APIs and permissions
#
generates new code:
- reason: package generates new code at runtime, which could be malicious
- enabled: false
forks or exits OS processes:
- reason: package spawns new operating system processes, which could be malicious
- enabled: true
accesses obfuscated (hidden) code:
- enabled: true
accesses environment variables:
- enabled: true
changes system/environment variables:
- enabled: true
accesses files and dirs:
- enabled: false # intentional
communicates with external network:
- enabled: true
reads user input:
- enabled: true
sandbox:
rules:
fs:
block: ~/, /
allow: ., ~/.cache, ~/.local, /tmp
network:
# block all external network communication (except the ones below)
block: 0.0.0.0
allow: pythonhosted.org:443, pypi.org:443