prelude-cli-beta 1396__py3-none-any.whl → 1397__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.
Potentially problematic release.
This version of prelude-cli-beta might be problematic. Click here for more details.
- {prelude_cli → prelude_cli_beta}/cli.py +10 -10
- {prelude_cli → prelude_cli_beta}/views/auth.py +1 -1
- {prelude_cli → prelude_cli_beta}/views/build.py +4 -4
- {prelude_cli → prelude_cli_beta}/views/detect.py +4 -4
- {prelude_cli → prelude_cli_beta}/views/generate.py +3 -3
- {prelude_cli → prelude_cli_beta}/views/iam.py +3 -3
- {prelude_cli → prelude_cli_beta}/views/jobs.py +3 -3
- {prelude_cli → prelude_cli_beta}/views/partner.py +3 -3
- {prelude_cli → prelude_cli_beta}/views/scm.py +14 -6
- {prelude_cli_beta-1396.dist-info → prelude_cli_beta-1397.dist-info}/METADATA +2 -2
- prelude_cli_beta-1397.dist-info/RECORD +20 -0
- {prelude_cli_beta-1396.dist-info → prelude_cli_beta-1397.dist-info}/entry_points.txt +1 -0
- prelude_cli_beta-1397.dist-info/top_level.txt +1 -0
- prelude_cli/templates/README.md +0 -28
- prelude_cli/templates/template.go +0 -24
- prelude_cli_beta-1396.dist-info/RECORD +0 -22
- prelude_cli_beta-1396.dist-info/top_level.txt +0 -1
- {prelude_cli → prelude_cli_beta}/__init__.py +0 -0
- {prelude_cli → prelude_cli_beta}/templates/__init__.py +0 -0
- {prelude_cli → prelude_cli_beta}/views/__init__.py +0 -0
- {prelude_cli → prelude_cli_beta}/views/configure.py +0 -0
- {prelude_cli → prelude_cli_beta}/views/shared.py +0 -0
- {prelude_cli_beta-1396.dist-info → prelude_cli_beta-1397.dist-info}/WHEEL +0 -0
- {prelude_cli_beta-1396.dist-info → prelude_cli_beta-1397.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import click
|
|
2
2
|
|
|
3
|
-
from
|
|
4
|
-
from
|
|
5
|
-
from
|
|
6
|
-
from
|
|
7
|
-
from
|
|
8
|
-
from
|
|
9
|
-
from
|
|
10
|
-
from
|
|
11
|
-
from
|
|
12
|
-
from
|
|
3
|
+
from prelude_cli_beta.views.auth import auth
|
|
4
|
+
from prelude_cli_beta.views.build import build
|
|
5
|
+
from prelude_cli_beta.views.configure import configure
|
|
6
|
+
from prelude_cli_beta.views.detect import detect
|
|
7
|
+
from prelude_cli_beta.views.generate import generate
|
|
8
|
+
from prelude_cli_beta.views.iam import iam
|
|
9
|
+
from prelude_cli_beta.views.jobs import jobs
|
|
10
|
+
from prelude_cli_beta.views.partner import partner
|
|
11
|
+
from prelude_cli_beta.views.scm import scm
|
|
12
|
+
from prelude_sdk_beta.models.account import Account, Keychain
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
def complete_profile(ctx, param, incomplete):
|
|
@@ -8,10 +8,10 @@ from pathlib import Path, PurePath
|
|
|
8
8
|
|
|
9
9
|
import click
|
|
10
10
|
|
|
11
|
-
import
|
|
12
|
-
from
|
|
13
|
-
from
|
|
14
|
-
from
|
|
11
|
+
import prelude_cli_beta.templates as templates
|
|
12
|
+
from prelude_cli_beta.views.shared import Spinner, pretty_print
|
|
13
|
+
from prelude_sdk_beta.controllers.build_controller import BuildController
|
|
14
|
+
from prelude_sdk_beta.models.codes import Control, EDRResponse
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
UUID = re.compile(
|
|
@@ -6,10 +6,10 @@ from datetime import datetime, time, timedelta, timezone
|
|
|
6
6
|
from dateutil.parser import parse
|
|
7
7
|
from pathlib import Path, PurePath
|
|
8
8
|
|
|
9
|
-
from
|
|
10
|
-
from
|
|
11
|
-
from
|
|
12
|
-
from
|
|
9
|
+
from prelude_cli_beta.views.shared import Spinner, pretty_print
|
|
10
|
+
from prelude_sdk_beta.controllers.detect_controller import DetectController
|
|
11
|
+
from prelude_sdk_beta.controllers.iam_controller import IAMAccountController
|
|
12
|
+
from prelude_sdk_beta.models.codes import Control, RunCode
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
@click.group()
|
|
@@ -3,9 +3,9 @@ import os
|
|
|
3
3
|
|
|
4
4
|
import click
|
|
5
5
|
|
|
6
|
-
from
|
|
7
|
-
from
|
|
8
|
-
from
|
|
6
|
+
from prelude_cli_beta.views.shared import Spinner, pretty_print
|
|
7
|
+
from prelude_sdk_beta.controllers.generate_controller import GenerateController
|
|
8
|
+
from prelude_sdk_beta.models.codes import Control
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
@click.group()
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import click
|
|
2
2
|
|
|
3
|
-
from
|
|
4
|
-
from
|
|
3
|
+
from prelude_cli_beta.views.shared import Spinner, pretty_print
|
|
4
|
+
from prelude_sdk_beta.controllers.iam_controller import (
|
|
5
5
|
IAMAccountController,
|
|
6
6
|
IAMUserController,
|
|
7
7
|
)
|
|
8
|
-
from
|
|
8
|
+
from prelude_sdk_beta.models.codes import Mode, Permission
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
@click.group()
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import click
|
|
2
2
|
|
|
3
|
-
from
|
|
4
|
-
from
|
|
5
|
-
from
|
|
3
|
+
from prelude_cli_beta.views.shared import Spinner, pretty_print
|
|
4
|
+
from prelude_sdk_beta.controllers.jobs_controller import JobsController
|
|
5
|
+
from prelude_sdk_beta.models.codes import BackgroundJobTypes
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
@click.group()
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import click
|
|
2
2
|
|
|
3
|
-
from
|
|
4
|
-
from
|
|
5
|
-
from
|
|
3
|
+
from prelude_cli_beta.views.shared import Spinner, pretty_print
|
|
4
|
+
from prelude_sdk_beta.controllers.partner_controller import PartnerController
|
|
5
|
+
from prelude_sdk_beta.models.codes import Control
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
@click.group()
|
|
@@ -2,11 +2,11 @@ import click
|
|
|
2
2
|
import requests
|
|
3
3
|
from time import sleep
|
|
4
4
|
|
|
5
|
-
from
|
|
6
|
-
from
|
|
7
|
-
from
|
|
8
|
-
from
|
|
9
|
-
from
|
|
5
|
+
from prelude_cli_beta.views.shared import Spinner, pretty_print
|
|
6
|
+
from prelude_sdk_beta.controllers.export_controller import ExportController
|
|
7
|
+
from prelude_sdk_beta.controllers.jobs_controller import JobsController
|
|
8
|
+
from prelude_sdk_beta.controllers.scm_controller import ScmController
|
|
9
|
+
from prelude_sdk_beta.models.codes import (
|
|
10
10
|
Control,
|
|
11
11
|
ControlCategory,
|
|
12
12
|
PartnerEvents,
|
|
@@ -356,7 +356,7 @@ def parse_from_partner_advisory(controller, partner, advisory_id):
|
|
|
356
356
|
)
|
|
357
357
|
|
|
358
358
|
|
|
359
|
-
@scm.command("
|
|
359
|
+
@scm.command("notifications")
|
|
360
360
|
@click.pass_obj
|
|
361
361
|
@pretty_print
|
|
362
362
|
def list_notifications(controller):
|
|
@@ -469,3 +469,11 @@ def upsert_notification(
|
|
|
469
469
|
teams_urls=teams_urls.split(",") if teams_urls else None,
|
|
470
470
|
title=title,
|
|
471
471
|
)
|
|
472
|
+
|
|
473
|
+
@scm.command("notations")
|
|
474
|
+
@click.pass_obj
|
|
475
|
+
@pretty_print
|
|
476
|
+
def list_notations(controller):
|
|
477
|
+
"""List all notations"""
|
|
478
|
+
with Spinner("Fetching notations"):
|
|
479
|
+
return controller.list_notations()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: prelude-cli-beta
|
|
3
|
-
Version:
|
|
3
|
+
Version: 1397
|
|
4
4
|
Summary: For interacting with the Prelude SDK
|
|
5
5
|
Home-page: https://github.com/preludeorg
|
|
6
6
|
Author: Prelude Research
|
|
@@ -11,7 +11,7 @@ Classifier: Operating System :: OS Independent
|
|
|
11
11
|
Requires-Python: >=3.10
|
|
12
12
|
Description-Content-Type: text/markdown
|
|
13
13
|
License-File: LICENSE
|
|
14
|
-
Requires-Dist: prelude-sdk==
|
|
14
|
+
Requires-Dist: prelude-sdk-beta==1397
|
|
15
15
|
Requires-Dist: click>8
|
|
16
16
|
Requires-Dist: rich
|
|
17
17
|
Requires-Dist: python-dateutil
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
prelude_cli_beta/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
prelude_cli_beta/cli.py,sha256=FiBYXVT0_Ft6sTAlB00tMfGsRdSHhnNnm0dHWZ06VMU,1289
|
|
3
|
+
prelude_cli_beta/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
+
prelude_cli_beta/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
|
+
prelude_cli_beta/views/auth.py,sha256=W-Bc6p3CXpHiQXJCQ4FoB3SdB9xIoeJlV4WMUezSBZ4,1864
|
|
6
|
+
prelude_cli_beta/views/build.py,sha256=olBRS2zjqxkvXKFmWLbqjKbbP_MDkwyjeAimHGRyfvw,16508
|
|
7
|
+
prelude_cli_beta/views/configure.py,sha256=saj0kR9mQqBp7cCmq-yfEr3UwZCZIV1vL8WDQLDAO7o,991
|
|
8
|
+
prelude_cli_beta/views/detect.py,sha256=jhx38nTRjZwxPAN4QbjyMkmk1mZDqZGh4uKPyG_FZ1s,13012
|
|
9
|
+
prelude_cli_beta/views/generate.py,sha256=hfrlmRkb6aSo4LPaPVLhTRUFm8cxZwDqTEjLEPMlBMU,4679
|
|
10
|
+
prelude_cli_beta/views/iam.py,sha256=J8y6kJGbQkEexcia69q6vLJ3aEhLyUFteCylTptBHBQ,10013
|
|
11
|
+
prelude_cli_beta/views/jobs.py,sha256=2FeiJxHrw4zfgtUJq_bEoG84i_9TqZ5w6CulA80WoNA,1455
|
|
12
|
+
prelude_cli_beta/views/partner.py,sha256=16zXcX5ZhiNZqKSXG9ePPGB9K3A-OgrVIdJGDJhB6f0,6379
|
|
13
|
+
prelude_cli_beta/views/scm.py,sha256=7FDwGj56g0CX2CLGo4sqyN35Vk72EkiGiAlmSW2RVec,14221
|
|
14
|
+
prelude_cli_beta/views/shared.py,sha256=ZKvY8N1Vi6RtEbJli5PDzJ9R6L_bX2F27n1tm6Knvgs,1101
|
|
15
|
+
prelude_cli_beta-1397.dist-info/licenses/LICENSE,sha256=ttdT5omfN6LNmtQoIjUhkkFhz6i44SDMRNwKrbfyTf8,1069
|
|
16
|
+
prelude_cli_beta-1397.dist-info/METADATA,sha256=iRSW2mVy-hUHI8DterbeMMTI7CzXBuLdnzGOtTXgL4c,993
|
|
17
|
+
prelude_cli_beta-1397.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
18
|
+
prelude_cli_beta-1397.dist-info/entry_points.txt,sha256=WowrC6fz2D6S8S-5OY0g-bxUGGSZZ_Z6KzSXXd34pC4,88
|
|
19
|
+
prelude_cli_beta-1397.dist-info/top_level.txt,sha256=j50aCGsQamLMiQh9PcolDBCAeUJzi9y08e0i9Gqshkk,17
|
|
20
|
+
prelude_cli_beta-1397.dist-info/RECORD,,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
prelude_cli_beta
|
prelude_cli/templates/README.md
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
# $NAME
|
|
2
|
-
|
|
3
|
-
This section should describe the test, provide some background information (such as historical in-the-wild usage by threat actors or APTs), and briefly illustrate the test's intention, objective, and techniques utilized to achieve them. This section should NOT be too technical or overly long; a small paragraph should be sufficient.
|
|
4
|
-
|
|
5
|
-
## How
|
|
6
|
-
|
|
7
|
-
> Safety: This section should contain an advisory statement that positively declares that the VST does not negatively affect the tested system in any way.
|
|
8
|
-
|
|
9
|
-
Steps:
|
|
10
|
-
|
|
11
|
-
1. This section enumerates the individual, atomic steps by which ...
|
|
12
|
-
2. ... the probe attempts to achieve the intended effect of the test ...
|
|
13
|
-
3. ... and thereby perform evaluation of any resident security solutions.
|
|
14
|
-
|
|
15
|
-
Example Output:
|
|
16
|
-
```bash
|
|
17
|
-
[$ID] Starting test at: $TIME
|
|
18
|
-
[$ID] Host is vulnerable, continuing with technique execution
|
|
19
|
-
[$ID] Completed with code: 101
|
|
20
|
-
[$ID] Ending test at: $TIME
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
## Resolution
|
|
24
|
-
|
|
25
|
-
If this test fails:
|
|
26
|
-
|
|
27
|
-
* Bulleted list of recommendations that the testing organization SHOULD consider ...
|
|
28
|
-
* ... based upon the nature of the test, as well as the point of failure.
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
ID: $ID
|
|
3
|
-
NAME: $NAME
|
|
4
|
-
TECHNIQUE: $TECHNIQUE
|
|
5
|
-
UNIT: $UNIT
|
|
6
|
-
CREATED: $TIME
|
|
7
|
-
*/
|
|
8
|
-
package main
|
|
9
|
-
|
|
10
|
-
import (
|
|
11
|
-
Endpoint "github.com/preludeorg/libraries/go/tests/endpoint"
|
|
12
|
-
)
|
|
13
|
-
|
|
14
|
-
func test() {
|
|
15
|
-
Endpoint.Stop(Endpoint.TestCompletedNormally)
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
func clean() {
|
|
19
|
-
Endpoint.Say("Cleaning up")
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
func main() {
|
|
23
|
-
Endpoint.Start(test, clean)
|
|
24
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
prelude_cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
prelude_cli/cli.py,sha256=uxX3WkgjEu7gSSFVtcPA-sCPoaS-2L81OfKveM3ia2I,1239
|
|
3
|
-
prelude_cli/templates/README.md,sha256=uSrjMIA4dmO5gNu_KvZHVOL0gdm39nL6OJQQT8L-zhg,1120
|
|
4
|
-
prelude_cli/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
|
-
prelude_cli/templates/template.go,sha256=1HAYJmM842MjiH_hnXtYMHYAuqZES4njWa4dtbZ9A_0,319
|
|
6
|
-
prelude_cli/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
|
-
prelude_cli/views/auth.py,sha256=frbmcuQhVFRLibQBJEDppiRPdDBjGHCycUEaqIIkIhE,1859
|
|
8
|
-
prelude_cli/views/build.py,sha256=casUGNyvBvE8uM9Cw1PjGQUFqLb1Rg29d_ZbZOPmmhw,16488
|
|
9
|
-
prelude_cli/views/configure.py,sha256=saj0kR9mQqBp7cCmq-yfEr3UwZCZIV1vL8WDQLDAO7o,991
|
|
10
|
-
prelude_cli/views/detect.py,sha256=sHc2P4kqZwrnlfxCP6JI1PjWQ3Hzky4xeNWFlZDZNWs,12992
|
|
11
|
-
prelude_cli/views/generate.py,sha256=xSy0TN6wtUV5_rDolPdPPI0dp5wZC9nxhmLG0YVLc70,4664
|
|
12
|
-
prelude_cli/views/iam.py,sha256=Q8Q4vWxpTRWtbXBUMeIDWT69UklihrFdtVpHaJTwGPU,9998
|
|
13
|
-
prelude_cli/views/jobs.py,sha256=8F6BiPoYj3LADHa8gpbbrd2eVLetsI1g-N98i8AyPq8,1440
|
|
14
|
-
prelude_cli/views/partner.py,sha256=MlcqOVDANtwBHUqGD-nROEGmptb6741HPUcFU6RF_as,6364
|
|
15
|
-
prelude_cli/views/scm.py,sha256=4x5EwP0HyuiOe_Lops8qCTX52pj1y7mTGbc11FbWZHM,14000
|
|
16
|
-
prelude_cli/views/shared.py,sha256=ZKvY8N1Vi6RtEbJli5PDzJ9R6L_bX2F27n1tm6Knvgs,1101
|
|
17
|
-
prelude_cli_beta-1396.dist-info/licenses/LICENSE,sha256=ttdT5omfN6LNmtQoIjUhkkFhz6i44SDMRNwKrbfyTf8,1069
|
|
18
|
-
prelude_cli_beta-1396.dist-info/METADATA,sha256=cLFF1BmGd_ItOlnO-9kp_e0q5weQVMjfHohXJFNYAUo,995
|
|
19
|
-
prelude_cli_beta-1396.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
20
|
-
prelude_cli_beta-1396.dist-info/entry_points.txt,sha256=EcHxlP45Wb60ThfVcsNSEAmWdy-chL_1crJKR_9a3uU,48
|
|
21
|
-
prelude_cli_beta-1396.dist-info/top_level.txt,sha256=tPjI9IbMelcZ6RUw_gqloIqK_C2yr7NJ6v6mI88xwHM,12
|
|
22
|
-
prelude_cli_beta-1396.dist-info/RECORD,,
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
prelude_cli
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|