prelude-sdk 2.6.42__py3-none-any.whl → 2.6.43__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.
- prelude_sdk/controllers/iam_controller.py +17 -1
- prelude_sdk/controllers/probe_controller.py +4 -1
- prelude_sdk/models/codes.py +8 -0
- {prelude_sdk-2.6.42.dist-info → prelude_sdk-2.6.43.dist-info}/METADATA +1 -1
- {prelude_sdk-2.6.42.dist-info → prelude_sdk-2.6.43.dist-info}/RECORD +8 -8
- {prelude_sdk-2.6.42.dist-info → prelude_sdk-2.6.43.dist-info}/WHEEL +1 -1
- {prelude_sdk-2.6.42.dist-info → prelude_sdk-2.6.43.dist-info}/licenses/LICENSE +0 -0
- {prelude_sdk-2.6.42.dist-info → prelude_sdk-2.6.43.dist-info}/top_level.txt +0 -0
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import hashlib
|
|
2
|
+
import json
|
|
3
|
+
import os
|
|
4
|
+
|
|
1
5
|
from prelude_sdk.controllers.http_controller import HttpController
|
|
2
6
|
from prelude_sdk.models.account import verify_credentials
|
|
3
7
|
from prelude_sdk.models.codes import Control, Mode, Permission
|
|
@@ -142,10 +146,22 @@ class IAMAccountController(HttpController):
|
|
|
142
146
|
def sign_up(self, company, email, name):
|
|
143
147
|
"""(NOT AVAIABLE IN PRODUCTION) Create a new user and account"""
|
|
144
148
|
body = dict(company=company, email=email, name=name)
|
|
149
|
+
headers = dict(_product="py-sdk")
|
|
150
|
+
if token := os.getenv("SDKTOKEN"):
|
|
151
|
+
sig = hashlib.sha256(
|
|
152
|
+
f"{token}{json.dumps(body)}".encode("utf-8")
|
|
153
|
+
).hexdigest()
|
|
154
|
+
headers["x-sdk-sig"] = sig
|
|
145
155
|
|
|
146
156
|
res = self._session.post(
|
|
147
|
-
f"{self.account.hq}/iam/new_user_and_account",
|
|
157
|
+
f"{self.account.hq}/iam/new_user_and_account",
|
|
158
|
+
headers=headers,
|
|
159
|
+
json=body,
|
|
160
|
+
timeout=20,
|
|
148
161
|
)
|
|
162
|
+
if not res.ok:
|
|
163
|
+
raise Exception(res.text)
|
|
164
|
+
|
|
149
165
|
data = res.json()
|
|
150
166
|
if self.account.profile:
|
|
151
167
|
self.account.keychain.configure_keychain(
|
|
@@ -8,5 +8,8 @@ class ProbeController(HttpController):
|
|
|
8
8
|
|
|
9
9
|
def download(self, name: str, dos: str):
|
|
10
10
|
"""Download a probe executable"""
|
|
11
|
-
res = self.get(
|
|
11
|
+
res = self.get(
|
|
12
|
+
f"{self.account.hq}/download/{name}",
|
|
13
|
+
headers=dict(dos=dos, _product="py-sdk"),
|
|
14
|
+
)
|
|
12
15
|
return res.text
|
prelude_sdk/models/codes.py
CHANGED
|
@@ -191,6 +191,7 @@ class Control(Enum, metaclass=MissingItem):
|
|
|
191
191
|
CROWDSTRIKE_VULN = 31
|
|
192
192
|
DEFENDER_VULN = 32
|
|
193
193
|
NETSKOPE = 33
|
|
194
|
+
CUSTOM = 34
|
|
194
195
|
|
|
195
196
|
@classmethod
|
|
196
197
|
def _missing_(cls, value):
|
|
@@ -329,6 +330,13 @@ class ControlCategory(Enum, metaclass=MissingItem):
|
|
|
329
330
|
def _missing_(cls, value):
|
|
330
331
|
return ControlCategory.INVALID
|
|
331
332
|
|
|
333
|
+
@property
|
|
334
|
+
def scm_category(self):
|
|
335
|
+
for k, v in SCMCategory.category_mapping().items():
|
|
336
|
+
if self in v:
|
|
337
|
+
return k
|
|
338
|
+
return SCMCategory.NONE
|
|
339
|
+
|
|
332
340
|
@classmethod
|
|
333
341
|
def mapping(cls):
|
|
334
342
|
return {
|
|
@@ -5,16 +5,16 @@ prelude_sdk/controllers/detect_controller.py,sha256=SQO2cHHQFeqnFpdk68x_ctazKWYj
|
|
|
5
5
|
prelude_sdk/controllers/export_controller.py,sha256=rITSEId7OE3xik5WK2W7BQlPyzoDt8zZ3fKY1vMaLys,741
|
|
6
6
|
prelude_sdk/controllers/generate_controller.py,sha256=LJm0XAsz_JqGQSNWxCKk3NXv_HnCWutb19-CxSh4bng,1175
|
|
7
7
|
prelude_sdk/controllers/http_controller.py,sha256=TN9FrcTrY31znIumFu73oOEuyd5E5I-oD42ewpLQv84,3840
|
|
8
|
-
prelude_sdk/controllers/iam_controller.py,sha256=
|
|
8
|
+
prelude_sdk/controllers/iam_controller.py,sha256=mlvv-Yhp4yKPLp9GDsdz5Wu-xfWHkmk1wqZIIpUulzg,7072
|
|
9
9
|
prelude_sdk/controllers/jobs_controller.py,sha256=2INTCETApEGJTD6wJuJcG6-WO71Qm9_ofa-rn32bckw,1021
|
|
10
10
|
prelude_sdk/controllers/partner_controller.py,sha256=z4Z36vHctD5k3AOWi9xQOKR2on3RUyciQR4oyjQrHq0,4185
|
|
11
|
-
prelude_sdk/controllers/probe_controller.py,sha256=
|
|
11
|
+
prelude_sdk/controllers/probe_controller.py,sha256=jlNpXOki4gXuBIq5qWFp55f4RZ98743HJn-fAZRJ_zA,426
|
|
12
12
|
prelude_sdk/controllers/scm_controller.py,sha256=_uRiJgdXgD7Px5dwAXBspCRPjwznzAGuPwlORS92uy0,17541
|
|
13
13
|
prelude_sdk/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
14
|
prelude_sdk/models/account.py,sha256=dRKhX6_mrqDTyqyfIsvHFVavcedgZ5hZAIDYVF7YlZI,8962
|
|
15
|
-
prelude_sdk/models/codes.py,sha256=
|
|
16
|
-
prelude_sdk-2.6.
|
|
17
|
-
prelude_sdk-2.6.
|
|
18
|
-
prelude_sdk-2.6.
|
|
19
|
-
prelude_sdk-2.6.
|
|
20
|
-
prelude_sdk-2.6.
|
|
15
|
+
prelude_sdk/models/codes.py,sha256=XTYBnp9OJIv6JQbj8ydzuHEZeTKvPCGr8w_96GIQr8w,19979
|
|
16
|
+
prelude_sdk-2.6.43.dist-info/licenses/LICENSE,sha256=ttdT5omfN6LNmtQoIjUhkkFhz6i44SDMRNwKrbfyTf8,1069
|
|
17
|
+
prelude_sdk-2.6.43.dist-info/METADATA,sha256=wXPOzyWVUR_FMYF9PD6Yb_5IfF7MDXXQm5WO10-dvYo,1187
|
|
18
|
+
prelude_sdk-2.6.43.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
19
|
+
prelude_sdk-2.6.43.dist-info/top_level.txt,sha256=6O7C8nl-yK7FsVpsPaka_GV8PYy2uvAJtus8Tlzw4dE,12
|
|
20
|
+
prelude_sdk-2.6.43.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|