pycti 5.11.13__py3-none-any.whl → 5.12.0__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 pycti might be problematic. Click here for more details.
- pycti/__init__.py +1 -1
- pycti/api/opencti_api_work.py +6 -4
- pycti/connector/opencti_connector_helper.py +6 -5
- pycti/entities/opencti_attack_pattern.py +1 -1
- pycti/entities/opencti_campaign.py +1 -1
- pycti/entities/opencti_case_incident.py +24 -5
- pycti/entities/opencti_case_rfi.py +26 -5
- pycti/entities/opencti_case_rft.py +26 -5
- pycti/entities/opencti_channel.py +1 -1
- pycti/entities/opencti_course_of_action.py +1 -1
- pycti/entities/opencti_data_component.py +1 -1
- pycti/entities/opencti_data_source.py +1 -1
- pycti/entities/opencti_event.py +1 -1
- pycti/entities/opencti_external_reference.py +1 -1
- pycti/entities/opencti_feedback.py +9 -5
- pycti/entities/opencti_grouping.py +9 -5
- pycti/entities/opencti_identity.py +1 -1
- pycti/entities/opencti_incident.py +1 -1
- pycti/entities/opencti_indicator.py +1 -1
- pycti/entities/opencti_infrastructure.py +1 -1
- pycti/entities/opencti_intrusion_set.py +1 -1
- pycti/entities/opencti_kill_chain_phase.py +1 -1
- pycti/entities/opencti_label.py +8 -2
- pycti/entities/opencti_language.py +1 -1
- pycti/entities/opencti_location.py +1 -1
- pycti/entities/opencti_malware.py +1 -1
- pycti/entities/opencti_malware_analysis.py +1 -1
- pycti/entities/opencti_marking_definition.py +1 -1
- pycti/entities/opencti_narrative.py +1 -1
- pycti/entities/opencti_note.py +1 -1
- pycti/entities/opencti_observed_data.py +1 -1
- pycti/entities/opencti_opinion.py +1 -1
- pycti/entities/opencti_report.py +9 -5
- pycti/entities/opencti_stix_core_object.py +1 -1
- pycti/entities/opencti_stix_core_relationship.py +7 -3
- pycti/entities/opencti_stix_cyber_observable.py +15 -3
- pycti/entities/opencti_stix_domain_object.py +26 -6
- pycti/entities/opencti_stix_nested_ref_relationship.py +2 -2
- pycti/entities/opencti_stix_sighting_relationship.py +2 -2
- pycti/entities/opencti_task.py +9 -5
- pycti/entities/opencti_threat_actor.py +1 -1
- pycti/entities/opencti_threat_actor_group.py +1 -1
- pycti/entities/opencti_threat_actor_individual.py +1 -1
- pycti/entities/opencti_tool.py +1 -1
- pycti/entities/opencti_vocabulary.py +8 -2
- pycti/entities/opencti_vulnerability.py +1 -1
- pycti/utils/opencti_stix2.py +52 -26
- {pycti-5.11.13.dist-info → pycti-5.12.0.dist-info}/METADATA +6 -6
- pycti-5.12.0.dist-info/RECORD +67 -0
- {pycti-5.11.13.dist-info → pycti-5.12.0.dist-info}/WHEEL +1 -1
- pycti-5.11.13.dist-info/RECORD +0 -67
- {pycti-5.11.13.dist-info → pycti-5.12.0.dist-info}/LICENSE +0 -0
- {pycti-5.11.13.dist-info → pycti-5.12.0.dist-info}/top_level.txt +0 -0
|
@@ -397,7 +397,7 @@ class StixCoreRelationship:
|
|
|
397
397
|
start_time_stop = kwargs.get("startTimeStop", None)
|
|
398
398
|
stop_time_start = kwargs.get("stopTimeStart", None)
|
|
399
399
|
stop_time_stop = kwargs.get("stopTimeStop", None)
|
|
400
|
-
filters = kwargs.get("filters",
|
|
400
|
+
filters = kwargs.get("filters", None)
|
|
401
401
|
first = kwargs.get("first", 100)
|
|
402
402
|
after = kwargs.get("after", None)
|
|
403
403
|
order_by = kwargs.get("orderBy", None)
|
|
@@ -416,7 +416,7 @@ class StixCoreRelationship:
|
|
|
416
416
|
)
|
|
417
417
|
query = (
|
|
418
418
|
"""
|
|
419
|
-
query StixCoreRelationships($elementId: [String], $elementWithTargetTypes: [String], $fromId: [String], $fromTypes: [String], $toId: [String], $toTypes: [String], $relationship_type: [String], $startTimeStart: DateTime, $startTimeStop: DateTime, $stopTimeStart: DateTime, $stopTimeStop: DateTime, $filters:
|
|
419
|
+
query StixCoreRelationships($elementId: [String], $elementWithTargetTypes: [String], $fromId: [String], $fromTypes: [String], $toId: [String], $toTypes: [String], $relationship_type: [String], $startTimeStart: DateTime, $startTimeStop: DateTime, $stopTimeStart: DateTime, $stopTimeStop: DateTime, $filters: FilterGroup, $first: Int, $after: ID, $orderBy: StixCoreRelationshipsOrdering, $orderMode: OrderingMode) {
|
|
420
420
|
stixCoreRelationships(elementId: $elementId, elementWithTargetTypes: $elementWithTargetTypes, fromId: $fromId, fromTypes: $fromTypes, toId: $toId, toTypes: $toTypes, relationship_type: $relationship_type, startTimeStart: $startTimeStart, startTimeStop: $startTimeStop, stopTimeStart: $stopTimeStart, stopTimeStop: $stopTimeStop, filters: $filters, first: $first, after: $after, orderBy: $orderBy, orderMode: $orderMode) {
|
|
421
421
|
edges {
|
|
422
422
|
node {
|
|
@@ -819,7 +819,11 @@ class StixCoreRelationship:
|
|
|
819
819
|
label_name = kwargs.get("label_name", None)
|
|
820
820
|
if label_name is not None:
|
|
821
821
|
label = self.opencti.label.read(
|
|
822
|
-
filters=
|
|
822
|
+
filters={
|
|
823
|
+
"mode": "and",
|
|
824
|
+
"filters": [{"key": "value", "values": [label_name]}],
|
|
825
|
+
"filterGroups": [],
|
|
826
|
+
}
|
|
823
827
|
)
|
|
824
828
|
if label:
|
|
825
829
|
label_id = label["id"]
|
|
@@ -155,6 +155,10 @@ class StixCyberObservable:
|
|
|
155
155
|
id
|
|
156
156
|
name
|
|
157
157
|
size
|
|
158
|
+
metaData {
|
|
159
|
+
mimetype
|
|
160
|
+
version
|
|
161
|
+
}
|
|
158
162
|
}
|
|
159
163
|
}
|
|
160
164
|
}
|
|
@@ -648,7 +652,7 @@ class StixCyberObservable:
|
|
|
648
652
|
)
|
|
649
653
|
query = (
|
|
650
654
|
"""
|
|
651
|
-
query StixCyberObservables($types: [String], $filters:
|
|
655
|
+
query StixCyberObservables($types: [String], $filters: FilterGroup, $search: String, $first: Int, $after: ID, $orderBy: StixCyberObservablesOrdering, $orderMode: OrderingMode) {
|
|
652
656
|
stixCyberObservables(types: $types, filters: $filters, search: $search, first: $first, after: $after, orderBy: $orderBy, orderMode: $orderMode) {
|
|
653
657
|
edges {
|
|
654
658
|
node {
|
|
@@ -1959,7 +1963,11 @@ class StixCyberObservable:
|
|
|
1959
1963
|
label_name = kwargs.get("label_name", None)
|
|
1960
1964
|
if label_name is not None:
|
|
1961
1965
|
label = self.opencti.label.read(
|
|
1962
|
-
filters=
|
|
1966
|
+
filters={
|
|
1967
|
+
"mode": "and",
|
|
1968
|
+
"filters": [{"key": "value", "values": [label_name]}],
|
|
1969
|
+
"filterGroups": [],
|
|
1970
|
+
}
|
|
1963
1971
|
)
|
|
1964
1972
|
if label:
|
|
1965
1973
|
label_id = label["id"]
|
|
@@ -2006,7 +2014,11 @@ class StixCyberObservable:
|
|
|
2006
2014
|
label_name = kwargs.get("label_name", None)
|
|
2007
2015
|
if label_name is not None:
|
|
2008
2016
|
label = self.opencti.label.read(
|
|
2009
|
-
filters=
|
|
2017
|
+
filters={
|
|
2018
|
+
"mode": "and",
|
|
2019
|
+
"filters": [{"key": "value", "values": [label_name]}],
|
|
2020
|
+
"filterGroups": [],
|
|
2021
|
+
}
|
|
2010
2022
|
)
|
|
2011
2023
|
if label:
|
|
2012
2024
|
label_id = label["id"]
|
|
@@ -1072,7 +1072,7 @@ class StixDomainObject:
|
|
|
1072
1072
|
LOGGER.info("Listing Stix-Domain-Objects with filters %s.", json.dumps(filters))
|
|
1073
1073
|
query = (
|
|
1074
1074
|
"""
|
|
1075
|
-
query StixDomainObjects($types: [String], $filters:
|
|
1075
|
+
query StixDomainObjects($types: [String], $filters: FilterGroup, $search: String, $relationship_type: [String], $elementId: String, $first: Int, $after: ID, $orderBy: StixDomainObjectsOrdering, $orderMode: OrderingMode) {
|
|
1076
1076
|
stixDomainObjects(types: $types, filters: $filters, search: $search, relationship_type: $relationship_type, elementId: $elementId, first: $first, after: $after, orderBy: $orderBy, orderMode: $orderMode) {
|
|
1077
1077
|
edges {
|
|
1078
1078
|
node {
|
|
@@ -1215,20 +1215,32 @@ class StixDomainObject:
|
|
|
1215
1215
|
# TODO: Change this logic and move it to the API.
|
|
1216
1216
|
object_result = self.read(
|
|
1217
1217
|
types=types,
|
|
1218
|
-
filters=
|
|
1218
|
+
filters={
|
|
1219
|
+
"mode": "and",
|
|
1220
|
+
"filters": [{"key": "name", "values": [name]}],
|
|
1221
|
+
"filterGroups": [],
|
|
1222
|
+
},
|
|
1219
1223
|
customAttributes=custom_attributes,
|
|
1220
1224
|
)
|
|
1221
1225
|
if object_result is None:
|
|
1222
1226
|
object_result = self.read(
|
|
1223
1227
|
types=types,
|
|
1224
|
-
filters=
|
|
1228
|
+
filters={
|
|
1229
|
+
"mode": "and",
|
|
1230
|
+
"filters": [{"key": field_name, "values": [name]}],
|
|
1231
|
+
"filterGroups": [],
|
|
1232
|
+
},
|
|
1225
1233
|
customAttributes=custom_attributes,
|
|
1226
1234
|
)
|
|
1227
1235
|
if object_result is None:
|
|
1228
1236
|
for alias in aliases:
|
|
1229
1237
|
object_result = self.read(
|
|
1230
1238
|
types=types,
|
|
1231
|
-
filters=
|
|
1239
|
+
filters={
|
|
1240
|
+
"mode": "and",
|
|
1241
|
+
"filters": [{"key": field_name, "values": [alias]}],
|
|
1242
|
+
"filterGroups": [],
|
|
1243
|
+
},
|
|
1232
1244
|
customAttributes=custom_attributes,
|
|
1233
1245
|
)
|
|
1234
1246
|
return object_result
|
|
@@ -1582,7 +1594,11 @@ class StixDomainObject:
|
|
|
1582
1594
|
label_name = kwargs.get("label_name", None)
|
|
1583
1595
|
if label_name is not None:
|
|
1584
1596
|
label = self.opencti.label.read(
|
|
1585
|
-
filters=
|
|
1597
|
+
filters={
|
|
1598
|
+
"mode": "and",
|
|
1599
|
+
"filters": [{"key": "value", "values": [label_name]}],
|
|
1600
|
+
"filterGroups": [],
|
|
1601
|
+
}
|
|
1586
1602
|
)
|
|
1587
1603
|
if label:
|
|
1588
1604
|
label_id = label["id"]
|
|
@@ -1629,7 +1645,11 @@ class StixDomainObject:
|
|
|
1629
1645
|
label_name = kwargs.get("label_name", None)
|
|
1630
1646
|
if label_name is not None:
|
|
1631
1647
|
label = self.opencti.label.read(
|
|
1632
|
-
filters=
|
|
1648
|
+
filters={
|
|
1649
|
+
"mode": "and",
|
|
1650
|
+
"filters": [{"key": "value", "values": [label_name]}],
|
|
1651
|
+
"filterGroups": [],
|
|
1652
|
+
}
|
|
1633
1653
|
)
|
|
1634
1654
|
if label:
|
|
1635
1655
|
label_id = label["id"]
|
|
@@ -91,7 +91,7 @@ class StixNestedRefRelationship:
|
|
|
91
91
|
start_time_stop = kwargs.get("startTimeStop", None)
|
|
92
92
|
stop_time_start = kwargs.get("stopTimeStart", None)
|
|
93
93
|
stop_time_stop = kwargs.get("stopTimeStop", None)
|
|
94
|
-
filters = kwargs.get("filters",
|
|
94
|
+
filters = kwargs.get("filters", None)
|
|
95
95
|
first = kwargs.get("first", 500)
|
|
96
96
|
after = kwargs.get("after", None)
|
|
97
97
|
order_by = kwargs.get("orderBy", None)
|
|
@@ -108,7 +108,7 @@ class StixNestedRefRelationship:
|
|
|
108
108
|
)
|
|
109
109
|
query = (
|
|
110
110
|
"""
|
|
111
|
-
query StixNestedRefRelationships($elementId: String, $fromId: StixRef, $fromTypes: [String], $toId: StixRef, $toTypes: [String], $relationship_type: [String], $startTimeStart: DateTime, $startTimeStop: DateTime, $stopTimeStart: DateTime, $stopTimeStop: DateTime, $filters:
|
|
111
|
+
query StixNestedRefRelationships($elementId: String, $fromId: StixRef, $fromTypes: [String], $toId: StixRef, $toTypes: [String], $relationship_type: [String], $startTimeStart: DateTime, $startTimeStop: DateTime, $stopTimeStart: DateTime, $stopTimeStop: DateTime, $filters: FilterGroup, $first: Int, $after: ID, $orderBy: StixRefRelationshipsOrdering, $orderMode: OrderingMode) {
|
|
112
112
|
stixNestedRefRelationships(elementId: $elementId, fromId: $fromId, fromTypes: $fromTypes, toId: $toId, toTypes: $toTypes, relationship_type: $relationship_type, startTimeStart: $startTimeStart, startTimeStop: $startTimeStop, stopTimeStart: $stopTimeStart, stopTimeStop: $stopTimeStop, filters: $filters, first: $first, after: $after, orderBy: $orderBy, orderMode: $orderMode) {
|
|
113
113
|
edges {
|
|
114
114
|
node {
|
|
@@ -317,7 +317,7 @@ class StixSightingRelationship:
|
|
|
317
317
|
first_seen_stop = kwargs.get("firstSeenStop", None)
|
|
318
318
|
last_seen_start = kwargs.get("lastSeenStart", None)
|
|
319
319
|
last_seen_stop = kwargs.get("lastSeenStop", None)
|
|
320
|
-
filters = kwargs.get("filters",
|
|
320
|
+
filters = kwargs.get("filters", None)
|
|
321
321
|
first = kwargs.get("first", 100)
|
|
322
322
|
after = kwargs.get("after", None)
|
|
323
323
|
order_by = kwargs.get("orderBy", None)
|
|
@@ -334,7 +334,7 @@ class StixSightingRelationship:
|
|
|
334
334
|
)
|
|
335
335
|
query = (
|
|
336
336
|
"""
|
|
337
|
-
query StixSightingRelationships($elementId: String, $fromId: StixRef, $fromTypes: [String], $toId: StixRef, $toTypes: [String], $firstSeenStart: DateTime, $firstSeenStop: DateTime, $lastSeenStart: DateTime, $lastSeenStop: DateTime, $filters:
|
|
337
|
+
query StixSightingRelationships($elementId: String, $fromId: StixRef, $fromTypes: [String], $toId: StixRef, $toTypes: [String], $firstSeenStart: DateTime, $firstSeenStop: DateTime, $lastSeenStart: DateTime, $lastSeenStop: DateTime, $filters: FilterGroup, $first: Int, $after: ID, $orderBy: StixSightingRelationshipsOrdering, $orderMode: OrderingMode) {
|
|
338
338
|
stixSightingRelationships(elementId: $elementId, fromId: $fromId, fromTypes: $fromTypes, toId: $toId, toTypes: $toTypes, firstSeenStart: $firstSeenStart, firstSeenStop: $firstSeenStop, lastSeenStart: $lastSeenStart, lastSeenStop: $lastSeenStop, filters: $filters, first: $first, after: $after, orderBy: $orderBy, orderMode: $orderMode) {
|
|
339
339
|
edges {
|
|
340
340
|
node {
|
pycti/entities/opencti_task.py
CHANGED
|
@@ -274,7 +274,7 @@ class Task:
|
|
|
274
274
|
LOGGER.info("Listing Tasks with filters " + json.dumps(filters) + ".")
|
|
275
275
|
query = (
|
|
276
276
|
"""
|
|
277
|
-
query tasks($filters:
|
|
277
|
+
query tasks($filters: FilterGroup, $search: String, $first: Int, $after: ID, $orderBy: TasksOrdering, $orderMode: OrderingMode) {
|
|
278
278
|
tasks(filters: $filters, search: $search, first: $first, after: $after, orderBy: $orderBy, orderMode: $orderMode) {
|
|
279
279
|
edges {
|
|
280
280
|
node {
|
|
@@ -389,10 +389,14 @@ class Task:
|
|
|
389
389
|
if object_result is None and name is not None and created is not None:
|
|
390
390
|
created_final = parse(created).strftime("%Y-%m-%d")
|
|
391
391
|
object_result = self.read(
|
|
392
|
-
filters=
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
392
|
+
filters={
|
|
393
|
+
"mode": "and",
|
|
394
|
+
"filters": [
|
|
395
|
+
{"key": "name", "values": [name]},
|
|
396
|
+
{"key": "created_day", "values": [created_final]},
|
|
397
|
+
],
|
|
398
|
+
"filterGroups": [],
|
|
399
|
+
},
|
|
396
400
|
customAttributes=custom_attributes,
|
|
397
401
|
)
|
|
398
402
|
return object_result
|
|
@@ -188,7 +188,7 @@ class ThreatActor:
|
|
|
188
188
|
LOGGER.info("Listing Threat-Actors with filters %s.", json.dumps(filters))
|
|
189
189
|
query = (
|
|
190
190
|
"""
|
|
191
|
-
query ThreatActors($filters:
|
|
191
|
+
query ThreatActors($filters: FilterGroup, $search: String, $first: Int, $after: ID, $orderBy: ThreatActorsOrdering, $orderMode: OrderingMode) {
|
|
192
192
|
threatActors(filters: $filters, search: $search, first: $first, after: $after, orderBy: $orderBy, orderMode: $orderMode) {
|
|
193
193
|
edges {
|
|
194
194
|
node {
|
|
@@ -185,7 +185,7 @@ class ThreatActorGroup:
|
|
|
185
185
|
LOGGER.info("Listing Threat-Actors-Group with filters %s.", json.dumps(filters))
|
|
186
186
|
query = (
|
|
187
187
|
"""
|
|
188
|
-
query ThreatActorsGroup($filters:
|
|
188
|
+
query ThreatActorsGroup($filters: FilterGroup, $search: String, $first: Int, $after: ID, $orderBy: ThreatActorsOrdering, $orderMode: OrderingMode) {
|
|
189
189
|
threatActorsGroup(filters: $filters, search: $search, first: $first, after: $after, orderBy: $orderBy, orderMode: $orderMode) {
|
|
190
190
|
edges {
|
|
191
191
|
node {
|
|
@@ -187,7 +187,7 @@ class ThreatActorIndividual:
|
|
|
187
187
|
)
|
|
188
188
|
query = (
|
|
189
189
|
"""
|
|
190
|
-
query ThreatActorsIndividual($filters:
|
|
190
|
+
query ThreatActorsIndividual($filters: FilterGroup, $search: String, $first: Int, $after: ID, $orderBy: ThreatActorsIndividualOrdering, $orderMode: OrderingMode) {
|
|
191
191
|
threatActorsIndividuals(filters: $filters, search: $search, first: $first, after: $after, orderBy: $orderBy, orderMode: $orderMode) {
|
|
192
192
|
edges {
|
|
193
193
|
node {
|
pycti/entities/opencti_tool.py
CHANGED
|
@@ -178,7 +178,7 @@ class Tool:
|
|
|
178
178
|
LOGGER.info("Listing Tools with filters %s.", json.dumps(filters))
|
|
179
179
|
query = (
|
|
180
180
|
"""
|
|
181
|
-
query Tools($filters:
|
|
181
|
+
query Tools($filters: FilterGroup, $search: String, $first: Int, $after: ID, $orderBy: ToolsOrdering, $orderMode: OrderingMode) {
|
|
182
182
|
tools(filters: $filters, search: $search, first: $first, after: $after, orderBy: $orderBy, orderMode: $orderMode) {
|
|
183
183
|
edges {
|
|
184
184
|
node {
|
|
@@ -22,7 +22,7 @@ class Vocabulary:
|
|
|
22
22
|
)
|
|
23
23
|
query = (
|
|
24
24
|
"""
|
|
25
|
-
query Vocabularies($filters:
|
|
25
|
+
query Vocabularies($filters: FilterGroup) {
|
|
26
26
|
vocabularies(filters: $filters) {
|
|
27
27
|
edges {
|
|
28
28
|
node {
|
|
@@ -137,7 +137,13 @@ class Vocabulary:
|
|
|
137
137
|
|
|
138
138
|
def read_or_create_unchecked(self, **kwargs):
|
|
139
139
|
value = kwargs.get("name", None)
|
|
140
|
-
vocab = self.read(
|
|
140
|
+
vocab = self.read(
|
|
141
|
+
filters={
|
|
142
|
+
"mode": "and",
|
|
143
|
+
"filters": [{"key": "name", "values": [value]}],
|
|
144
|
+
"filterGroups": [],
|
|
145
|
+
}
|
|
146
|
+
)
|
|
141
147
|
if vocab is None:
|
|
142
148
|
try:
|
|
143
149
|
return self.create(**kwargs)
|
|
@@ -168,7 +168,7 @@ class Vulnerability:
|
|
|
168
168
|
LOGGER.info("Listing Vulnerabilities with filters %s.", json.dumps(filters))
|
|
169
169
|
query = (
|
|
170
170
|
"""
|
|
171
|
-
query Vulnerabilities($filters:
|
|
171
|
+
query Vulnerabilities($filters: FilterGroup, $search: String, $first: Int, $after: ID, $orderBy: VulnerabilitiesOrdering, $orderMode: OrderingMode) {
|
|
172
172
|
vulnerabilities(filters: $filters, search: $search, first: $first, after: $after, orderBy: $orderBy, orderMode: $orderMode) {
|
|
173
173
|
edges {
|
|
174
174
|
node {
|
pycti/utils/opencti_stix2.py
CHANGED
|
@@ -644,10 +644,20 @@ class OpenCTIStix2:
|
|
|
644
644
|
else:
|
|
645
645
|
object_marking_ref_result = (
|
|
646
646
|
self.opencti.marking_definition.read(
|
|
647
|
-
filters=
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
647
|
+
filters={
|
|
648
|
+
"mode": "and",
|
|
649
|
+
"filters": [
|
|
650
|
+
{
|
|
651
|
+
"key": "definition_type",
|
|
652
|
+
"values": ["TLP"],
|
|
653
|
+
},
|
|
654
|
+
{
|
|
655
|
+
"key": "definition",
|
|
656
|
+
"values": ["TLP:CLEAR"],
|
|
657
|
+
},
|
|
658
|
+
],
|
|
659
|
+
"filterGroups": [],
|
|
660
|
+
}
|
|
651
661
|
)
|
|
652
662
|
)
|
|
653
663
|
self.mapping_cache["marking_tlpclear"] = {
|
|
@@ -2124,28 +2134,40 @@ class OpenCTIStix2:
|
|
|
2124
2134
|
|
|
2125
2135
|
if IdentityTypes.has_value(entity_type):
|
|
2126
2136
|
if filters is not None:
|
|
2127
|
-
filters.append({"key": "entity_type", "values": [entity_type]})
|
|
2137
|
+
filters.filters.append({"key": "entity_type", "values": [entity_type]})
|
|
2128
2138
|
else:
|
|
2129
|
-
filters =
|
|
2139
|
+
filters = {
|
|
2140
|
+
"mode": "and",
|
|
2141
|
+
"filters": [{"key": "entity_type", "values": [entity_type]}],
|
|
2142
|
+
"filterGroups": [],
|
|
2143
|
+
}
|
|
2130
2144
|
entity_type = "Identity"
|
|
2131
2145
|
|
|
2132
2146
|
if LocationTypes.has_value(entity_type):
|
|
2133
2147
|
if filters is not None:
|
|
2134
|
-
filters.append({"key": "entity_type", "values": [entity_type]})
|
|
2148
|
+
filters.filters.append({"key": "entity_type", "values": [entity_type]})
|
|
2135
2149
|
else:
|
|
2136
|
-
filters =
|
|
2150
|
+
filters = {
|
|
2151
|
+
"mode": "and",
|
|
2152
|
+
"filters": [{"key": "entity_type", "values": [entity_type]}],
|
|
2153
|
+
"filterGroups": [],
|
|
2154
|
+
}
|
|
2137
2155
|
entity_type = "Location"
|
|
2138
2156
|
|
|
2139
2157
|
if StixCyberObservableTypes.has_value(entity_type):
|
|
2140
2158
|
if filters is not None:
|
|
2141
|
-
filters.append({"key": "entity_type", "values": [entity_type]})
|
|
2159
|
+
filters.filters.append({"key": "entity_type", "values": [entity_type]})
|
|
2142
2160
|
else:
|
|
2143
|
-
filters =
|
|
2161
|
+
filters = {
|
|
2162
|
+
"mode": "and",
|
|
2163
|
+
"filters": [{"key": "entity_type", "values": [entity_type]}],
|
|
2164
|
+
"filterGroups": [],
|
|
2165
|
+
}
|
|
2144
2166
|
entity_type = "Stix-Cyber-Observable"
|
|
2145
2167
|
|
|
2146
2168
|
if entity_type == "Container":
|
|
2147
2169
|
if filters is not None:
|
|
2148
|
-
filters.append(
|
|
2170
|
+
filters.filters.append(
|
|
2149
2171
|
{
|
|
2150
2172
|
"key": "entity_type",
|
|
2151
2173
|
"values": [
|
|
@@ -2161,21 +2183,25 @@ class OpenCTIStix2:
|
|
|
2161
2183
|
}
|
|
2162
2184
|
)
|
|
2163
2185
|
else:
|
|
2164
|
-
filters =
|
|
2165
|
-
|
|
2166
|
-
|
|
2167
|
-
|
|
2168
|
-
"
|
|
2169
|
-
"
|
|
2170
|
-
|
|
2171
|
-
|
|
2172
|
-
|
|
2173
|
-
|
|
2174
|
-
|
|
2175
|
-
|
|
2176
|
-
|
|
2177
|
-
|
|
2178
|
-
|
|
2186
|
+
filters = {
|
|
2187
|
+
"mode": "and",
|
|
2188
|
+
"filters": [
|
|
2189
|
+
{
|
|
2190
|
+
"key": "entity_type",
|
|
2191
|
+
"values": [
|
|
2192
|
+
"Report",
|
|
2193
|
+
"Grouping",
|
|
2194
|
+
"Note",
|
|
2195
|
+
"Observed-Data",
|
|
2196
|
+
"Opinion",
|
|
2197
|
+
"Case-Incident",
|
|
2198
|
+
"Case-Rfi",
|
|
2199
|
+
"Case-Rft",
|
|
2200
|
+
],
|
|
2201
|
+
}
|
|
2202
|
+
],
|
|
2203
|
+
"filterGroups": [],
|
|
2204
|
+
}
|
|
2179
2205
|
entity_type = "Stix-Domain-Object"
|
|
2180
2206
|
|
|
2181
2207
|
# List
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: pycti
|
|
3
|
-
Version: 5.
|
|
3
|
+
Version: 5.12.0
|
|
4
4
|
Summary: Python API client for OpenCTI.
|
|
5
5
|
Home-page: https://github.com/OpenCTI-Platform/client-python
|
|
6
6
|
Author: Filigran
|
|
@@ -23,11 +23,11 @@ Description-Content-Type: text/markdown
|
|
|
23
23
|
License-File: LICENSE
|
|
24
24
|
Requires-Dist: datefinder ~=0.7.3
|
|
25
25
|
Requires-Dist: pika ~=1.3.1
|
|
26
|
-
Requires-Dist: prometheus-client ~=0.
|
|
26
|
+
Requires-Dist: prometheus-client ~=0.19.0
|
|
27
27
|
Requires-Dist: python-json-logger ~=2.0.4
|
|
28
28
|
Requires-Dist: pyyaml ~=6.0
|
|
29
29
|
Requires-Dist: requests ~=2.31.0
|
|
30
|
-
Requires-Dist: setuptools ~=
|
|
30
|
+
Requires-Dist: setuptools ~=69.0.2
|
|
31
31
|
Requires-Dist: filigran-sseclient ~=1.0.0
|
|
32
32
|
Requires-Dist: stix2 ~=3.0.1
|
|
33
33
|
Requires-Dist: cachetools ~=5.3.0
|
|
@@ -44,11 +44,11 @@ Requires-Dist: pytest-cov ~=4.1.0 ; extra == 'dev'
|
|
|
44
44
|
Requires-Dist: pytest-randomly ~=3.15.0 ; extra == 'dev'
|
|
45
45
|
Requires-Dist: pytest ~=7.4.0 ; extra == 'dev'
|
|
46
46
|
Requires-Dist: types-python-dateutil ~=2.8.19 ; extra == 'dev'
|
|
47
|
-
Requires-Dist: wheel ~=0.
|
|
47
|
+
Requires-Dist: wheel ~=0.42.0 ; extra == 'dev'
|
|
48
48
|
Provides-Extra: doc
|
|
49
49
|
Requires-Dist: autoapi ~=2.0.1 ; extra == 'doc'
|
|
50
|
-
Requires-Dist: sphinx-autodoc-typehints ~=1.
|
|
51
|
-
Requires-Dist: sphinx-rtd-theme ~=
|
|
50
|
+
Requires-Dist: sphinx-autodoc-typehints ~=1.25.2 ; extra == 'doc'
|
|
51
|
+
Requires-Dist: sphinx-rtd-theme ~=2.0.0 ; extra == 'doc'
|
|
52
52
|
|
|
53
53
|
# OpenCTI client for Python
|
|
54
54
|
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
pycti/__init__.py,sha256=ZqMC83-l0kjlA9EVSGFhff85P-AI5KKdsMkda_yAD2w,4692
|
|
2
|
+
pycti/api/__init__.py,sha256=t78k-bMV5HrTAzNeWgL9sv-Qk5CvzS8ngXFlbTAYEIA,53
|
|
3
|
+
pycti/api/opencti_api_client.py,sha256=7BO-_TUU1Ih-zg7WFUNMXt_WIw_DVwPVMBqYSVUWTOY,29520
|
|
4
|
+
pycti/api/opencti_api_connector.py,sha256=53kV9IE1kcV5Q-Gbdj-2LKDc3ZxqQZUaqCXHeDjRVh8,3565
|
|
5
|
+
pycti/api/opencti_api_playbook.py,sha256=3CbxGZGQ_E967fpKQSamXJG-GZqlELZr6o4Z_mcWT30,1365
|
|
6
|
+
pycti/api/opencti_api_work.py,sha256=LK7gtVMzocmO2GCTkIpWXddxQS-z-7WFv0rjwQ0UCco,6908
|
|
7
|
+
pycti/connector/__init__.py,sha256=t78k-bMV5HrTAzNeWgL9sv-Qk5CvzS8ngXFlbTAYEIA,53
|
|
8
|
+
pycti/connector/opencti_connector.py,sha256=0vrZ8Y8ecbxegAP1YhpX6ybOZahYjjOkcId51D1oBi4,2449
|
|
9
|
+
pycti/connector/opencti_connector_helper.py,sha256=xlm3c28nfnOEQDqlDAfHX8QPY1NtSe3mwe3CN-tdm3w,47690
|
|
10
|
+
pycti/connector/opencti_metric_handler.py,sha256=LWAc3RwbwUgbRvwtUaoOJ1SsfW7Cuq8RaN1jhJg-QSA,3548
|
|
11
|
+
pycti/entities/__init__.py,sha256=t78k-bMV5HrTAzNeWgL9sv-Qk5CvzS8ngXFlbTAYEIA,53
|
|
12
|
+
pycti/entities/opencti_attack_pattern.py,sha256=EZ3JSlK_Y58puV7iJ8U7irAgixpcZOb4IWlXCjojj8g,22265
|
|
13
|
+
pycti/entities/opencti_campaign.py,sha256=Dun_maYmugeW8y9d3mrgD5wBMnlvqU8LD2uZJ6B3I6Q,17259
|
|
14
|
+
pycti/entities/opencti_case_incident.py,sha256=Y2nwV4r1si_Q0bWnoaCUcxoxKnE6m0BEQ5lGlD17vpY,33831
|
|
15
|
+
pycti/entities/opencti_case_rfi.py,sha256=xmboVhsrR7mD7J8I6nKqbpppQBI-yFwQ1lGcsQHvhJY,32144
|
|
16
|
+
pycti/entities/opencti_case_rft.py,sha256=TutlHiaaY71ZzcllblSWafARH_qz9o5Q0UyXWK38L9M,33034
|
|
17
|
+
pycti/entities/opencti_channel.py,sha256=YditzOmt6bmERT7c2HXRzNg6GVGVMh5mvQikBdW-L6k,16736
|
|
18
|
+
pycti/entities/opencti_course_of_action.py,sha256=ZlKNb4IbQ_epgwkQf_QsabgpcC4Ui65LI-IOFbeacEI,18397
|
|
19
|
+
pycti/entities/opencti_data_component.py,sha256=eCm8KOUpuQciav_obNHo2ycRZ2WtXAdzKmANQ0N2zQ4,18862
|
|
20
|
+
pycti/entities/opencti_data_source.py,sha256=XaRa_c94vxLTGM941CrN9GrTHTzUEV3DXUF10DZQ2qI,18048
|
|
21
|
+
pycti/entities/opencti_event.py,sha256=dNX_44q5nXsB1JwmhW9GXpgWYmXwcsUvEmigKGOt1iM,16906
|
|
22
|
+
pycti/entities/opencti_external_reference.py,sha256=Z5YIS2X-UCbFCqnj3Uc113aauEQaZwwLOGKeWZneY28,12732
|
|
23
|
+
pycti/entities/opencti_feedback.py,sha256=K94ztpdo8Mog-KKGwsxt8CkIdQooVL54dkTuBD0htW8,32273
|
|
24
|
+
pycti/entities/opencti_grouping.py,sha256=sMV1NbNOIA1wVaKUqm0w2V5IFvtLWw3lzliOCKAPrp4,29445
|
|
25
|
+
pycti/entities/opencti_identity.py,sha256=3ygZHO2AlS3meQPoHvFbj8yyQXxCnuLZIWuU8BKwolI,22998
|
|
26
|
+
pycti/entities/opencti_incident.py,sha256=TOhZkuAQivTor8BndZ6Eqjdru8WjCxjkkXVP2hojTwo,18417
|
|
27
|
+
pycti/entities/opencti_indicator.py,sha256=U6srsKfM0GEORwjVZosZpR5-P50hnYkhRb3RFIiAtRc,27021
|
|
28
|
+
pycti/entities/opencti_infrastructure.py,sha256=Y623AnmObFj-Hegbr_hmU2lMwR2RKrGenMNUR0KXf4E,19751
|
|
29
|
+
pycti/entities/opencti_intrusion_set.py,sha256=y011RZA3QLCrhFOtEHFRcNz6ho3-7fICJjgB4ErsUgI,17458
|
|
30
|
+
pycti/entities/opencti_kill_chain_phase.py,sha256=wv-lAx4Gw4yySXgkfympoTB4H7dG8MyTDHbFeNWwHR0,7839
|
|
31
|
+
pycti/entities/opencti_label.py,sha256=gwnByNyQJQhe_RU-ADmuqk90PllHUVy0TWKbiWXvlrA,8560
|
|
32
|
+
pycti/entities/opencti_language.py,sha256=siUIFmQHbrx2oB2SOcCXpq3rNFWn4B1IbEXQWpLn5j8,16670
|
|
33
|
+
pycti/entities/opencti_location.py,sha256=s8ZXOI1w2wYWP-UrTvM-i81QmcIrflAXqXF9CnTC7go,17441
|
|
34
|
+
pycti/entities/opencti_malware.py,sha256=2SU5bq1rqK3Ni-bANRSLvG_fLtjGJhugMFhplAEpm9M,20324
|
|
35
|
+
pycti/entities/opencti_malware_analysis.py,sha256=ihlZB1X6CvuicDJ8dznoBgw4-q06U5IgwMGQeHCJWyY,20626
|
|
36
|
+
pycti/entities/opencti_marking_definition.py,sha256=1lWOTRbE5xTpjWvmhkyYPW5z6z2gQv_yLXf86_Lb39w,12497
|
|
37
|
+
pycti/entities/opencti_narrative.py,sha256=GIvdN9es63muKZFKTKBi6g4aZRiFPsq7TGhN7kPOebw,16826
|
|
38
|
+
pycti/entities/opencti_note.py,sha256=09W3-Uflfiz8WuC0OoJBGVVkE18-dFUXwQp_8FgBou0,29769
|
|
39
|
+
pycti/entities/opencti_observed_data.py,sha256=1LffW0EeiHNG-kBWRPdlMS9vcALcmbWei02ejzHtol8,30012
|
|
40
|
+
pycti/entities/opencti_opinion.py,sha256=EG-EWu-CTqnSDNrYXm8loQzJpSq1XoPmGqw1Aw8SFT8,21436
|
|
41
|
+
pycti/entities/opencti_report.py,sha256=WWQBEnwu4UpwiTo4j9uExg8leJMuo_w1Ewgnf3V1n7M,31615
|
|
42
|
+
pycti/entities/opencti_stix.py,sha256=B4cvpYcfxLv8t_QVATB2BddiCmtojRIR949ZSQ9VZP0,2399
|
|
43
|
+
pycti/entities/opencti_stix_core_object.py,sha256=pBXj_1BXPwOlAZNPO8nEIUHMDPBPzyOjRkGMng8kzjg,51874
|
|
44
|
+
pycti/entities/opencti_stix_core_relationship.py,sha256=PotwW9rJxfYYwqHn1KgPYXeMfHzQZ6113LIDoBvoGZ8,41973
|
|
45
|
+
pycti/entities/opencti_stix_cyber_observable.py,sha256=9Qxl1_QWN7Uhjziwiyr93rKp7U30afSQyB4LmCZcMEw,102311
|
|
46
|
+
pycti/entities/opencti_stix_domain_object.py,sha256=lZhrjQYjre6Iz2ZQLB5j2N6gMkmQooiIKn6Vf2QGoiQ,81111
|
|
47
|
+
pycti/entities/opencti_stix_nested_ref_relationship.py,sha256=i11v_HGWStDiGYpn079y1J_oD7wZdph2tR_DA7qmxVQ,12063
|
|
48
|
+
pycti/entities/opencti_stix_object_or_stix_relationship.py,sha256=8x0JxHHjNrHnm-UZFeYHgqWnkiFBUhx-HagHTNONqog,16091
|
|
49
|
+
pycti/entities/opencti_stix_sighting_relationship.py,sha256=JVEBQ-LhIS2JiXhZXzQWv5cA4Q6b7ukYT1q07aSsIMk,27589
|
|
50
|
+
pycti/entities/opencti_task.py,sha256=Sp3En2QFTRl2MzHPEhCP6AyYBpDexK0cZJtw_NhQtec,24752
|
|
51
|
+
pycti/entities/opencti_threat_actor.py,sha256=gI3cu51cVgAh-PpOYDfHrCT3wmuRsX8sSGr7JcW7HG8,10180
|
|
52
|
+
pycti/entities/opencti_threat_actor_group.py,sha256=Wluc75lV1YGg31WOo4Z98Fo4w0z9qXLm5Y5Ju2oK3L4,18638
|
|
53
|
+
pycti/entities/opencti_threat_actor_individual.py,sha256=z7oE71kzmGmNDknNzGUIpqQFpU2jLbrAzcNbBE42AV4,18889
|
|
54
|
+
pycti/entities/opencti_tool.py,sha256=5o6Vwaxj3xdnl59Xjm8H8_Wm13o6yaoPYESgWjsHFC8,14709
|
|
55
|
+
pycti/entities/opencti_vocabulary.py,sha256=_fQNiuNk-uwjXmDJHiEU_pawaThFRbjt9u-RTAHLCfI,5992
|
|
56
|
+
pycti/entities/opencti_vulnerability.py,sha256=CsAsDbceBPRa084GGzd-9Kaj574HIyvkbXC8P1oCB_4,18171
|
|
57
|
+
pycti/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
58
|
+
pycti/utils/constants.py,sha256=g53_tdaq_akCm-ZC0TI2Y5V1yE7ejgB6E-rCDZ86bag,7914
|
|
59
|
+
pycti/utils/opencti_stix2.py,sha256=eUp4q09aaMmhcmtfUTamXcl_ctEh_ykpExJA0v6_2r8,111594
|
|
60
|
+
pycti/utils/opencti_stix2_splitter.py,sha256=Ht9Mp-W3gbwxIKEr7i_5NYpcDr3TA2gYdC4TzOz0G4c,4496
|
|
61
|
+
pycti/utils/opencti_stix2_update.py,sha256=NO-l7g9aUmZ2vP6BSxs-Gq8WXa7pnpcDiNQVtQ3TESE,14515
|
|
62
|
+
pycti/utils/opencti_stix2_utils.py,sha256=XaDLRN9BE-n8chO9OEsCMoonAuoMjoGS_OSJyrxVXDY,3677
|
|
63
|
+
pycti-5.12.0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
64
|
+
pycti-5.12.0.dist-info/METADATA,sha256=2kmcPrGvlGf8oRUpSFN86SdBtRbyrtkTAQTgu9FCqtY,5297
|
|
65
|
+
pycti-5.12.0.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
|
66
|
+
pycti-5.12.0.dist-info/top_level.txt,sha256=cqEpxitAhHP4VgSA6xmrak6Yk9MeBkwoMTB6k7d2ZnE,6
|
|
67
|
+
pycti-5.12.0.dist-info/RECORD,,
|
pycti-5.11.13.dist-info/RECORD
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
pycti/__init__.py,sha256=Dal4bK4pR1-RI4rvCBfvL9TEreni0cYzMHxRZQI2IR4,4693
|
|
2
|
-
pycti/api/__init__.py,sha256=t78k-bMV5HrTAzNeWgL9sv-Qk5CvzS8ngXFlbTAYEIA,53
|
|
3
|
-
pycti/api/opencti_api_client.py,sha256=7BO-_TUU1Ih-zg7WFUNMXt_WIw_DVwPVMBqYSVUWTOY,29520
|
|
4
|
-
pycti/api/opencti_api_connector.py,sha256=53kV9IE1kcV5Q-Gbdj-2LKDc3ZxqQZUaqCXHeDjRVh8,3565
|
|
5
|
-
pycti/api/opencti_api_playbook.py,sha256=3CbxGZGQ_E967fpKQSamXJG-GZqlELZr6o4Z_mcWT30,1365
|
|
6
|
-
pycti/api/opencti_api_work.py,sha256=1zJTbkqQUVBngCWr2e5jvkKOlUBEKMm-DTAIYYMmoCI,6825
|
|
7
|
-
pycti/connector/__init__.py,sha256=t78k-bMV5HrTAzNeWgL9sv-Qk5CvzS8ngXFlbTAYEIA,53
|
|
8
|
-
pycti/connector/opencti_connector.py,sha256=0vrZ8Y8ecbxegAP1YhpX6ybOZahYjjOkcId51D1oBi4,2449
|
|
9
|
-
pycti/connector/opencti_connector_helper.py,sha256=1ZD7ELDDVusFZi-PWGbIsHj8CxHgpEOBGaIF13JUKxM,47607
|
|
10
|
-
pycti/connector/opencti_metric_handler.py,sha256=LWAc3RwbwUgbRvwtUaoOJ1SsfW7Cuq8RaN1jhJg-QSA,3548
|
|
11
|
-
pycti/entities/__init__.py,sha256=t78k-bMV5HrTAzNeWgL9sv-Qk5CvzS8ngXFlbTAYEIA,53
|
|
12
|
-
pycti/entities/opencti_attack_pattern.py,sha256=6RblGGoxcpeAHOWnHsKIumdONTftHk7WdIvwwF5Iyww,22279
|
|
13
|
-
pycti/entities/opencti_campaign.py,sha256=z_SlG9oBZ0mIMD1ZhLrKwUrJCAumyoSGwcZFeGG83Eg,17268
|
|
14
|
-
pycti/entities/opencti_case_incident.py,sha256=ZeHgkoJVEA5AuclYyEWjB2U0M71LeGMmxVkgyRJsEbE,33292
|
|
15
|
-
pycti/entities/opencti_case_rfi.py,sha256=5KGP9bHjbLkku5kp43fAcNkgVNyBZCxi5v11T87FwXY,31558
|
|
16
|
-
pycti/entities/opencti_case_rft.py,sha256=v_N951kbUIMXE1x_rlJ59OtBfpWeIckPQ3Z2FsMbsOs,32448
|
|
17
|
-
pycti/entities/opencti_channel.py,sha256=C_F7KgoBsAwrZsF5YSGlFAhcYWlMHnIvpKdvcbwOmas,16745
|
|
18
|
-
pycti/entities/opencti_course_of_action.py,sha256=MAGtn0Fuf6at2oxuSJ82xpLoX3zEEkL1waZvxNerLsM,18412
|
|
19
|
-
pycti/entities/opencti_data_component.py,sha256=bfbFz61OJGwy3OZoePnMSgKijzA6IXZj1TyugJ6qPIQ,18877
|
|
20
|
-
pycti/entities/opencti_data_source.py,sha256=VG5PGRvHloBH2E1xl4xO6oXDlP0HU-IVNoaFGAekOwc,18060
|
|
21
|
-
pycti/entities/opencti_event.py,sha256=2RXGhSRuubgGXhvuCnERbsHNV-8ep0jAwTgHSEzjRAw,16913
|
|
22
|
-
pycti/entities/opencti_external_reference.py,sha256=VB1zgtV888COJ-q42jtdPWUvfQqcenKz2JwsXEMOPhg,12750
|
|
23
|
-
pycti/entities/opencti_feedback.py,sha256=3gEJJv0tLUy5uWFxO4j6nNbXPkuGW6DMxyI5tsjmNuo,32144
|
|
24
|
-
pycti/entities/opencti_grouping.py,sha256=smVs5jONH78gGasKdKazZHoYl5Ts3iu8HvzYuNuQjJc,29316
|
|
25
|
-
pycti/entities/opencti_identity.py,sha256=Vb9ddq1mPPHTHYWGnYtWYoZtdMKlHaM89RyvYu-9Za0,23008
|
|
26
|
-
pycti/entities/opencti_incident.py,sha256=Mjyw9LD2qZY5MZkWIWZMH8ms8K_KjgA7WNqotDqv_bc,18426
|
|
27
|
-
pycti/entities/opencti_indicator.py,sha256=DTQqQri5CLZLlRjBVWKV4WmcRsjyJDD8w-8pwL-g4RY,27031
|
|
28
|
-
pycti/entities/opencti_infrastructure.py,sha256=Zzh-O4kpx8sd6W67lh-Q9OMJkcIQuEGiTjqnsHsViGw,19766
|
|
29
|
-
pycti/entities/opencti_intrusion_set.py,sha256=qJy6HeO3tIHhMeYBOHiYWsfzEMosdmh_zB8KJUu_vHE,17471
|
|
30
|
-
pycti/entities/opencti_kill_chain_phase.py,sha256=plKO_lTgTcz50LiyHjoggM-OxyiYtnPesO2Ub3o-cLU,7854
|
|
31
|
-
pycti/entities/opencti_label.py,sha256=C5lNEAjrUcDZoStqn1btLwaBgBWEjFw8bvSSGgyXIiA,8433
|
|
32
|
-
pycti/entities/opencti_language.py,sha256=7QXYCsox7RKuYtbq_6C-FCUZu4EL7NMfsYD_cG8SVo4,16679
|
|
33
|
-
pycti/entities/opencti_location.py,sha256=nMZBYLJhJBZQawrOTMife7yvmCzuoHwPkZrhuPfhvUw,17450
|
|
34
|
-
pycti/entities/opencti_malware.py,sha256=96fpj9JxUrF1cZNze-gOvdsk-fwsLcY7wabec-VDTFg,20332
|
|
35
|
-
pycti/entities/opencti_malware_analysis.py,sha256=AfXB7K-MktKsQQ8-dHpoJDcWzyLJg7au3UxpT0SlG_g,20642
|
|
36
|
-
pycti/entities/opencti_marking_definition.py,sha256=1G3dHrs2lnu_I9wXAIf9wy509bSb2lSSKVWDUTtnMbI,12515
|
|
37
|
-
pycti/entities/opencti_narrative.py,sha256=foT4_DN1s5VIWweoU-NQJMl3EbxRwcaukt1HswApXaU,16837
|
|
38
|
-
pycti/entities/opencti_note.py,sha256=MknyKKROY_hLOsWD2LmcV9HOMCk30hI6TOKGulq1k5Q,29774
|
|
39
|
-
pycti/entities/opencti_observed_data.py,sha256=Zd_35IkIcGMeXhbRgI0HFpOOT3hK2Tyqs4cOiI7QJEM,30025
|
|
40
|
-
pycti/entities/opencti_opinion.py,sha256=_eb3FJ4_2lLVbputlHIVwd70GmX5iytc5NHuZ5lucaw,21444
|
|
41
|
-
pycti/entities/opencti_report.py,sha256=gzaSdkL38z7YmzByI-0tM-Lz0d72eQ1Xq9BQfyOesqY,31483
|
|
42
|
-
pycti/entities/opencti_stix.py,sha256=B4cvpYcfxLv8t_QVATB2BddiCmtojRIR949ZSQ9VZP0,2399
|
|
43
|
-
pycti/entities/opencti_stix_core_object.py,sha256=4QKgNMuQxdNwu51n01xatQyto7xKm6-iTbHRzhFxCOQ,51887
|
|
44
|
-
pycti/entities/opencti_stix_core_relationship.py,sha256=Rzvaq8r5c1lo5BfL29MY1QW78i1UTKsuQ43TerrKYMc,41865
|
|
45
|
-
pycti/entities/opencti_stix_cyber_observable.py,sha256=0NZi1wB3ERiyvJgy1VcT0qPZZz6zdqzi_GWgvLmJ2as,101927
|
|
46
|
-
pycti/entities/opencti_stix_domain_object.py,sha256=t-bfZmsCIRBjKb7ZcCGRY2pX9cr05mI3-8RWCvNMKmQ,80429
|
|
47
|
-
pycti/entities/opencti_stix_nested_ref_relationship.py,sha256=ciq7vR89NO4zcG7gtVheWL7Qof4c5NqbL5wHs_c1oRI,12081
|
|
48
|
-
pycti/entities/opencti_stix_object_or_stix_relationship.py,sha256=8x0JxHHjNrHnm-UZFeYHgqWnkiFBUhx-HagHTNONqog,16091
|
|
49
|
-
pycti/entities/opencti_stix_sighting_relationship.py,sha256=0zRAdasahbko1syBpw8VQJ4HhsVKVrp7YBnkEik4WVk,27612
|
|
50
|
-
pycti/entities/opencti_task.py,sha256=UjL1BiQAhz33jFHjON70Na06eqZn0wy8F2Z03k2Pdn8,24619
|
|
51
|
-
pycti/entities/opencti_threat_actor.py,sha256=kJ8MQY9rGlbRSVabSBBLOzg6WaIuT1faVDclRJPmMzI,10192
|
|
52
|
-
pycti/entities/opencti_threat_actor_group.py,sha256=KQlSWaht58L9c125FFhpWm4ozJ9aBrEiUqUupwEukXs,18650
|
|
53
|
-
pycti/entities/opencti_threat_actor_individual.py,sha256=MndOT744A2mBlrqjy_1gvvWODl-ACcZpZ1fEHJ0kjgk,18912
|
|
54
|
-
pycti/entities/opencti_tool.py,sha256=7BOnP4PczA4Bqskg02xI9uD5a_aI3fx7iAJ9URy2Uyc,14714
|
|
55
|
-
pycti/entities/opencti_vocabulary.py,sha256=tuDxTcCAahWOHIqVBh1vqJDh6lBtXWb94h-3fqCYQLo,5870
|
|
56
|
-
pycti/entities/opencti_vulnerability.py,sha256=8GUGcDRFXIluKxggPFiqih4RPpMp5vPlwHA7wyhWYM0,18186
|
|
57
|
-
pycti/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
58
|
-
pycti/utils/constants.py,sha256=g53_tdaq_akCm-ZC0TI2Y5V1yE7ejgB6E-rCDZ86bag,7914
|
|
59
|
-
pycti/utils/opencti_stix2.py,sha256=qgArgXLX2UGzMxqVWp1U8-eV2A9zsOiGO9mShPzqx-I,110493
|
|
60
|
-
pycti/utils/opencti_stix2_splitter.py,sha256=Ht9Mp-W3gbwxIKEr7i_5NYpcDr3TA2gYdC4TzOz0G4c,4496
|
|
61
|
-
pycti/utils/opencti_stix2_update.py,sha256=NO-l7g9aUmZ2vP6BSxs-Gq8WXa7pnpcDiNQVtQ3TESE,14515
|
|
62
|
-
pycti/utils/opencti_stix2_utils.py,sha256=XaDLRN9BE-n8chO9OEsCMoonAuoMjoGS_OSJyrxVXDY,3677
|
|
63
|
-
pycti-5.11.13.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
64
|
-
pycti-5.11.13.dist-info/METADATA,sha256=XP_G_WSRnllO7c6mXvT70hJZ04PC_f5BnXPmI5Ue2Dw,5298
|
|
65
|
-
pycti-5.11.13.dist-info/WHEEL,sha256=Xo9-1PvkuimrydujYJAjF7pCkriuXBpUPEjma1nZyJ0,92
|
|
66
|
-
pycti-5.11.13.dist-info/top_level.txt,sha256=cqEpxitAhHP4VgSA6xmrak6Yk9MeBkwoMTB6k7d2ZnE,6
|
|
67
|
-
pycti-5.11.13.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|