prelude-sdk 2.6.41__tar.gz → 2.6.43__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.
Files changed (34) hide show
  1. {prelude_sdk-2.6.41 → prelude_sdk-2.6.43}/PKG-INFO +1 -1
  2. {prelude_sdk-2.6.41 → prelude_sdk-2.6.43}/prelude_sdk/controllers/build_controller.py +2 -2
  3. {prelude_sdk-2.6.41 → prelude_sdk-2.6.43}/prelude_sdk/controllers/iam_controller.py +17 -1
  4. {prelude_sdk-2.6.41 → prelude_sdk-2.6.43}/prelude_sdk/controllers/probe_controller.py +4 -1
  5. {prelude_sdk-2.6.41 → prelude_sdk-2.6.43}/prelude_sdk/models/codes.py +8 -0
  6. {prelude_sdk-2.6.41 → prelude_sdk-2.6.43}/prelude_sdk.egg-info/PKG-INFO +1 -1
  7. {prelude_sdk-2.6.41 → prelude_sdk-2.6.43}/setup.cfg +1 -1
  8. {prelude_sdk-2.6.41 → prelude_sdk-2.6.43}/LICENSE +0 -0
  9. {prelude_sdk-2.6.41 → prelude_sdk-2.6.43}/README.md +0 -0
  10. {prelude_sdk-2.6.41 → prelude_sdk-2.6.43}/prelude_sdk/__init__.py +0 -0
  11. {prelude_sdk-2.6.41 → prelude_sdk-2.6.43}/prelude_sdk/controllers/__init__.py +0 -0
  12. {prelude_sdk-2.6.41 → prelude_sdk-2.6.43}/prelude_sdk/controllers/detect_controller.py +0 -0
  13. {prelude_sdk-2.6.41 → prelude_sdk-2.6.43}/prelude_sdk/controllers/export_controller.py +0 -0
  14. {prelude_sdk-2.6.41 → prelude_sdk-2.6.43}/prelude_sdk/controllers/generate_controller.py +0 -0
  15. {prelude_sdk-2.6.41 → prelude_sdk-2.6.43}/prelude_sdk/controllers/http_controller.py +0 -0
  16. {prelude_sdk-2.6.41 → prelude_sdk-2.6.43}/prelude_sdk/controllers/jobs_controller.py +0 -0
  17. {prelude_sdk-2.6.41 → prelude_sdk-2.6.43}/prelude_sdk/controllers/partner_controller.py +0 -0
  18. {prelude_sdk-2.6.41 → prelude_sdk-2.6.43}/prelude_sdk/controllers/scm_controller.py +0 -0
  19. {prelude_sdk-2.6.41 → prelude_sdk-2.6.43}/prelude_sdk/models/__init__.py +0 -0
  20. {prelude_sdk-2.6.41 → prelude_sdk-2.6.43}/prelude_sdk/models/account.py +0 -0
  21. {prelude_sdk-2.6.41 → prelude_sdk-2.6.43}/prelude_sdk.egg-info/SOURCES.txt +0 -0
  22. {prelude_sdk-2.6.41 → prelude_sdk-2.6.43}/prelude_sdk.egg-info/dependency_links.txt +0 -0
  23. {prelude_sdk-2.6.41 → prelude_sdk-2.6.43}/prelude_sdk.egg-info/requires.txt +0 -0
  24. {prelude_sdk-2.6.41 → prelude_sdk-2.6.43}/prelude_sdk.egg-info/top_level.txt +0 -0
  25. {prelude_sdk-2.6.41 → prelude_sdk-2.6.43}/pyproject.toml +0 -0
  26. {prelude_sdk-2.6.41 → prelude_sdk-2.6.43}/tests/test_build.py +0 -0
  27. {prelude_sdk-2.6.41 → prelude_sdk-2.6.43}/tests/test_detect.py +0 -0
  28. {prelude_sdk-2.6.41 → prelude_sdk-2.6.43}/tests/test_generate.py +0 -0
  29. {prelude_sdk-2.6.41 → prelude_sdk-2.6.43}/tests/test_iam.py +0 -0
  30. {prelude_sdk-2.6.41 → prelude_sdk-2.6.43}/tests/test_partner.py +0 -0
  31. {prelude_sdk-2.6.41 → prelude_sdk-2.6.43}/tests/test_probe.py +0 -0
  32. {prelude_sdk-2.6.41 → prelude_sdk-2.6.43}/tests/test_scm.py +0 -0
  33. {prelude_sdk-2.6.41 → prelude_sdk-2.6.43}/tests/test_scm_build.py +0 -0
  34. {prelude_sdk-2.6.41 → prelude_sdk-2.6.43}/tests/testutils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: prelude-sdk
3
- Version: 2.6.41
3
+ Version: 2.6.43
4
4
  Summary: For interacting with the Prelude API
5
5
  Home-page: https://github.com/preludeorg
6
6
  Author: Prelude Research
@@ -75,8 +75,8 @@ class BuildController(HttpController):
75
75
  @verify_credentials
76
76
  def upload(self, test_id, filename, data, skip_compile=False):
77
77
  """Upload a test or attachment"""
78
- if len(data) > 1000000:
79
- raise ValueError(f"File size must be under 1MB ({filename})")
78
+ if len(data) > 3145728:
79
+ raise ValueError(f"File size must be under 3MB ({filename})")
80
80
 
81
81
  h = self.account.headers | {"Content-Type": "application/octet-stream"}
82
82
  query_params = ""
@@ -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", json=body, timeout=20
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(f"{self.account.hq}/download/{name}", headers=dict(dos=dos))
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
@@ -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 {
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: prelude-sdk
3
- Version: 2.6.41
3
+ Version: 2.6.43
4
4
  Summary: For interacting with the Prelude API
5
5
  Home-page: https://github.com/preludeorg
6
6
  Author: Prelude Research
@@ -1,6 +1,6 @@
1
1
  [metadata]
2
2
  name = prelude-sdk
3
- version = 2.6.41
3
+ version = 2.6.43
4
4
  author = Prelude Research
5
5
  author_email = support@preludesecurity.com
6
6
  description = For interacting with the Prelude API
File without changes
File without changes