praetorian-cli 2.2.2__py3-none-any.whl → 2.2.4__py3-none-any.whl
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.
- praetorian_cli/handlers/add.py +47 -7
- praetorian_cli/handlers/cli_decorators.py +1 -1
- praetorian_cli/handlers/delete.py +15 -2
- praetorian_cli/handlers/get.py +48 -2
- praetorian_cli/handlers/link.py +29 -1
- praetorian_cli/handlers/list.py +30 -9
- praetorian_cli/handlers/unlink.py +29 -1
- praetorian_cli/handlers/update.py +3 -3
- praetorian_cli/sdk/chariot.py +6 -12
- praetorian_cli/sdk/entities/assets.py +30 -12
- praetorian_cli/sdk/entities/schema.py +27 -0
- praetorian_cli/sdk/entities/seeds.py +108 -56
- praetorian_cli/sdk/entities/webpage.py +180 -0
- praetorian_cli/sdk/mcp_server.py +2 -3
- praetorian_cli/sdk/model/globals.py +2 -0
- praetorian_cli/sdk/model/query.py +8 -1
- praetorian_cli/sdk/model/utils.py +2 -8
- praetorian_cli/sdk/test/test_asset.py +38 -2
- praetorian_cli/sdk/test/test_seed.py +13 -14
- praetorian_cli/sdk/test/test_webpage.py +46 -0
- praetorian_cli/sdk/test/test_z_cli.py +53 -24
- praetorian_cli/sdk/test/utils.py +21 -4
- {praetorian_cli-2.2.2.dist-info → praetorian_cli-2.2.4.dist-info}/METADATA +1 -1
- {praetorian_cli-2.2.2.dist-info → praetorian_cli-2.2.4.dist-info}/RECORD +28 -25
- {praetorian_cli-2.2.2.dist-info → praetorian_cli-2.2.4.dist-info}/WHEEL +0 -0
- {praetorian_cli-2.2.2.dist-info → praetorian_cli-2.2.4.dist-info}/entry_points.txt +0 -0
- {praetorian_cli-2.2.2.dist-info → praetorian_cli-2.2.4.dist-info}/licenses/LICENSE +0 -0
- {praetorian_cli-2.2.2.dist-info → praetorian_cli-2.2.4.dist-info}/top_level.txt +0 -0
|
@@ -5,7 +5,6 @@ from subprocess import run
|
|
|
5
5
|
import pytest
|
|
6
6
|
|
|
7
7
|
from praetorian_cli.sdk.model.globals import AddRisk, Asset, Risk, Seed, Preseed
|
|
8
|
-
from praetorian_cli.sdk.model.utils import seed_status
|
|
9
8
|
from praetorian_cli.sdk.test.utils import epoch_micro, random_ip, make_test_values, clean_test_entities, setup_chariot
|
|
10
9
|
|
|
11
10
|
|
|
@@ -21,11 +20,12 @@ class TestZCli:
|
|
|
21
20
|
self.verify(f'add asset -n {o.asset_name} -d {o.asset_dns}')
|
|
22
21
|
|
|
23
22
|
self.verify('list assets -p all', [o.asset_key])
|
|
24
|
-
self.verify(f'list assets -f "{o.asset_dns}"', [o.asset_key])
|
|
25
|
-
self.verify(f'list assets -f "{o.asset_dns}" -p first', [o.asset_key])
|
|
26
|
-
self.verify(f'list assets -f "{o.asset_dns}" -p all', [o.asset_key])
|
|
27
|
-
self.verify(f'list assets -f "{o.asset_dns}" -d', [o.asset_key, '"key"', '"data"'])
|
|
23
|
+
self.verify(f'list assets -f "#asset#{o.asset_dns}"', [o.asset_key])
|
|
24
|
+
self.verify(f'list assets -f "#asset#{o.asset_dns}" -p first', [o.asset_key])
|
|
25
|
+
self.verify(f'list assets -f "#asset#{o.asset_dns}" -p all', [o.asset_key])
|
|
26
|
+
self.verify(f'list assets -f "#asset#{o.asset_dns}" -d', [o.asset_key, '"key"', '"data"'])
|
|
28
27
|
|
|
28
|
+
self.verify(f'list assets -f "#asset#{epoch_micro()}"')
|
|
29
29
|
self.verify(f'list assets -f {epoch_micro()}')
|
|
30
30
|
|
|
31
31
|
self.verify(f'get asset "{o.asset_key}"', [o.asset_key, f'"status": "{Asset.ACTIVE.value}"'])
|
|
@@ -43,30 +43,28 @@ class TestZCli:
|
|
|
43
43
|
def test_seed_cli(self):
|
|
44
44
|
o = make_test_values(lambda: None)
|
|
45
45
|
|
|
46
|
-
self.verify(f'add seed
|
|
46
|
+
self.verify(f'add seed --field dns:{o.seed_asset_dns}')
|
|
47
47
|
|
|
48
|
-
self.verify('list seeds -p all', [o.
|
|
49
|
-
self.verify('list seeds -t
|
|
50
|
-
self.verify(f'list seeds -t
|
|
51
|
-
self.verify(f'list seeds -t
|
|
52
|
-
self.verify(f'list seeds -t
|
|
53
|
-
self.verify(f'list seeds -t
|
|
54
|
-
self.verify(f'list seeds -t
|
|
55
|
-
self.verify(f'list seeds -
|
|
56
|
-
self.verify(f'list seeds -f "{o.seed_dns}"', [],
|
|
57
|
-
["When the DNS filter is specified, you also need to specify the type of the filter"])
|
|
48
|
+
self.verify('list seeds -p all', [o.seed_asset_key])
|
|
49
|
+
self.verify('list seeds -t asset -p all', [o.seed_asset_key])
|
|
50
|
+
self.verify(f'list seeds -t asset -f "#asset#{o.seed_asset_dns}"', [o.seed_asset_key])
|
|
51
|
+
self.verify(f'list seeds -t asset -f "#asset#{o.seed_asset_dns}" -p first', [o.seed_asset_key])
|
|
52
|
+
self.verify(f'list seeds -t asset -f "#asset#{o.seed_asset_dns}" -p all', [o.seed_asset_key])
|
|
53
|
+
self.verify(f'list seeds -t asset -f "#asset#{o.seed_asset_dns}" -d', [o.seed_asset_dns, '"key"', '"data"'])
|
|
54
|
+
self.verify(f'list seeds -t notatype -f "#asset#{o.seed_asset_dns}"', [], ['Invalid seed type: notatype'])
|
|
55
|
+
self.verify(f'list seeds -f "#asset#{o.seed_asset_dns}"', [o.seed_asset_key])
|
|
58
56
|
|
|
59
|
-
self.verify(f'list seeds -t
|
|
57
|
+
self.verify(f'list seeds -t asset -f {epoch_micro()}')
|
|
60
58
|
|
|
61
|
-
self.verify(f'get seed "{o.
|
|
62
|
-
[o.
|
|
59
|
+
self.verify(f'get seed "{o.seed_asset_key}"',
|
|
60
|
+
[o.seed_asset_key, f'"status": "{Seed.PENDING.value}"'])
|
|
63
61
|
|
|
64
|
-
self.verify(f'update seed -s {Seed.ACTIVE.value} "{o.
|
|
65
|
-
self.verify(f'get seed "{o.
|
|
66
|
-
[o.
|
|
62
|
+
self.verify(f'update seed -s {Seed.ACTIVE.value} "{o.seed_asset_key}"')
|
|
63
|
+
self.verify(f'get seed "{o.seed_asset_key}"',
|
|
64
|
+
[o.seed_asset_key, f'"status": "{Seed.ACTIVE.value}"'])
|
|
67
65
|
|
|
68
|
-
self.verify(f'delete seed "{o.
|
|
69
|
-
self.verify(f'get seed "{o.
|
|
66
|
+
self.verify(f'delete seed "{o.seed_asset_key}"')
|
|
67
|
+
self.verify(f'get seed "{o.seed_asset_key}"', [f'"status": "{Seed.DELETED.value}"'])
|
|
70
68
|
|
|
71
69
|
clean_test_entities(self.sdk, o)
|
|
72
70
|
|
|
@@ -212,6 +210,21 @@ class TestZCli:
|
|
|
212
210
|
self.verify(f'list accounts -f {o.email}', [o.email])
|
|
213
211
|
self.verify(f'unlink account {o.email}')
|
|
214
212
|
self.verify(f'list accounts -f {o.email}')
|
|
213
|
+
|
|
214
|
+
def test_webpage_source_cli(self):
|
|
215
|
+
o = make_test_values(lambda: None)
|
|
216
|
+
|
|
217
|
+
self.verify(f'add webpage --url "{o.webpage_url}"')
|
|
218
|
+
|
|
219
|
+
file_key = f'"#file#test-nonexistent-{epoch_micro()}-2.txt"'
|
|
220
|
+
|
|
221
|
+
self.verify(f'link webpage-source "{o.webpage_key}" {file_key}',
|
|
222
|
+
expected_stderr=['not found'])
|
|
223
|
+
self.verify(f'unlink webpage-source "{o.webpage_key}" {file_key}',
|
|
224
|
+
expected_stdout=[o.webpage_key])
|
|
225
|
+
|
|
226
|
+
# Clean up
|
|
227
|
+
self.verify(f'delete webpage "{o.webpage_key}"', ignore_stdout=True)
|
|
215
228
|
|
|
216
229
|
def test_integration_cli(self):
|
|
217
230
|
self.verify('list integrations', ignore_stdout=True)
|
|
@@ -260,6 +273,20 @@ class TestZCli:
|
|
|
260
273
|
|
|
261
274
|
self.verify(f'delete configuration "{o.configuration_key}"', ignore_stdout=True)
|
|
262
275
|
|
|
276
|
+
def test_webapplication_cli(self):
|
|
277
|
+
o = make_test_values(lambda: None)
|
|
278
|
+
self.verify(f'add asset --dns "{o.webapp_name}" --name "{o.webapp_url}" --type webapplication')
|
|
279
|
+
self.verify(f'get asset "{o.webapp_key}"', expected_stdout=[o.webapp_key, o.webapp_url, o.webapp_name, '"status"', '"A"'])
|
|
280
|
+
self.verify(f'list assets -f "{o.webapp_name}"', expected_stdout=[o.webapp_key])
|
|
281
|
+
self.verify(f'delete asset "{o.webapp_key}"', ignore_stdout=True)
|
|
282
|
+
|
|
283
|
+
def test_webpage_cli(self):
|
|
284
|
+
o = make_test_values(lambda: None)
|
|
285
|
+
self.verify(f'add webpage --url "{o.webpage_url}"')
|
|
286
|
+
self.verify(f'get webpage "{o.webpage_key}"', expected_stdout=[o.webpage_key, o.webpage_url, '"status"', '"A"'])
|
|
287
|
+
self.verify(f'list webpages -p all -f "{o.webpage_url[:len(o.webpage_url)//2]}"', expected_stdout=[o.webpage_key])
|
|
288
|
+
self.verify(f'delete webpage "{o.webpage_key}"', ignore_stdout=True)
|
|
289
|
+
|
|
263
290
|
def test_help_cli(self):
|
|
264
291
|
self.verify('--help', ignore_stdout=True)
|
|
265
292
|
self.verify('list --help', ignore_stdout=True)
|
|
@@ -312,9 +339,11 @@ class TestZCli:
|
|
|
312
339
|
|
|
313
340
|
self.verify('link --help', ignore_stdout=True)
|
|
314
341
|
self.verify('link account --help', ignore_stdout=True)
|
|
342
|
+
self.verify('link webpage-source --help', ignore_stdout=True)
|
|
315
343
|
|
|
316
344
|
self.verify('unlink --help', ignore_stdout=True)
|
|
317
345
|
self.verify('unlink account --help', ignore_stdout=True)
|
|
346
|
+
self.verify('unlink webpage-source --help', ignore_stdout=True)
|
|
318
347
|
|
|
319
348
|
self.verify('delete --help', ignore_stdout=True)
|
|
320
349
|
self.verify('delete asset --help', ignore_stdout=True)
|
praetorian_cli/sdk/test/utils.py
CHANGED
|
@@ -5,7 +5,7 @@ from random import randint
|
|
|
5
5
|
from praetorian_cli.sdk.chariot import Chariot
|
|
6
6
|
from praetorian_cli.sdk.keychain import Keychain
|
|
7
7
|
from praetorian_cli.sdk.model.globals import Risk, Preseed
|
|
8
|
-
from praetorian_cli.sdk.model.utils import risk_key, asset_key, ad_domain_key, attribute_key,
|
|
8
|
+
from praetorian_cli.sdk.model.utils import risk_key, asset_key, ad_domain_key, attribute_key, seed_asset_key, preseed_key, setting_key, configuration_key
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
def epoch_micro():
|
|
@@ -27,14 +27,26 @@ def random_dns():
|
|
|
27
27
|
def random_ad_domain():
|
|
28
28
|
return f'test-{epoch_micro()}.local'
|
|
29
29
|
|
|
30
|
+
def random_object_id():
|
|
31
|
+
domain_id_1 = randint(1000000000, 4294967295) # Start from 1 billion for realism
|
|
32
|
+
domain_id_2 = randint(1000000000, 4294967295)
|
|
33
|
+
domain_id_3 = randint(1000000000, 4294967295)
|
|
34
|
+
|
|
35
|
+
# Generate a random relative identifier (RID)
|
|
36
|
+
# Common ranges: 500-999 for built-in accounts, 1000+ for user accounts
|
|
37
|
+
relative_id = randint(1000, 999999)
|
|
38
|
+
return f"S-1-5-21-{domain_id_1}-{domain_id_2}-{domain_id_3}-{relative_id}"
|
|
39
|
+
|
|
40
|
+
|
|
30
41
|
def make_test_values(o):
|
|
31
42
|
o.asset_dns = random_dns()
|
|
32
43
|
o.asset_name = random_ip()
|
|
33
44
|
o.asset_key = asset_key(o.asset_dns, o.asset_name)
|
|
34
45
|
o.ad_domain_name = random_ad_domain()
|
|
35
|
-
o.
|
|
36
|
-
o.
|
|
37
|
-
o.
|
|
46
|
+
o.ad_object_id = random_object_id()
|
|
47
|
+
o.ad_domain_key = ad_domain_key(o.ad_domain_name, o.ad_object_id)
|
|
48
|
+
o.seed_asset_dns = random_dns()
|
|
49
|
+
o.seed_asset_key = seed_asset_key(o.seed_asset_dns)
|
|
38
50
|
o.risk_name = f'test-risk-name-{epoch_micro()}'
|
|
39
51
|
o.risk_key = risk_key(o.asset_dns, o.risk_name)
|
|
40
52
|
o.comment = f'Test comment {epoch_micro()}'
|
|
@@ -54,6 +66,11 @@ def make_test_values(o):
|
|
|
54
66
|
o.configuration_value = {o.configuration_name: o.configuration_name}
|
|
55
67
|
o.configuration_key = configuration_key(o.configuration_name)
|
|
56
68
|
o.key_name = f'test-key-name-{epoch_micro()}'
|
|
69
|
+
o.webapp_name = f'test-webapp-name-{epoch_micro()}'
|
|
70
|
+
o.webapp_url = f'https://test-webapp-{epoch_micro()}.com/'
|
|
71
|
+
o.webapp_key = f'#webapplication#{o.webapp_url}'
|
|
72
|
+
o.webpage_url = f'https://test-webpage-{epoch_micro()}.com/index.html'
|
|
73
|
+
o.webpage_key = f'#webpage#{o.webpage_url}'
|
|
57
74
|
return o
|
|
58
75
|
|
|
59
76
|
|
|
@@ -1,38 +1,38 @@
|
|
|
1
1
|
praetorian_cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
2
|
praetorian_cli/main.py,sha256=AVrOCQgioLDKm-Y8-b3lLLdLtaO1WwOAzUfs0obe5Nw,1451
|
|
3
3
|
praetorian_cli/handlers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
-
praetorian_cli/handlers/add.py,sha256=
|
|
4
|
+
praetorian_cli/handlers/add.py,sha256=1n0EZqlKsx2BX99jVs5-gwMKrnfJG4ajQajuWA6qMFI,13443
|
|
5
5
|
praetorian_cli/handlers/aegis.py,sha256=1259bNmoUOVhcs7GqI8TyTyCI_ZvKzEPvfUVvAHcTzU,3936
|
|
6
6
|
praetorian_cli/handlers/agent.py,sha256=8lmb_R1aWe9bhk-4NPOfXXxaE8E_U97DFNEvJ2mcteg,2291
|
|
7
7
|
praetorian_cli/handlers/chariot.py,sha256=HClwYdsgFKlLY68RhV65W1Y4g-JgbBDdI4PdP4s8MgI,611
|
|
8
|
-
praetorian_cli/handlers/cli_decorators.py,sha256=
|
|
8
|
+
praetorian_cli/handlers/cli_decorators.py,sha256=ZLPMZH9i-vNtTT0Y0qnYQsGw8B4lxIdEE1vBX9i75Wc,2884
|
|
9
9
|
praetorian_cli/handlers/configure.py,sha256=8ABvisb_a4WekVVZ5kEhT1m4Mn2xV5RsO_xO_7f6TkM,1317
|
|
10
|
-
praetorian_cli/handlers/delete.py,sha256=
|
|
10
|
+
praetorian_cli/handlers/delete.py,sha256=8K7yEnQQT88vbJG-ouX-aFq6FyjkWNGDMt97VYZGSZg,4433
|
|
11
11
|
praetorian_cli/handlers/enrich.py,sha256=KRvOAuW7mQdYg_k_XOTwtPmnf8rxOAtoL00Bb0e-N-s,485
|
|
12
|
-
praetorian_cli/handlers/get.py,sha256=
|
|
12
|
+
praetorian_cli/handlers/get.py,sha256=l9fFo_pSLXIx5Ax6bmSXsVlT7jazzrB235usJJbx82Y,9356
|
|
13
13
|
praetorian_cli/handlers/imports.py,sha256=u1TK4w3eCMD5ASPFare2NgTX1_m0_F1ELCmvV7OF-PI,1653
|
|
14
|
-
praetorian_cli/handlers/link.py,sha256=
|
|
15
|
-
praetorian_cli/handlers/list.py,sha256=
|
|
14
|
+
praetorian_cli/handlers/link.py,sha256=7JjHoawFZbcfropHVp8IX3Ekci6theAlcYSTPXnrFHQ,1776
|
|
15
|
+
praetorian_cli/handlers/list.py,sha256=bTPztFlyHHyCO5y5pDOw68CDxGN_Ps8DrhbStgSFgrc,13217
|
|
16
16
|
praetorian_cli/handlers/script.py,sha256=x_nWTlv0_9dLrQ4KulzKX11QwJHdtm6hWtZYgKzKcs4,2040
|
|
17
17
|
praetorian_cli/handlers/search.py,sha256=wPXiHrBx4NpNB8a79S9wE6TMArBjg5WsEFKzDoUAR-0,2633
|
|
18
18
|
praetorian_cli/handlers/ssh_utils.py,sha256=53Kke-iFH4sJoCcweiT8q4WVRlaA7SvR5CCqdGFxHps,5903
|
|
19
19
|
praetorian_cli/handlers/test.py,sha256=uhARoRolaJf6DMRNX-1aj8SDYe1wAvhYDOBYWH39sqo,932
|
|
20
|
-
praetorian_cli/handlers/unlink.py,sha256=
|
|
21
|
-
praetorian_cli/handlers/update.py,sha256=
|
|
20
|
+
praetorian_cli/handlers/unlink.py,sha256=nUTGXZ7JBXwuHy2nzvL79sSO95Vyc0PftM6rm-9YWt8,1725
|
|
21
|
+
praetorian_cli/handlers/update.py,sha256=rgdOsFTaEivTdTUjUxPNEo13XR7uoIpBFRUqUdFVjaI,2846
|
|
22
22
|
praetorian_cli/handlers/utils.py,sha256=2WA_50l6bWo-00cpxsHtqZYF10pSVxwly94qjl_tutY,858
|
|
23
23
|
praetorian_cli/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
24
24
|
praetorian_cli/scripts/utils.py,sha256=lGCf4trEpsfECa9U42pDJ-f48EimlS-hG6AjnKjNt4I,501
|
|
25
25
|
praetorian_cli/scripts/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
26
26
|
praetorian_cli/scripts/commands/nmap-example.py,sha256=varKTkHKG4DAs9Ssf0c6SygP9GfuCG01aFxhfvixLM0,2727
|
|
27
27
|
praetorian_cli/sdk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
28
|
-
praetorian_cli/sdk/chariot.py,sha256=
|
|
28
|
+
praetorian_cli/sdk/chariot.py,sha256=Vs-_J6teHKgz0IEPcF4CQDLRvj5vKQB9spLvyQAoMZY,13364
|
|
29
29
|
praetorian_cli/sdk/keychain.py,sha256=yWm4ohMHXD1I_hEDuuBh-F9EO-tssRLMb2xreDa65k4,7305
|
|
30
|
-
praetorian_cli/sdk/mcp_server.py,sha256=
|
|
30
|
+
praetorian_cli/sdk/mcp_server.py,sha256=8UoTotD4UVl-tp1gqMjkOVpO__KeGCvy7mIpKXVc8Rg,8750
|
|
31
31
|
praetorian_cli/sdk/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
32
32
|
praetorian_cli/sdk/entities/accounts.py,sha256=DxVqUXMZu4m87Ryl2m0h4RkcJEqhGZmIGFsaFmJ97_A,4621
|
|
33
33
|
praetorian_cli/sdk/entities/aegis.py,sha256=RRpeaV6MKinE229v0tngjTVkSGTeYOZKLzH4uZTFcvw,17298
|
|
34
34
|
praetorian_cli/sdk/entities/agents.py,sha256=tJXTBkU7EpLVfhKo7g5pQfcXJeylLEfeLIpRW-lEn-M,1560
|
|
35
|
-
praetorian_cli/sdk/entities/assets.py,sha256=
|
|
35
|
+
praetorian_cli/sdk/entities/assets.py,sha256=z8ErleQQ-BdnYkwPWOp2EQ8eJI4YB8qi45XQMokDFK8,5930
|
|
36
36
|
praetorian_cli/sdk/entities/attributes.py,sha256=AyWsYyjUFNbHTCN7j-OYA7YD1Y0z_LmnlcME5y74je8,3573
|
|
37
37
|
praetorian_cli/sdk/entities/capabilities.py,sha256=WeNlPrhVgLQPbpqYvS4nHmIX697ITpoZkJeLYxG5bmY,2808
|
|
38
38
|
praetorian_cli/sdk/entities/configurations.py,sha256=rIChKvkaHUv9XRtQJ6OYH3gDDMcN8OPVsM_ylPnPEoI,4255
|
|
@@ -45,21 +45,23 @@ praetorian_cli/sdk/entities/keys.py,sha256=PgoGa3xyLMzWrIIQ8zgi7bfZiUFFumPtMDo64
|
|
|
45
45
|
praetorian_cli/sdk/entities/preseeds.py,sha256=SeSY4K6diJMQzsjCBxYK3N9Lz0fUz3B_LMBOAAcBSLg,8890
|
|
46
46
|
praetorian_cli/sdk/entities/risks.py,sha256=ZJ9_S8Zf3RwB7wGRjGEpf8j1jTB_leJiyHlFWeXsefc,5953
|
|
47
47
|
praetorian_cli/sdk/entities/scanners.py,sha256=QCr5QlBy4jfBh8HRvZt9CoZTgNqLNnKNrI4sdfJf0jE,423
|
|
48
|
+
praetorian_cli/sdk/entities/schema.py,sha256=CPVws1CdRHyOAI7oT9A20WGOCZozTFqZnfo5ox3v0HQ,807
|
|
48
49
|
praetorian_cli/sdk/entities/search.py,sha256=hFoANI_arlEmFPQwDiEF7lU-kPgXk0z3VyjubOULhRE,16843
|
|
49
|
-
praetorian_cli/sdk/entities/seeds.py,sha256=
|
|
50
|
+
praetorian_cli/sdk/entities/seeds.py,sha256=eYDFtfgzIX_o9c5wuPiz9I2xDfTz7k9PZPzL7A7x1CM,5404
|
|
50
51
|
praetorian_cli/sdk/entities/settings.py,sha256=F-pRCA6UvbdtnjHOLpEG2lN9ws8dcnBNcep-DFlXeTY,2750
|
|
51
52
|
praetorian_cli/sdk/entities/statistics.py,sha256=gtX-NN7r_RsNjDjlQ-zspmzG_0bzBqBFarCuM4NO-EA,7085
|
|
52
53
|
praetorian_cli/sdk/entities/webhook.py,sha256=7Bqt20GlJFbZTlmQwYTuUadsUQvydym6S4kGn9zYa50,6220
|
|
54
|
+
praetorian_cli/sdk/entities/webpage.py,sha256=FBS3HzuUJnQR9Blm_cBCd9efYAdc2wA2tUFY-cpLj4k,6787
|
|
53
55
|
praetorian_cli/sdk/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
54
56
|
praetorian_cli/sdk/model/aegis.py,sha256=KNeynkCJtaR5bIhv3-VNirjxq4i-6JhCZGTb5rmxkQ4,5344
|
|
55
|
-
praetorian_cli/sdk/model/globals.py,sha256=
|
|
56
|
-
praetorian_cli/sdk/model/query.py,sha256=
|
|
57
|
-
praetorian_cli/sdk/model/utils.py,sha256=
|
|
57
|
+
praetorian_cli/sdk/model/globals.py,sha256=DxzOyYrVnu9FyvN_L69-1tAmLrFYSQ-nu1xiF8Mmg1I,2961
|
|
58
|
+
praetorian_cli/sdk/model/query.py,sha256=lqYC_RJRBCSQRPmElmBH6VXcXS8Z8AriLpG7DYUkFhI,6523
|
|
59
|
+
praetorian_cli/sdk/model/utils.py,sha256=G8cU7K2uG0-J0GanjcCrzDuUtKzDOucFWF6hGtfOsTM,781
|
|
58
60
|
praetorian_cli/sdk/test/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
59
61
|
praetorian_cli/sdk/test/pytest.ini,sha256=uM552lJOoxWRplXtonIeo2v7M2kHZmJKis7OgnvoLxg,213
|
|
60
62
|
praetorian_cli/sdk/test/test_account.py,sha256=OHYiiD8Ks2aeFq3Y9btgxG51qLweubPlYY17Ec7qPWM,886
|
|
61
63
|
praetorian_cli/sdk/test/test_agent.py,sha256=I7-NcmsNyw-nLqbdzEUbTSfUTKVIrYOlo0pM5PZqe7o,997
|
|
62
|
-
praetorian_cli/sdk/test/test_asset.py,sha256=
|
|
64
|
+
praetorian_cli/sdk/test/test_asset.py,sha256=jcnSJxgnLhRgJ_cjkrlLQTlAYg3wruMsEInA3X8mOrg,5114
|
|
63
65
|
praetorian_cli/sdk/test/test_attribute.py,sha256=AwD_w488rKhc1mxTBwSJcItmhcIYHJHX5DjgQYE3uPo,1169
|
|
64
66
|
praetorian_cli/sdk/test/test_capabilities.py,sha256=HoAu_WFjqVkwciPgrLp5z0-UbkuqKdqD46jb_8o1PbM,407
|
|
65
67
|
praetorian_cli/sdk/test/test_configuration.py,sha256=ysyWpt7iq_tNkdvLU8gULCuwbXVqt2HMXgZpWLnWccg,2174
|
|
@@ -72,12 +74,13 @@ praetorian_cli/sdk/test/test_mcp.py,sha256=Ltg283j4Q12dcfCgUgDMKk6neRdDaThcndyyw
|
|
|
72
74
|
praetorian_cli/sdk/test/test_preseed.py,sha256=VhKSbSB6OmCYnVOrI6RDsYKBs1PekEuv0KOjbTt_k14,1186
|
|
73
75
|
praetorian_cli/sdk/test/test_risk.py,sha256=S428ZF9Sot6_F8vvXFL-1a5FxtmsFct4rBewTAgm0mE,1992
|
|
74
76
|
praetorian_cli/sdk/test/test_search.py,sha256=SB9Tgo_N3CCpfvla898oLB9IZyGK9Dju1r9REK6Wmek,1996
|
|
75
|
-
praetorian_cli/sdk/test/test_seed.py,sha256=
|
|
77
|
+
praetorian_cli/sdk/test/test_seed.py,sha256=WfnEPZwMXHFtt4jyVT-1JitIW1zTrl7rwlX8jXz22vY,1303
|
|
76
78
|
praetorian_cli/sdk/test/test_setting.py,sha256=hdPQj71rjSYxa-PODG2D-kJd8C9gkAg1jQXnqYU4P6A,1326
|
|
77
79
|
praetorian_cli/sdk/test/test_webhook.py,sha256=FQJY76QQ6Yg2iLCGpxgKiXGI8TtmB4zTpMIM2SpYKCc,2228
|
|
78
|
-
praetorian_cli/sdk/test/
|
|
80
|
+
praetorian_cli/sdk/test/test_webpage.py,sha256=jgKrsobD3ONibDIbbOT-yy7V_NmC5-LwEZmEYdYu0LI,1779
|
|
81
|
+
praetorian_cli/sdk/test/test_z_cli.py,sha256=2_cUOExQJOuTVJUdzBmZsQz9tgf6D8M_o2XEIW5-HQY,19234
|
|
79
82
|
praetorian_cli/sdk/test/ui_mocks.py,sha256=kiqAPxaM-_T0NQ-HgOZupNiUoJa5mE2CsyK2cXWiPws,4146
|
|
80
|
-
praetorian_cli/sdk/test/utils.py,sha256=
|
|
83
|
+
praetorian_cli/sdk/test/utils.py,sha256=svxMpzlaW4FRCij05cPgJFrTUEELVdt8G7SPKEdsgPo,3526
|
|
81
84
|
praetorian_cli/ui/__init__.py,sha256=wEgkrgIaoOguH1VVp2FndaGIxWmZ5CfAynXtNtZ6iTo,81
|
|
82
85
|
praetorian_cli/ui/aegis/__init__.py,sha256=1HE5aQ6C6Qruf1X-KmKvDw1M3lzaUbPZoz9QOp4Lofs,123
|
|
83
86
|
praetorian_cli/ui/aegis/constants.py,sha256=trr62uBwdBwm4LrFVms7_moThdtOPJi2uzCeIv4m3VU,578
|
|
@@ -90,9 +93,9 @@ praetorian_cli/ui/aegis/commands/job.py,sha256=BUcp47K-4PBIYq9nyUQTKhOakZwXM4fOf
|
|
|
90
93
|
praetorian_cli/ui/aegis/commands/list.py,sha256=puIiy0skYE59Q2hVSMsla1tKiYYAFTOaz8oPM17tCyI,352
|
|
91
94
|
praetorian_cli/ui/aegis/commands/set.py,sha256=ODa9u_6yW2dbKVQBuV9YeiS_ty_R_Xk_vPz7YrW3OWs,1101
|
|
92
95
|
praetorian_cli/ui/aegis/commands/ssh.py,sha256=KGsNlN0i-Cwp6gWyr-cjML9_L13oE7xFenysF2pC8Rc,3045
|
|
93
|
-
praetorian_cli-2.2.
|
|
94
|
-
praetorian_cli-2.2.
|
|
95
|
-
praetorian_cli-2.2.
|
|
96
|
-
praetorian_cli-2.2.
|
|
97
|
-
praetorian_cli-2.2.
|
|
98
|
-
praetorian_cli-2.2.
|
|
96
|
+
praetorian_cli-2.2.4.dist-info/licenses/LICENSE,sha256=Zv97QripiVALv-WokW_Elsiz9vtOfbtNt1aLZhhk67I,1067
|
|
97
|
+
praetorian_cli-2.2.4.dist-info/METADATA,sha256=Zfbe0aPsveflR-8qlRyKbgL6kC0_vx9RjQY1qZQmrtE,7751
|
|
98
|
+
praetorian_cli-2.2.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
99
|
+
praetorian_cli-2.2.4.dist-info/entry_points.txt,sha256=uJbDvZdkYaLiCh2DMvXPUGKFm2p5ZfzJCizUK3-PUEE,56
|
|
100
|
+
praetorian_cli-2.2.4.dist-info/top_level.txt,sha256=QbUdRPGEj_TyHO-E7AD5BxFfR8ore37i273jP4Gn43c,15
|
|
101
|
+
praetorian_cli-2.2.4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|