psengine 2.3.0__tar.gz → 2.3.1__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 (150) hide show
  1. {psengine-2.3.0 → psengine-2.3.1}/PKG-INFO +1 -1
  2. {psengine-2.3.0 → psengine-2.3.1}/psengine/enrich/lookup.py +2 -0
  3. {psengine-2.3.0 → psengine-2.3.1}/psengine/enrich/models/lookup.py +44 -0
  4. {psengine-2.3.0 → psengine-2.3.1}/psengine.egg-info/PKG-INFO +1 -1
  5. {psengine-2.3.0 → psengine-2.3.1}/pyproject.toml +1 -1
  6. {psengine-2.3.0 → psengine-2.3.1}/LICENSE +0 -0
  7. {psengine-2.3.0 → psengine-2.3.1}/README.md +0 -0
  8. {psengine-2.3.0 → psengine-2.3.1}/psengine/__init__.py +0 -0
  9. {psengine-2.3.0 → psengine-2.3.1}/psengine/_sdk_id.py +0 -0
  10. {psengine-2.3.0 → psengine-2.3.1}/psengine/_version.py +0 -0
  11. {psengine-2.3.0 → psengine-2.3.1}/psengine/analyst_notes/__init__.py +0 -0
  12. {psengine-2.3.0 → psengine-2.3.1}/psengine/analyst_notes/constants.py +0 -0
  13. {psengine-2.3.0 → psengine-2.3.1}/psengine/analyst_notes/errors.py +0 -0
  14. {psengine-2.3.0 → psengine-2.3.1}/psengine/analyst_notes/helpers.py +0 -0
  15. {psengine-2.3.0 → psengine-2.3.1}/psengine/analyst_notes/markdown.py +0 -0
  16. {psengine-2.3.0 → psengine-2.3.1}/psengine/analyst_notes/models.py +0 -0
  17. {psengine-2.3.0 → psengine-2.3.1}/psengine/analyst_notes/note.py +0 -0
  18. {psengine-2.3.0 → psengine-2.3.1}/psengine/analyst_notes/note_mgr.py +0 -0
  19. {psengine-2.3.0 → psengine-2.3.1}/psengine/base_http_client.py +0 -0
  20. {psengine-2.3.0 → psengine-2.3.1}/psengine/classic_alerts/__init__.py +0 -0
  21. {psengine-2.3.0 → psengine-2.3.1}/psengine/classic_alerts/classic_alert.py +0 -0
  22. {psengine-2.3.0 → psengine-2.3.1}/psengine/classic_alerts/classic_alert_mgr.py +0 -0
  23. {psengine-2.3.0 → psengine-2.3.1}/psengine/classic_alerts/constants.py +0 -0
  24. {psengine-2.3.0 → psengine-2.3.1}/psengine/classic_alerts/errors.py +0 -0
  25. {psengine-2.3.0 → psengine-2.3.1}/psengine/classic_alerts/helpers.py +0 -0
  26. {psengine-2.3.0 → psengine-2.3.1}/psengine/classic_alerts/markdown/__init__.py +0 -0
  27. {psengine-2.3.0 → psengine-2.3.1}/psengine/classic_alerts/markdown/markdown.py +0 -0
  28. {psengine-2.3.0 → psengine-2.3.1}/psengine/classic_alerts/models.py +0 -0
  29. {psengine-2.3.0 → psengine-2.3.1}/psengine/collective_insights/__init__.py +0 -0
  30. {psengine-2.3.0 → psengine-2.3.1}/psengine/collective_insights/collective_insights.py +0 -0
  31. {psengine-2.3.0 → psengine-2.3.1}/psengine/collective_insights/constants.py +0 -0
  32. {psengine-2.3.0 → psengine-2.3.1}/psengine/collective_insights/errors.py +0 -0
  33. {psengine-2.3.0 → psengine-2.3.1}/psengine/collective_insights/insight.py +0 -0
  34. {psengine-2.3.0 → psengine-2.3.1}/psengine/collective_insights/models.py +0 -0
  35. {psengine-2.3.0 → psengine-2.3.1}/psengine/common_models.py +0 -0
  36. {psengine-2.3.0 → psengine-2.3.1}/psengine/config/__init__.py +0 -0
  37. {psengine-2.3.0 → psengine-2.3.1}/psengine/config/config.py +0 -0
  38. {psengine-2.3.0 → psengine-2.3.1}/psengine/config/errors.py +0 -0
  39. {psengine-2.3.0 → psengine-2.3.1}/psengine/constants.py +0 -0
  40. {psengine-2.3.0 → psengine-2.3.1}/psengine/detection/__init__.py +0 -0
  41. {psengine-2.3.0 → psengine-2.3.1}/psengine/detection/detection_mgr.py +0 -0
  42. {psengine-2.3.0 → psengine-2.3.1}/psengine/detection/detection_rule.py +0 -0
  43. {psengine-2.3.0 → psengine-2.3.1}/psengine/detection/errors.py +0 -0
  44. {psengine-2.3.0 → psengine-2.3.1}/psengine/detection/helpers.py +0 -0
  45. {psengine-2.3.0 → psengine-2.3.1}/psengine/detection/models.py +0 -0
  46. {psengine-2.3.0 → psengine-2.3.1}/psengine/endpoints.py +0 -0
  47. {psengine-2.3.0 → psengine-2.3.1}/psengine/enrich/__init__.py +0 -0
  48. {psengine-2.3.0 → psengine-2.3.1}/psengine/enrich/constants.py +0 -0
  49. {psengine-2.3.0 → psengine-2.3.1}/psengine/enrich/errors.py +0 -0
  50. {psengine-2.3.0 → psengine-2.3.1}/psengine/enrich/lookup_mgr.py +0 -0
  51. {psengine-2.3.0 → psengine-2.3.1}/psengine/enrich/models/__init__.py +0 -0
  52. {psengine-2.3.0 → psengine-2.3.1}/psengine/enrich/models/base_enriched_entity.py +0 -0
  53. {psengine-2.3.0 → psengine-2.3.1}/psengine/enrich/models/soar.py +0 -0
  54. {psengine-2.3.0 → psengine-2.3.1}/psengine/enrich/soar.py +0 -0
  55. {psengine-2.3.0 → psengine-2.3.1}/psengine/enrich/soar_mgr.py +0 -0
  56. {psengine-2.3.0 → psengine-2.3.1}/psengine/entity_lists/__init__.py +0 -0
  57. {psengine-2.3.0 → psengine-2.3.1}/psengine/entity_lists/constants.py +0 -0
  58. {psengine-2.3.0 → psengine-2.3.1}/psengine/entity_lists/entity_list.py +0 -0
  59. {psengine-2.3.0 → psengine-2.3.1}/psengine/entity_lists/entity_list_mgr.py +0 -0
  60. {psengine-2.3.0 → psengine-2.3.1}/psengine/entity_lists/errors.py +0 -0
  61. {psengine-2.3.0 → psengine-2.3.1}/psengine/entity_lists/models.py +0 -0
  62. {psengine-2.3.0 → psengine-2.3.1}/psengine/entity_match/__init__.py +0 -0
  63. {psengine-2.3.0 → psengine-2.3.1}/psengine/entity_match/entity_match.py +0 -0
  64. {psengine-2.3.0 → psengine-2.3.1}/psengine/entity_match/entity_match_mgr.py +0 -0
  65. {psengine-2.3.0 → psengine-2.3.1}/psengine/entity_match/errors.py +0 -0
  66. {psengine-2.3.0 → psengine-2.3.1}/psengine/entity_match/models.py +0 -0
  67. {psengine-2.3.0 → psengine-2.3.1}/psengine/errors.py +0 -0
  68. {psengine-2.3.0 → psengine-2.3.1}/psengine/fusion/__init__.py +0 -0
  69. {psengine-2.3.0 → psengine-2.3.1}/psengine/fusion/errors.py +0 -0
  70. {psengine-2.3.0 → psengine-2.3.1}/psengine/fusion/fusion_mgr.py +0 -0
  71. {psengine-2.3.0 → psengine-2.3.1}/psengine/fusion/models.py +0 -0
  72. {psengine-2.3.0 → psengine-2.3.1}/psengine/helpers/__init__.py +0 -0
  73. {psengine-2.3.0 → psengine-2.3.1}/psengine/helpers/helpers.py +0 -0
  74. {psengine-2.3.0 → psengine-2.3.1}/psengine/identity/__init__.py +0 -0
  75. {psengine-2.3.0 → psengine-2.3.1}/psengine/identity/constants.py +0 -0
  76. {psengine-2.3.0 → psengine-2.3.1}/psengine/identity/errors.py +0 -0
  77. {psengine-2.3.0 → psengine-2.3.1}/psengine/identity/identity.py +0 -0
  78. {psengine-2.3.0 → psengine-2.3.1}/psengine/identity/identity_mgr.py +0 -0
  79. {psengine-2.3.0 → psengine-2.3.1}/psengine/identity/models/__init__.py +0 -0
  80. {psengine-2.3.0 → psengine-2.3.1}/psengine/identity/models/common_models.py +0 -0
  81. {psengine-2.3.0 → psengine-2.3.1}/psengine/identity/models/detections.py +0 -0
  82. {psengine-2.3.0 → psengine-2.3.1}/psengine/identity/models/incident_report.py +0 -0
  83. {psengine-2.3.0 → psengine-2.3.1}/psengine/identity/models/lookup.py +0 -0
  84. {psengine-2.3.0 → psengine-2.3.1}/psengine/logger/__init__.py +0 -0
  85. {psengine-2.3.0 → psengine-2.3.1}/psengine/logger/constants.py +0 -0
  86. {psengine-2.3.0 → psengine-2.3.1}/psengine/logger/errors.py +0 -0
  87. {psengine-2.3.0 → psengine-2.3.1}/psengine/logger/rf_logger.py +0 -0
  88. {psengine-2.3.0 → psengine-2.3.1}/psengine/malware_intel/__init__.py +0 -0
  89. {psengine-2.3.0 → psengine-2.3.1}/psengine/malware_intel/errors.py +0 -0
  90. {psengine-2.3.0 → psengine-2.3.1}/psengine/malware_intel/malware_intel.py +0 -0
  91. {psengine-2.3.0 → psengine-2.3.1}/psengine/malware_intel/malware_intel_mgr.py +0 -0
  92. {psengine-2.3.0 → psengine-2.3.1}/psengine/malware_intel/models.py +0 -0
  93. {psengine-2.3.0 → psengine-2.3.1}/psengine/markdown/__init__.py +0 -0
  94. {psengine-2.3.0 → psengine-2.3.1}/psengine/markdown/markdown.py +0 -0
  95. {psengine-2.3.0 → psengine-2.3.1}/psengine/markdown/models.py +0 -0
  96. {psengine-2.3.0 → psengine-2.3.1}/psengine/playbook_alerts/__init__.py +0 -0
  97. {psengine-2.3.0 → psengine-2.3.1}/psengine/playbook_alerts/constants.py +0 -0
  98. {psengine-2.3.0 → psengine-2.3.1}/psengine/playbook_alerts/errors.py +0 -0
  99. {psengine-2.3.0 → psengine-2.3.1}/psengine/playbook_alerts/helpers.py +0 -0
  100. {psengine-2.3.0 → psengine-2.3.1}/psengine/playbook_alerts/mappings.py +0 -0
  101. {psengine-2.3.0 → psengine-2.3.1}/psengine/playbook_alerts/markdown/__init__.py +0 -0
  102. {psengine-2.3.0 → psengine-2.3.1}/psengine/playbook_alerts/markdown/markdown.py +0 -0
  103. {psengine-2.3.0 → psengine-2.3.1}/psengine/playbook_alerts/markdown/markdown_code_repo.py +0 -0
  104. {psengine-2.3.0 → psengine-2.3.1}/psengine/playbook_alerts/markdown/markdown_cyber_vulnerability.py +0 -0
  105. {psengine-2.3.0 → psengine-2.3.1}/psengine/playbook_alerts/markdown/markdown_domain_abuse.py +0 -0
  106. {psengine-2.3.0 → psengine-2.3.1}/psengine/playbook_alerts/markdown/markdown_geopolitics_facility.py +0 -0
  107. {psengine-2.3.0 → psengine-2.3.1}/psengine/playbook_alerts/markdown/markdown_identity_exposure.py +0 -0
  108. {psengine-2.3.0 → psengine-2.3.1}/psengine/playbook_alerts/markdown/markdown_malware_report.py +0 -0
  109. {psengine-2.3.0 → psengine-2.3.1}/psengine/playbook_alerts/markdown/markdown_third_party_risk.py +0 -0
  110. {psengine-2.3.0 → psengine-2.3.1}/psengine/playbook_alerts/models/__init__.py +0 -0
  111. {psengine-2.3.0 → psengine-2.3.1}/psengine/playbook_alerts/models/common_models.py +0 -0
  112. {psengine-2.3.0 → psengine-2.3.1}/psengine/playbook_alerts/models/panel_log.py +0 -0
  113. {psengine-2.3.0 → psengine-2.3.1}/psengine/playbook_alerts/models/panel_status.py +0 -0
  114. {psengine-2.3.0 → psengine-2.3.1}/psengine/playbook_alerts/models/pba_code_repo_leak.py +0 -0
  115. {psengine-2.3.0 → psengine-2.3.1}/psengine/playbook_alerts/models/pba_cyber_vulnerability.py +0 -0
  116. {psengine-2.3.0 → psengine-2.3.1}/psengine/playbook_alerts/models/pba_domain_abuse.py +0 -0
  117. {psengine-2.3.0 → psengine-2.3.1}/psengine/playbook_alerts/models/pba_geopolitics_facility.py +0 -0
  118. {psengine-2.3.0 → psengine-2.3.1}/psengine/playbook_alerts/models/pba_identity_exposures.py +0 -0
  119. {psengine-2.3.0 → psengine-2.3.1}/psengine/playbook_alerts/models/pba_malware_report.py +0 -0
  120. {psengine-2.3.0 → psengine-2.3.1}/psengine/playbook_alerts/models/pba_third_party_risk.py +0 -0
  121. {psengine-2.3.0 → psengine-2.3.1}/psengine/playbook_alerts/models/search_endpoint.py +0 -0
  122. {psengine-2.3.0 → psengine-2.3.1}/psengine/playbook_alerts/pa_category.py +0 -0
  123. {psengine-2.3.0 → psengine-2.3.1}/psengine/playbook_alerts/playbook_alert_mgr.py +0 -0
  124. {psengine-2.3.0 → psengine-2.3.1}/psengine/playbook_alerts/playbook_alerts.py +0 -0
  125. {psengine-2.3.0 → psengine-2.3.1}/psengine/py.typed +0 -0
  126. {psengine-2.3.0 → psengine-2.3.1}/psengine/rf_client.py +0 -0
  127. {psengine-2.3.0 → psengine-2.3.1}/psengine/risk_history/__init__.py +0 -0
  128. {psengine-2.3.0 → psengine-2.3.1}/psengine/risk_history/errors.py +0 -0
  129. {psengine-2.3.0 → psengine-2.3.1}/psengine/risk_history/models.py +0 -0
  130. {psengine-2.3.0 → psengine-2.3.1}/psengine/risk_history/risk_history_mgr.py +0 -0
  131. {psengine-2.3.0 → psengine-2.3.1}/psengine/risklists/__init__.py +0 -0
  132. {psengine-2.3.0 → psengine-2.3.1}/psengine/risklists/constants.py +0 -0
  133. {psengine-2.3.0 → psengine-2.3.1}/psengine/risklists/errors.py +0 -0
  134. {psengine-2.3.0 → psengine-2.3.1}/psengine/risklists/models.py +0 -0
  135. {psengine-2.3.0 → psengine-2.3.1}/psengine/risklists/risklist_mgr.py +0 -0
  136. {psengine-2.3.0 → psengine-2.3.1}/psengine/stix2/__init__.py +0 -0
  137. {psengine-2.3.0 → psengine-2.3.1}/psengine/stix2/base_stix_entity.py +0 -0
  138. {psengine-2.3.0 → psengine-2.3.1}/psengine/stix2/complex_entity.py +0 -0
  139. {psengine-2.3.0 → psengine-2.3.1}/psengine/stix2/constants.py +0 -0
  140. {psengine-2.3.0 → psengine-2.3.1}/psengine/stix2/enriched_indicator.py +0 -0
  141. {psengine-2.3.0 → psengine-2.3.1}/psengine/stix2/errors.py +0 -0
  142. {psengine-2.3.0 → psengine-2.3.1}/psengine/stix2/helpers.py +0 -0
  143. {psengine-2.3.0 → psengine-2.3.1}/psengine/stix2/rf_bundle.py +0 -0
  144. {psengine-2.3.0 → psengine-2.3.1}/psengine/stix2/simple_entity.py +0 -0
  145. {psengine-2.3.0 → psengine-2.3.1}/psengine/stix2/util.py +0 -0
  146. {psengine-2.3.0 → psengine-2.3.1}/psengine.egg-info/SOURCES.txt +0 -0
  147. {psengine-2.3.0 → psengine-2.3.1}/psengine.egg-info/dependency_links.txt +0 -0
  148. {psengine-2.3.0 → psengine-2.3.1}/psengine.egg-info/requires.txt +0 -0
  149. {psengine-2.3.0 → psengine-2.3.1}/psengine.egg-info/top_level.txt +0 -0
  150. {psengine-2.3.0 → psengine-2.3.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: psengine
3
- Version: 2.3.0
3
+ Version: 2.3.1
4
4
  Summary: psengine is a simple, yet elegant, library for rapid development of integrations with Recorded Future.
5
5
  Author-email: Moise Medici <moise.medici@recordedfuture.com>, Patrick Kinsella <patrick.kinsella@recordedfuture.com>, Ernest Bartosevic <ernest.bartosevic@recordedfuture.com>
6
6
  License-Expression: MIT
@@ -21,6 +21,7 @@ from .models.base_enriched_entity import BaseEnrichedEntity
21
21
  from .models.lookup import (
22
22
  CVSS,
23
23
  CVSSV3,
24
+ CVSSV4,
24
25
  CVSSRating,
25
26
  DnsPortCert,
26
27
  EnterpriseList,
@@ -103,6 +104,7 @@ class EnrichedVulnerability(BaseEnrichedEntity):
103
104
  cvss: Optional[CVSS] = None
104
105
  cvss_ratings: list[CVSSRating] = Field(alias='cvssRatings', default=None)
105
106
  cvssv3: Optional[CVSSV3] = None
107
+ cvssv4: Optional[CVSSV4] = None
106
108
  nvd_description: Optional[str] = Field(alias='nvdDescription', default=None)
107
109
  nvd_references: Optional[list[NvdReference]] = Field(alias='nvdReferences', default=None)
108
110
  raw_risk: Optional[list[RawRisk]] = Field(alias='rawrisk', default=None)
@@ -206,6 +206,50 @@ class CVSSV3(RFBaseModel):
206
206
  availability_impact: Optional[str] = Field(alias='availabilityImpact', default=None)
207
207
 
208
208
 
209
+ class CVSSV4(RFBaseModel):
210
+ subsequent_system_integrity: Optional[str] = Field(
211
+ alias='subsequentSystemIntegrity', default=None
212
+ )
213
+ provider_urgency: Optional[str] = Field(alias='providerUrgency', default=None)
214
+ attack_requirements: Optional[str] = Field(alias='attackRequirements', default=None)
215
+ vulnerable_system_confidentiality: Optional[str] = Field(
216
+ alias='vulnerableSystemConfidentiality', default=None
217
+ )
218
+ vulnerability_response_effort: Optional[str] = Field(
219
+ alias='vulnerabilityResponseEffort', default=None
220
+ )
221
+ threat_score: Optional[float] = Field(alias='threatScore', default=None)
222
+ subsequent_system_availability: Optional[str] = Field(
223
+ alias='subsequentSystemAvailability', default=None
224
+ )
225
+ base_severity: Optional[str] = Field(alias='baseSeverity', default=None)
226
+ base_score: Optional[float] = Field(alias='baseScore', default=None)
227
+ user_interaction: Optional[str] = Field(alias='userInteraction', default=None)
228
+ attack_vector: Optional[str] = Field(alias='attackVector', default=None)
229
+ source: Optional[str] = None
230
+ vulnerable_system_integrity: Optional[str] = Field(
231
+ alias='vulnerableSystemIntegrity', default=None
232
+ )
233
+ vulnerable_system_availability: Optional[str] = Field(
234
+ alias='vulnerableSystemAvailability', default=None
235
+ )
236
+ modified: Optional[datetime] = None
237
+ vector_string: Optional[str] = Field(alias='vectorString', default=None)
238
+ recovery: Optional[str] = None
239
+ version: Optional[str] = None
240
+ threat_severity: Optional[str] = Field(alias='threatSeverity', default=None)
241
+ privileges_required: Optional[str] = Field(alias='privilegesRequired', default=None)
242
+ exploit_maturity: Optional[str] = Field(alias='exploitMaturity', default=None)
243
+ safety: Optional[str] = None
244
+ subsequent_system_confidentiality: Optional[str] = Field(
245
+ alias='subsequentSystemConfidentiality', default=None
246
+ )
247
+ automatable: Optional[str] = None
248
+ value_density: Optional[str] = Field(alias='valueDensity', default=None)
249
+ attack_complexity: Optional[str] = Field(alias='attackComplexity', default=None)
250
+ created: Optional[datetime] = None
251
+
252
+
209
253
  ###########################################################
210
254
  # Raw Risk
211
255
  ###########################################################
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: psengine
3
- Version: 2.3.0
3
+ Version: 2.3.1
4
4
  Summary: psengine is a simple, yet elegant, library for rapid development of integrations with Recorded Future.
5
5
  Author-email: Moise Medici <moise.medici@recordedfuture.com>, Patrick Kinsella <patrick.kinsella@recordedfuture.com>, Ernest Bartosevic <ernest.bartosevic@recordedfuture.com>
6
6
  License-Expression: MIT
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "psengine"
3
- version = "2.3.0"
3
+ version = "2.3.1"
4
4
  readme = "README.md"
5
5
  license = "MIT"
6
6
  requires-python = ">=3.9, <3.14"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes