man-spider 1.1.0__tar.gz → 1.1.1__tar.gz

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.
@@ -0,0 +1,214 @@
1
+ Metadata-Version: 2.3
2
+ Name: man-spider
3
+ Version: 1.1.1
4
+ Summary: Full-featured SMB spider capable of searching file content
5
+ License: GPL-3.0
6
+ Author: TheTechromancer
7
+ Requires-Python: >=3.8,<3.14
8
+ Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
9
+ Classifier: Programming Language :: Python :: 3
10
+ Classifier: Programming Language :: Python :: 3.8
11
+ Classifier: Programming Language :: Python :: 3.9
12
+ Classifier: Programming Language :: Python :: 3.10
13
+ Classifier: Programming Language :: Python :: 3.11
14
+ Classifier: Programming Language :: Python :: 3.12
15
+ Classifier: Programming Language :: Python :: 3.13
16
+ Requires-Dist: extractous (>=0.3.0,<0.4.0)
17
+ Requires-Dist: impacket (>=0.12.0,<0.13.0)
18
+ Requires-Dist: python-magic (>=0.4.27,<0.5.0)
19
+ Project-URL: Homepage, https://github.com/blacklanternsecurity/MANSPIDER
20
+ Project-URL: Repository, https://github.com/blacklanternsecurity/MANSPIDER
21
+ Description-Content-Type: text/markdown
22
+
23
+ # MANSPIDER
24
+ ### Crawl SMB shares for juicy information. File content searching + regex is supported!
25
+
26
+ ### UPDATE 2025-05-26
27
+ **Manspider has been updated to support kerberos!** Also, the textract library has been replaced with [Extractous](https://github.com/yobix-ai/extractous), so you can now feel free to run it outside Docker. 🎉
28
+
29
+ ![manspider](https://user-images.githubusercontent.com/20261699/74963251-6a08de80-53df-11ea-88f4-60c39665dfa2.gif)
30
+
31
+ ### File types supported:
32
+ - `PDF`
33
+ - `DOCX`
34
+ - `XLSX`
35
+ - `PPTX`
36
+ - any text-based format
37
+ - and many more!!
38
+
39
+ ### MANSPIDER will crawl every share on every target system. If provided creds don't work, it will fall back to "guest", then to a null session.
40
+ ![manspider](https://user-images.githubusercontent.com/20261699/80316979-f9ab7e80-87ce-11ea-9628-3c22a07e8378.png)
41
+
42
+ ### Installation:
43
+ (Optional) Install these dependencies to add additional file parsing capability:
44
+ ~~~
45
+ # for images (png, jpeg)
46
+ $ sudo apt install tesseract-ocr
47
+
48
+ # for legacy document support (.doc)
49
+ $ sudo apt install antiword
50
+ ~~~
51
+ Install manspider (please be patient, this can take a while):
52
+ ~~~
53
+ $ pip install pipx
54
+ $ pipx install git+https://github.com/blacklanternsecurity/MANSPIDER
55
+ ~~~
56
+
57
+ ## Installation (Docker)
58
+
59
+ ```bash
60
+ docker run --rm -v ./manspider:/root/.manspider blacklanternsecurity/manspider --help
61
+ ```
62
+
63
+ Note there is also a helper script `manspider.sh` which will automatically mount volumes for manspider's `loot` and `logs` directories, making it a bit more convenient to run:
64
+
65
+ ```bash
66
+ ./manspider.sh --help
67
+ ```
68
+
69
+ ### Example #1: Search the network for filenames that may contain creds
70
+ NOTE: matching files are automatically downloaded into `$HOME/.manspider/loot`! (`-n` to disable)
71
+ ~~~
72
+ $ manspider 192.168.0.0/24 -f passw user admin account network login logon cred -d evilcorp -u bob -p Passw0rd
73
+ ~~~
74
+
75
+ ### Example #2: Search for spreadsheets with "password" in the filename
76
+ ~~~
77
+ $ manspider share.evilcorp.local -f passw -e xlsx csv -d evilcorp -u bob -p Passw0rd
78
+ ~~~
79
+
80
+ ### Example #3: Search for documents containing passwords
81
+ ~~~
82
+ $ manspider share.evilcorp.local -c passw -e xlsx csv docx pdf -d evilcorp -u bob -p Passw0rd
83
+ ~~~
84
+
85
+ ### Example #4: Search for interesting file extensions
86
+ ~~~
87
+ $ manspider share.evilcorp.local -e bat com vbs ps1 psd1 psm1 pem key rsa pub reg pfx cfg conf config vmdk vhd vdi dit -d evilcorp -u bob -p Passw0rd
88
+ ~~~
89
+
90
+ ### Example #5: Search for finance-related files
91
+ This example searches financy-sounding directories for filenames containing 5 or more consecutive numbers (e.g. `000202006.EFT`)
92
+ ~~~
93
+ $ manspider share.evilcorp.local --dirnames bank financ payable payment reconcil remit voucher vendor eft swift -f '[0-9]{5,}' -d evilcorp -u bob -p Passw0rd
94
+ ~~~
95
+
96
+ ### Example #6: Search for SSH keys by filename
97
+ ~~~
98
+ $ manspider share.evilcorp.local -e ppk rsa pem ssh rsa -o -f id_rsa id_dsa id_ed25519 -d evilcorp -u bob -p Passw0rd
99
+ ~~~
100
+
101
+ ### Example #7: Search for SSH keys by content
102
+ ~~~
103
+ $ manspider share.evilcorp.local -e '' -c 'BEGIN .{1,10} PRIVATE KEY' -d evilcorp -u bob -p Passw0rd
104
+ ~~~
105
+
106
+ ### Example #8: Search for password manager files
107
+ ~~~bash
108
+ # .kdbx - KeePass Password Database (KeePass, KeePassXC)
109
+ # .kdb - KeePass Classic Database (KeePass 1.x)
110
+ # .1pif - 1Password Interchange Format (1Password)
111
+ # .agilekeychain - Agile Keychain Format (1Password, deprecated)
112
+ # .opvault - OPVault Format (1Password)
113
+ # .lpd - LastPass Data File (LastPass)
114
+ # .dashlane - Dashlane Data File (Dashlane)
115
+ # .psafe3 - Password Safe Database (Password Safe)
116
+ # .enpass - Enpass Password Manager Data File (Enpass)
117
+ # .bwdb - Bitwarden Database (Bitwarden)
118
+ # .msecure - mSecure Password Manager Data File (mSecure)
119
+ # .stickypass - Sticky Password Data File (Sticky Password)
120
+ # .pwm - Password Memory Data File (Password Memory)
121
+ # .rdb - RoboForm Data File (RoboForm)
122
+ # .safe - SafeInCloud Password Manager Data File (SafeInCloud)
123
+ # .zps - Zoho Vault Encrypted Data File (Zoho Vault)
124
+ # .pmvault - SplashID Safe Data File (SplashID Safe)
125
+ # .mywallet - MyWallet Password Manager Data File (MyWallet)
126
+ # .jpass - JPass Password Manager Data File (JPass)
127
+ # .pwmdb - Universal Password Manager Database (Universal Password Manager)
128
+ $ manspider share.evilcorp.local -e kdbx kdb 1pif agilekeychain opvault lpd dashlane psafe3 enpass bwdb msecure stickypass pwm rdb safe zps pmvault mywallet jpass pwmdb -d evilcorp -u bob -p Passw0rd
129
+ ~~~
130
+
131
+ ### Example #9: Search for certificates
132
+ ~~~
133
+ $ manspider share.evilcorp.local -e pfx p12 pkcs12 pem key crt cer csr jks keystore key keys der -d evilcorp -u bob -p Passw0rd
134
+ ~~~
135
+
136
+ ### Usage Tip #1:
137
+ You can run multiple instances of manspider at one time. This is useful when one instance is already running, and you want to search what it's downloaded (similar to `grep -R`). To do this, specify the keyword `loot` as the target, which will search the downloaded files in `$HOME/.manspider/loot`.
138
+
139
+ ### Usage Tip #2:
140
+ Reasonable defaults help prevent unwanted scenarios like getting stuck on a single target. All of these can be overridden:
141
+ - **default spider depth: 10** (override with `-m`)
142
+ - **default max filesize: 10MB** (override with `-s`)
143
+ - **default threads: 5** (override with `-t`)
144
+ - **shares excluded: `C$`, `IPC$`, `ADMIN$`, `PRINT$`** (override with `--exclude-sharenames`)
145
+
146
+ ### Usage Tip #3:
147
+ Manspider accepts any combination of the following as targets:
148
+ - IPs
149
+ - hostnames
150
+ - subnets (CIDR format)
151
+ - files containing any of the above
152
+ - local folders containing files
153
+
154
+ For example, you could specify any or all of these:
155
+ - **`192.168.1.250`**
156
+ - **`share.evilcorp.local`**
157
+ - **`192.168.1.0/24`**
158
+ - **`smb_hosts.txt`**
159
+ - **`loot`** (to search already-downloaded files)
160
+ - **`/mnt/share`** (to recursively search a directory)
161
+ - NOTE: when searching local files, you must specify a directory, not an individual file
162
+
163
+ ## Usage:
164
+ ~~~
165
+ usage: manspider [-h] [-u USERNAME] [-p PASSWORD] [-d DOMAIN] [-m MAXDEPTH] [-H HASH] [-t THREADS] [-f REGEX [REGEX ...]] [-e EXT [EXT ...]] [--exclude-extensions EXT [EXT ...]]
166
+ [-c REGEX [REGEX ...]] [--sharenames SHARE [SHARE ...]] [--exclude-sharenames [SHARE ...]] [--dirnames DIR [DIR ...]] [--exclude-dirnames DIR [DIR ...]] [-q] [-n]
167
+ [-mfail INT] [-o] [-s SIZE] [-v]
168
+ targets [targets ...]
169
+
170
+ Scan for juicy data on SMB shares. Matching files and logs are stored in $HOME/.manspider. All filters are case-insensitive.
171
+
172
+ positional arguments:
173
+ targets IPs, Hostnames, CIDR ranges, or files containing targets to spider (NOTE: local searching also supported, specify directory name or keyword "loot" to search
174
+ downloaded files)
175
+
176
+ optional arguments:
177
+ -h, --help show this help message and exit
178
+ -u USERNAME, --username USERNAME
179
+ username for authentication
180
+ -p PASSWORD, --password PASSWORD
181
+ password for authentication
182
+ -d DOMAIN, --domain DOMAIN
183
+ domain for authentication
184
+ -m MAXDEPTH, --maxdepth MAXDEPTH
185
+ maximum depth to spider (default: 10)
186
+ -H HASH, --hash HASH NTLM hash for authentication
187
+ -t THREADS, --threads THREADS
188
+ concurrent threads (default: 5)
189
+ -f REGEX [REGEX ...], --filenames REGEX [REGEX ...]
190
+ filter filenames using regex (space-separated)
191
+ -e EXT [EXT ...], --extensions EXT [EXT ...]
192
+ only show filenames with these extensions (space-separated, e.g. `docx xlsx` for only word & excel docs)
193
+ --exclude-extensions EXT [EXT ...]
194
+ ignore files with these extensions
195
+ -c REGEX [REGEX ...], --content REGEX [REGEX ...]
196
+ search for file content using regex (multiple supported)
197
+ --sharenames SHARE [SHARE ...]
198
+ only search shares with these names (multiple supported)
199
+ --exclude-sharenames [SHARE ...]
200
+ don't search shares with these names (multiple supported)
201
+ --dirnames DIR [DIR ...]
202
+ only search directories containing these strings (multiple supported)
203
+ --exclude-dirnames DIR [DIR ...]
204
+ don't search directories containing these strings (multiple supported)
205
+ -q, --quiet don't display matching file content
206
+ -n, --no-download don't download matching files
207
+ -mfail INT, --max-failed-logons INT
208
+ limit failed logons
209
+ -o, --or-logic use OR logic instead of AND (files are downloaded if filename OR extension OR content match)
210
+ -s SIZE, --max-filesize SIZE
211
+ don't retrieve files over this size, e.g. "500K" or ".5M" (default: 10M)
212
+ -v, --verbose show debugging messages
213
+ ~~~
214
+
@@ -0,0 +1,191 @@
1
+ # MANSPIDER
2
+ ### Crawl SMB shares for juicy information. File content searching + regex is supported!
3
+
4
+ ### UPDATE 2025-05-26
5
+ **Manspider has been updated to support kerberos!** Also, the textract library has been replaced with [Extractous](https://github.com/yobix-ai/extractous), so you can now feel free to run it outside Docker. 🎉
6
+
7
+ ![manspider](https://user-images.githubusercontent.com/20261699/74963251-6a08de80-53df-11ea-88f4-60c39665dfa2.gif)
8
+
9
+ ### File types supported:
10
+ - `PDF`
11
+ - `DOCX`
12
+ - `XLSX`
13
+ - `PPTX`
14
+ - any text-based format
15
+ - and many more!!
16
+
17
+ ### MANSPIDER will crawl every share on every target system. If provided creds don't work, it will fall back to "guest", then to a null session.
18
+ ![manspider](https://user-images.githubusercontent.com/20261699/80316979-f9ab7e80-87ce-11ea-9628-3c22a07e8378.png)
19
+
20
+ ### Installation:
21
+ (Optional) Install these dependencies to add additional file parsing capability:
22
+ ~~~
23
+ # for images (png, jpeg)
24
+ $ sudo apt install tesseract-ocr
25
+
26
+ # for legacy document support (.doc)
27
+ $ sudo apt install antiword
28
+ ~~~
29
+ Install manspider (please be patient, this can take a while):
30
+ ~~~
31
+ $ pip install pipx
32
+ $ pipx install git+https://github.com/blacklanternsecurity/MANSPIDER
33
+ ~~~
34
+
35
+ ## Installation (Docker)
36
+
37
+ ```bash
38
+ docker run --rm -v ./manspider:/root/.manspider blacklanternsecurity/manspider --help
39
+ ```
40
+
41
+ Note there is also a helper script `manspider.sh` which will automatically mount volumes for manspider's `loot` and `logs` directories, making it a bit more convenient to run:
42
+
43
+ ```bash
44
+ ./manspider.sh --help
45
+ ```
46
+
47
+ ### Example #1: Search the network for filenames that may contain creds
48
+ NOTE: matching files are automatically downloaded into `$HOME/.manspider/loot`! (`-n` to disable)
49
+ ~~~
50
+ $ manspider 192.168.0.0/24 -f passw user admin account network login logon cred -d evilcorp -u bob -p Passw0rd
51
+ ~~~
52
+
53
+ ### Example #2: Search for spreadsheets with "password" in the filename
54
+ ~~~
55
+ $ manspider share.evilcorp.local -f passw -e xlsx csv -d evilcorp -u bob -p Passw0rd
56
+ ~~~
57
+
58
+ ### Example #3: Search for documents containing passwords
59
+ ~~~
60
+ $ manspider share.evilcorp.local -c passw -e xlsx csv docx pdf -d evilcorp -u bob -p Passw0rd
61
+ ~~~
62
+
63
+ ### Example #4: Search for interesting file extensions
64
+ ~~~
65
+ $ manspider share.evilcorp.local -e bat com vbs ps1 psd1 psm1 pem key rsa pub reg pfx cfg conf config vmdk vhd vdi dit -d evilcorp -u bob -p Passw0rd
66
+ ~~~
67
+
68
+ ### Example #5: Search for finance-related files
69
+ This example searches financy-sounding directories for filenames containing 5 or more consecutive numbers (e.g. `000202006.EFT`)
70
+ ~~~
71
+ $ manspider share.evilcorp.local --dirnames bank financ payable payment reconcil remit voucher vendor eft swift -f '[0-9]{5,}' -d evilcorp -u bob -p Passw0rd
72
+ ~~~
73
+
74
+ ### Example #6: Search for SSH keys by filename
75
+ ~~~
76
+ $ manspider share.evilcorp.local -e ppk rsa pem ssh rsa -o -f id_rsa id_dsa id_ed25519 -d evilcorp -u bob -p Passw0rd
77
+ ~~~
78
+
79
+ ### Example #7: Search for SSH keys by content
80
+ ~~~
81
+ $ manspider share.evilcorp.local -e '' -c 'BEGIN .{1,10} PRIVATE KEY' -d evilcorp -u bob -p Passw0rd
82
+ ~~~
83
+
84
+ ### Example #8: Search for password manager files
85
+ ~~~bash
86
+ # .kdbx - KeePass Password Database (KeePass, KeePassXC)
87
+ # .kdb - KeePass Classic Database (KeePass 1.x)
88
+ # .1pif - 1Password Interchange Format (1Password)
89
+ # .agilekeychain - Agile Keychain Format (1Password, deprecated)
90
+ # .opvault - OPVault Format (1Password)
91
+ # .lpd - LastPass Data File (LastPass)
92
+ # .dashlane - Dashlane Data File (Dashlane)
93
+ # .psafe3 - Password Safe Database (Password Safe)
94
+ # .enpass - Enpass Password Manager Data File (Enpass)
95
+ # .bwdb - Bitwarden Database (Bitwarden)
96
+ # .msecure - mSecure Password Manager Data File (mSecure)
97
+ # .stickypass - Sticky Password Data File (Sticky Password)
98
+ # .pwm - Password Memory Data File (Password Memory)
99
+ # .rdb - RoboForm Data File (RoboForm)
100
+ # .safe - SafeInCloud Password Manager Data File (SafeInCloud)
101
+ # .zps - Zoho Vault Encrypted Data File (Zoho Vault)
102
+ # .pmvault - SplashID Safe Data File (SplashID Safe)
103
+ # .mywallet - MyWallet Password Manager Data File (MyWallet)
104
+ # .jpass - JPass Password Manager Data File (JPass)
105
+ # .pwmdb - Universal Password Manager Database (Universal Password Manager)
106
+ $ manspider share.evilcorp.local -e kdbx kdb 1pif agilekeychain opvault lpd dashlane psafe3 enpass bwdb msecure stickypass pwm rdb safe zps pmvault mywallet jpass pwmdb -d evilcorp -u bob -p Passw0rd
107
+ ~~~
108
+
109
+ ### Example #9: Search for certificates
110
+ ~~~
111
+ $ manspider share.evilcorp.local -e pfx p12 pkcs12 pem key crt cer csr jks keystore key keys der -d evilcorp -u bob -p Passw0rd
112
+ ~~~
113
+
114
+ ### Usage Tip #1:
115
+ You can run multiple instances of manspider at one time. This is useful when one instance is already running, and you want to search what it's downloaded (similar to `grep -R`). To do this, specify the keyword `loot` as the target, which will search the downloaded files in `$HOME/.manspider/loot`.
116
+
117
+ ### Usage Tip #2:
118
+ Reasonable defaults help prevent unwanted scenarios like getting stuck on a single target. All of these can be overridden:
119
+ - **default spider depth: 10** (override with `-m`)
120
+ - **default max filesize: 10MB** (override with `-s`)
121
+ - **default threads: 5** (override with `-t`)
122
+ - **shares excluded: `C$`, `IPC$`, `ADMIN$`, `PRINT$`** (override with `--exclude-sharenames`)
123
+
124
+ ### Usage Tip #3:
125
+ Manspider accepts any combination of the following as targets:
126
+ - IPs
127
+ - hostnames
128
+ - subnets (CIDR format)
129
+ - files containing any of the above
130
+ - local folders containing files
131
+
132
+ For example, you could specify any or all of these:
133
+ - **`192.168.1.250`**
134
+ - **`share.evilcorp.local`**
135
+ - **`192.168.1.0/24`**
136
+ - **`smb_hosts.txt`**
137
+ - **`loot`** (to search already-downloaded files)
138
+ - **`/mnt/share`** (to recursively search a directory)
139
+ - NOTE: when searching local files, you must specify a directory, not an individual file
140
+
141
+ ## Usage:
142
+ ~~~
143
+ usage: manspider [-h] [-u USERNAME] [-p PASSWORD] [-d DOMAIN] [-m MAXDEPTH] [-H HASH] [-t THREADS] [-f REGEX [REGEX ...]] [-e EXT [EXT ...]] [--exclude-extensions EXT [EXT ...]]
144
+ [-c REGEX [REGEX ...]] [--sharenames SHARE [SHARE ...]] [--exclude-sharenames [SHARE ...]] [--dirnames DIR [DIR ...]] [--exclude-dirnames DIR [DIR ...]] [-q] [-n]
145
+ [-mfail INT] [-o] [-s SIZE] [-v]
146
+ targets [targets ...]
147
+
148
+ Scan for juicy data on SMB shares. Matching files and logs are stored in $HOME/.manspider. All filters are case-insensitive.
149
+
150
+ positional arguments:
151
+ targets IPs, Hostnames, CIDR ranges, or files containing targets to spider (NOTE: local searching also supported, specify directory name or keyword "loot" to search
152
+ downloaded files)
153
+
154
+ optional arguments:
155
+ -h, --help show this help message and exit
156
+ -u USERNAME, --username USERNAME
157
+ username for authentication
158
+ -p PASSWORD, --password PASSWORD
159
+ password for authentication
160
+ -d DOMAIN, --domain DOMAIN
161
+ domain for authentication
162
+ -m MAXDEPTH, --maxdepth MAXDEPTH
163
+ maximum depth to spider (default: 10)
164
+ -H HASH, --hash HASH NTLM hash for authentication
165
+ -t THREADS, --threads THREADS
166
+ concurrent threads (default: 5)
167
+ -f REGEX [REGEX ...], --filenames REGEX [REGEX ...]
168
+ filter filenames using regex (space-separated)
169
+ -e EXT [EXT ...], --extensions EXT [EXT ...]
170
+ only show filenames with these extensions (space-separated, e.g. `docx xlsx` for only word & excel docs)
171
+ --exclude-extensions EXT [EXT ...]
172
+ ignore files with these extensions
173
+ -c REGEX [REGEX ...], --content REGEX [REGEX ...]
174
+ search for file content using regex (multiple supported)
175
+ --sharenames SHARE [SHARE ...]
176
+ only search shares with these names (multiple supported)
177
+ --exclude-sharenames [SHARE ...]
178
+ don't search shares with these names (multiple supported)
179
+ --dirnames DIR [DIR ...]
180
+ only search directories containing these strings (multiple supported)
181
+ --exclude-dirnames DIR [DIR ...]
182
+ don't search directories containing these strings (multiple supported)
183
+ -q, --quiet don't display matching file content
184
+ -n, --no-download don't download matching files
185
+ -mfail INT, --max-failed-logons INT
186
+ limit failed logons
187
+ -o, --or-logic use OR logic instead of AND (files are downloaded if filename OR extension OR content match)
188
+ -s SIZE, --max-filesize SIZE
189
+ don't retrieve files over this size, e.g. "500K" or ".5M" (default: 10M)
190
+ -v, --verbose show debugging messages
191
+ ~~~
@@ -1,11 +1,12 @@
1
1
  [tool.poetry]
2
2
  name = "man-spider"
3
- version = "1.1.0"
3
+ version = "1.1.1"
4
4
  description = "Full-featured SMB spider capable of searching file content"
5
5
  authors = ["TheTechromancer"]
6
6
  license = "GPL-3.0"
7
7
  repository = "https://github.com/blacklanternsecurity/MANSPIDER"
8
8
  homepage = "https://github.com/blacklanternsecurity/MANSPIDER"
9
+ readme = "README.md"
9
10
 
10
11
  [tool.poetry.scripts]
11
12
  manspider = 'man_spider.manspider:main'
man_spider-1.1.0/PKG-INFO DELETED
@@ -1,20 +0,0 @@
1
- Metadata-Version: 2.3
2
- Name: man-spider
3
- Version: 1.1.0
4
- Summary: Full-featured SMB spider capable of searching file content
5
- License: GPL-3.0
6
- Author: TheTechromancer
7
- Requires-Python: >=3.8,<3.14
8
- Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
9
- Classifier: Programming Language :: Python :: 3
10
- Classifier: Programming Language :: Python :: 3.8
11
- Classifier: Programming Language :: Python :: 3.9
12
- Classifier: Programming Language :: Python :: 3.10
13
- Classifier: Programming Language :: Python :: 3.11
14
- Classifier: Programming Language :: Python :: 3.12
15
- Classifier: Programming Language :: Python :: 3.13
16
- Requires-Dist: extractous (>=0.3.0,<0.4.0)
17
- Requires-Dist: impacket (>=0.12.0,<0.13.0)
18
- Requires-Dist: python-magic (>=0.4.27,<0.5.0)
19
- Project-URL: Homepage, https://github.com/blacklanternsecurity/MANSPIDER
20
- Project-URL: Repository, https://github.com/blacklanternsecurity/MANSPIDER
File without changes