contentctl 4.2.4__py3-none-any.whl → 4.2.5__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.
- contentctl/actions/initialize.py +3 -2
- contentctl/contentctl.py +4 -1
- contentctl/objects/correlation_search.py +6 -2
- contentctl/output/conf_output.py +2 -9
- contentctl/templates/README.md +10 -0
- {contentctl-4.2.4.dist-info → contentctl-4.2.5.dist-info}/METADATA +2 -2
- {contentctl-4.2.4.dist-info → contentctl-4.2.5.dist-info}/RECORD +10 -10
- contentctl/templates/README +0 -2
- {contentctl-4.2.4.dist-info → contentctl-4.2.5.dist-info}/LICENSE.md +0 -0
- {contentctl-4.2.4.dist-info → contentctl-4.2.5.dist-info}/WHEEL +0 -0
- {contentctl-4.2.4.dist-info → contentctl-4.2.5.dist-info}/entry_points.txt +0 -0
contentctl/actions/initialize.py
CHANGED
|
@@ -37,8 +37,9 @@ class Initialize:
|
|
|
37
37
|
#Throw an exception if the target exists
|
|
38
38
|
shutil.copytree(source_directory, target_directory, dirs_exist_ok=False)
|
|
39
39
|
|
|
40
|
-
#Create
|
|
41
|
-
|
|
40
|
+
# Create a README.md file. Note that this is the README.md for the repository, not the
|
|
41
|
+
# one which will actually be packaged into the app. That is located in the app_template folder.
|
|
42
|
+
shutil.copyfile(pathlib.Path(os.path.dirname(__file__))/'../templates/README.md','README.md')
|
|
42
43
|
|
|
43
44
|
|
|
44
45
|
print(f"The app '{config.app.title}' has been initialized. "
|
contentctl/contentctl.py
CHANGED
|
@@ -104,8 +104,12 @@ class TimeoutConfig(int, Enum):
|
|
|
104
104
|
# base amount to sleep for before beginning exponential backoff during testing
|
|
105
105
|
BASE_SLEEP = 60
|
|
106
106
|
|
|
107
|
-
#
|
|
108
|
-
|
|
107
|
+
# NOTE: Some detections take longer to generate their risk/notables than other; testing has
|
|
108
|
+
# shown 270s to likely be sufficient for all detections in 99% of runs; however we have
|
|
109
|
+
# encountered a handful of transient failures in the last few months. Since our success rate
|
|
110
|
+
# is at 100% now, we will round this to a flat 300s to accomodate these outliers.
|
|
111
|
+
# Max amount to wait before timing out during exponential backoff
|
|
112
|
+
MAX_SLEEP = 300
|
|
109
113
|
|
|
110
114
|
|
|
111
115
|
# TODO (#226): evaluate sane defaults for timeframe for integration testing (e.g. 5y is good
|
contentctl/output/conf_output.py
CHANGED
|
@@ -169,15 +169,8 @@ class ConfOutput:
|
|
|
169
169
|
|
|
170
170
|
def packageAppSlim(self) -> None:
|
|
171
171
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
# readme_file = pathlib.Path("README")
|
|
176
|
-
# if not readme_file.is_file():
|
|
177
|
-
# raise Exception("The README file does not exist in this directory. Cannot build app.")
|
|
178
|
-
# shutil.copyfile(readme_file, input_app_path/readme_file.name)
|
|
179
|
-
|
|
180
|
-
|
|
172
|
+
raise Exception("Packaging with splunk-packaging-toolkit not currently supported as slim only supports Python 3.7. "
|
|
173
|
+
"Please raise an issue in the contentctl GitHub if you encounter this exception.")
|
|
181
174
|
try:
|
|
182
175
|
import slim
|
|
183
176
|
from slim.utils import SlimLogger
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Contentctl App Readme
|
|
2
|
+
|
|
3
|
+
This README file was automatically created by contentctl init.
|
|
4
|
+
Please fill it with meaningful information that describes your app.
|
|
5
|
+
|
|
6
|
+
Note that this file can contain Markdown and will be richly rendered in GitHub or most other Version Control Systems.
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
Note: This readme file is actually DIFFERENT from the one that will be packaged as part of your App.
|
|
10
|
+
That file is located at app_template/README.md.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: contentctl
|
|
3
|
-
Version: 4.2.
|
|
3
|
+
Version: 4.2.5
|
|
4
4
|
Summary: Splunk Content Control Tool
|
|
5
5
|
License: Apache 2.0
|
|
6
6
|
Author: STRT
|
|
@@ -12,7 +12,7 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
12
12
|
Classifier: Programming Language :: Python :: 3.12
|
|
13
13
|
Requires-Dist: Jinja2 (>=3.1.4,<4.0.0)
|
|
14
14
|
Requires-Dist: PyYAML (>=6.0.1,<7.0.0)
|
|
15
|
-
Requires-Dist: attackcti (>=0.3.7,<0.
|
|
15
|
+
Requires-Dist: attackcti (>=0.3.7,<0.5.0)
|
|
16
16
|
Requires-Dist: bottle (>=0.12.25,<0.13.0)
|
|
17
17
|
Requires-Dist: docker (>=7.1.0,<8.0.0)
|
|
18
18
|
Requires-Dist: gitpython (>=3.1.43,<4.0.0)
|
|
@@ -14,7 +14,7 @@ contentctl/actions/detection_testing/views/DetectionTestingViewCLI.py,sha256=Mos
|
|
|
14
14
|
contentctl/actions/detection_testing/views/DetectionTestingViewFile.py,sha256=OJgmQgoVnzy7p1MN9bDyKGUhFWKzQc6ejc4F87uZG1I,1123
|
|
15
15
|
contentctl/actions/detection_testing/views/DetectionTestingViewWeb.py,sha256=6mecacXFoTJxcHiRZSnlHos5Hca1jdedEEZfiIAhaJg,4706
|
|
16
16
|
contentctl/actions/doc_gen.py,sha256=YNc1VYA0ikL1hWDHYjfEOmUkfhy8PEIdvTyC4ZLxQRY,863
|
|
17
|
-
contentctl/actions/initialize.py,sha256=
|
|
17
|
+
contentctl/actions/initialize.py,sha256=Ifi13REBwQyUfCHma6IzjM_Z8uYEZ3Qz8kmP0WIFbJQ,1975
|
|
18
18
|
contentctl/actions/initialize_old.py,sha256=0qXbW_fNDvkcnEeL6Zpte8d-hpTu1REyzHsXOCY-YB8,9333
|
|
19
19
|
contentctl/actions/inspect.py,sha256=6gVVKmV5CUUYOkNNVTMPKj9bM1uXVthgGCoFKZGDeS8,12628
|
|
20
20
|
contentctl/actions/new_content.py,sha256=o5ZYBQ216RN6TnW_wRxVGJybx2SsJ7ht4PAi1dw45Yg,6076
|
|
@@ -23,7 +23,7 @@ contentctl/actions/reporting.py,sha256=MJEmvmoA1WnSFZEU9QM6daL_W94oOX0WXAcX1qAM2
|
|
|
23
23
|
contentctl/actions/test.py,sha256=dx7f750_MrlvysxOmOdIro1bH0iVKF4K54TSwhvU2MU,5146
|
|
24
24
|
contentctl/actions/validate.py,sha256=2iFhyhh_LXyMAXtkxnYai7CONSVx4Hb8RftEs_Z_7mI,5649
|
|
25
25
|
contentctl/api.py,sha256=FBOpRhbBCBdjORmwe_8MPQ3PRZ6T0KrrFcfKovVFkug,6343
|
|
26
|
-
contentctl/contentctl.py,sha256=
|
|
26
|
+
contentctl/contentctl.py,sha256=SxWFMYquSYQAATrTBpvfj4j5DRedsOF2xO96ASs74wA,10505
|
|
27
27
|
contentctl/enrichments/attack_enrichment.py,sha256=dVwXcULSeZJuQbeTlPpKDyEB9Y6uCy0UGWI83gPLTI0,6735
|
|
28
28
|
contentctl/enrichments/cve_enrichment.py,sha256=SjiytaZktVNbfICXcZ2vZzBiQpOkug5taPtiJK-S1OE,2313
|
|
29
29
|
contentctl/enrichments/splunk_app_enrichment.py,sha256=zDNHFLZTi2dJ1gdnh0sHkD6F1VtkblqFnhacFcCMBfc,3418
|
|
@@ -47,7 +47,7 @@ contentctl/objects/baseline.py,sha256=Lb1vJKtDdlDrzWgrdkC9oQao_TnRrOxSwOWHf4trta
|
|
|
47
47
|
contentctl/objects/baseline_tags.py,sha256=fVhLF-NmisavybB_idu3N0Con0Ymj8clKfRMkWzBB-k,1762
|
|
48
48
|
contentctl/objects/config.py,sha256=ha18aqKmkYqAvM8YI124q6JYxesYRon9rc0NMWFzCS4,43762
|
|
49
49
|
contentctl/objects/constants.py,sha256=1LjiK9A7t0aHHkJz2mrW-DImdW1P98GPssTwmwNNI_M,3468
|
|
50
|
-
contentctl/objects/correlation_search.py,sha256=
|
|
50
|
+
contentctl/objects/correlation_search.py,sha256=QZp1u-dwTZl9hkUOlJdHQ9h4Hp2bDHWWCKtrp3mvIUY,48310
|
|
51
51
|
contentctl/objects/data_source.py,sha256=aRr6lHu-EtGmi6J2nXKD7i2ozUPtp7X-vDkQiutvD3I,1545
|
|
52
52
|
contentctl/objects/deployment.py,sha256=Qc6M4yeOvxjqFKR8sfjd4CG06AbVheTOqP1mwqo4t8s,2651
|
|
53
53
|
contentctl/objects/deployment_email.py,sha256=Zu9cXZdfOP6noa_mZpiK1GrYCTgi3Mim94iLGjE674c,147
|
|
@@ -93,7 +93,7 @@ contentctl/output/api_json_output.py,sha256=n3OTd5z-Vkmsn7ny6QCAar_jSMNuuJfzAQa7
|
|
|
93
93
|
contentctl/output/attack_nav_output.py,sha256=95iKV8U9BMMgqh6cCOw1S89Ln73xmJGgJPHTYR0L7hA,2304
|
|
94
94
|
contentctl/output/attack_nav_writer.py,sha256=64ILZLmNbh2XLmbopgENkeo6t-4SRRG8xZXBmtpNd4g,2219
|
|
95
95
|
contentctl/output/ba_yml_output.py,sha256=Lrk13Q9-f71i3c0oNrT50G94PxdogG4k4-MI-rTMOAo,5950
|
|
96
|
-
contentctl/output/conf_output.py,sha256=
|
|
96
|
+
contentctl/output/conf_output.py,sha256=7HcHM9pJLNnan1Kq_7ozvs5iOgfzqdKbO6gwxUZJVnc,9994
|
|
97
97
|
contentctl/output/conf_writer.py,sha256=2TaCAPEtU-bMa7A2m7xOxh93PMpzIdhwiHiPLUCeCB4,8281
|
|
98
98
|
contentctl/output/data_source_writer.py,sha256=ubFjm6XJ4T2d3oqfKwDFasITHeDj3HFmegqVN--5_ME,1635
|
|
99
99
|
contentctl/output/detection_writer.py,sha256=AzxbssNLmsNIOaYKotew5-ONoyq1cQpKSGy3pe191B0,960
|
|
@@ -133,7 +133,7 @@ contentctl/output/templates/transforms.j2,sha256=-cSoie0LgJwibtW-GMhc9BQlmS6h1s1
|
|
|
133
133
|
contentctl/output/templates/workflow_actions.j2,sha256=DFoZVnCa8dMRHjW2AdpoydBC0THgiH_W-Nx7WI4-uR4,925
|
|
134
134
|
contentctl/output/yml_output.py,sha256=xtTD3f_WWy8O6Joi4S8gG9paot8JpQFRlwt17_ek5B4,2682
|
|
135
135
|
contentctl/output/yml_writer.py,sha256=zZJ3aK-l0YQXbDweS-XZKejHblyhy2eliSthZZEogUs,1668
|
|
136
|
-
contentctl/templates/README,sha256=
|
|
136
|
+
contentctl/templates/README.md,sha256=GoRmywUqwnjaehY_GLmGqxsFXCLP9plpDYwB6W6nVPs,428
|
|
137
137
|
contentctl/templates/app_default.yml,sha256=kDeYdJbfMADQPcho8iH1nqgTFrHNt4EXnIJjPHc2unI,6390
|
|
138
138
|
contentctl/templates/app_template/README/essoc_story_detail.txt,sha256=7hFPBfPpRH28TFl7QchKceZLewQqgFjRWDlmxZzwpmo,897
|
|
139
139
|
contentctl/templates/app_template/README/essoc_summary.txt,sha256=u6wYNYBqmmm7Kn_g_Uex8rRzMQ995MUXCavla95Y1dw,2538
|
|
@@ -169,8 +169,8 @@ contentctl/templates/detections/web/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRk
|
|
|
169
169
|
contentctl/templates/macros/security_content_ctime.yml,sha256=Gg1YNllHVsX_YB716H1SJLWzxXZEfuJlnsgB2fuyoHU,159
|
|
170
170
|
contentctl/templates/macros/security_content_summariesonly.yml,sha256=9BYUxAl2E4Nwh8K19F3AJS8Ka7ceO6ZDBjFiO3l3LY0,162
|
|
171
171
|
contentctl/templates/stories/cobalt_strike.yml,sha256=rlaXxMN-5k8LnKBLPafBoksyMtlmsPMHPJOjTiMiZ-M,3063
|
|
172
|
-
contentctl-4.2.
|
|
173
|
-
contentctl-4.2.
|
|
174
|
-
contentctl-4.2.
|
|
175
|
-
contentctl-4.2.
|
|
176
|
-
contentctl-4.2.
|
|
172
|
+
contentctl-4.2.5.dist-info/LICENSE.md,sha256=hQWUayRk-pAiOZbZnuy8djmoZkjKBx8MrCFpW-JiOgo,11344
|
|
173
|
+
contentctl-4.2.5.dist-info/METADATA,sha256=AKuXizf44e0rPSDHXX6viX88kBtY4M8RMh01jOEucqU,19386
|
|
174
|
+
contentctl-4.2.5.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
175
|
+
contentctl-4.2.5.dist-info/entry_points.txt,sha256=5bjZ2NkbQfSwK47uOnA77yCtjgXhvgxnmCQiynRF_-U,57
|
|
176
|
+
contentctl-4.2.5.dist-info/RECORD,,
|
contentctl/templates/README
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|