psengine 2.5.0__tar.gz → 2.5.2__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 (156) hide show
  1. {psengine-2.5.0 → psengine-2.5.2}/PKG-INFO +1 -1
  2. {psengine-2.5.0 → psengine-2.5.2}/psengine/constants.py +1 -1
  3. {psengine-2.5.0 → psengine-2.5.2}/psengine/playbook_alerts/models/panel_log.py +4 -4
  4. {psengine-2.5.0 → psengine-2.5.2}/psengine.egg-info/PKG-INFO +1 -1
  5. {psengine-2.5.0 → psengine-2.5.2}/pyproject.toml +1 -1
  6. {psengine-2.5.0 → psengine-2.5.2}/LICENSE +0 -0
  7. {psengine-2.5.0 → psengine-2.5.2}/README.md +0 -0
  8. {psengine-2.5.0 → psengine-2.5.2}/psengine/__init__.py +0 -0
  9. {psengine-2.5.0 → psengine-2.5.2}/psengine/_sdk_id.py +0 -0
  10. {psengine-2.5.0 → psengine-2.5.2}/psengine/analyst_notes/__init__.py +0 -0
  11. {psengine-2.5.0 → psengine-2.5.2}/psengine/analyst_notes/constants.py +0 -0
  12. {psengine-2.5.0 → psengine-2.5.2}/psengine/analyst_notes/errors.py +0 -0
  13. {psengine-2.5.0 → psengine-2.5.2}/psengine/analyst_notes/helpers.py +0 -0
  14. {psengine-2.5.0 → psengine-2.5.2}/psengine/analyst_notes/markdown.py +0 -0
  15. {psengine-2.5.0 → psengine-2.5.2}/psengine/analyst_notes/models.py +0 -0
  16. {psengine-2.5.0 → psengine-2.5.2}/psengine/analyst_notes/note.py +0 -0
  17. {psengine-2.5.0 → psengine-2.5.2}/psengine/analyst_notes/note_mgr.py +0 -0
  18. {psengine-2.5.0 → psengine-2.5.2}/psengine/asi/__init__.py +0 -0
  19. {psengine-2.5.0 → psengine-2.5.2}/psengine/asi/asi.py +0 -0
  20. {psengine-2.5.0 → psengine-2.5.2}/psengine/asi/asi_mgr.py +0 -0
  21. {psengine-2.5.0 → psengine-2.5.2}/psengine/asi/client.py +0 -0
  22. {psengine-2.5.0 → psengine-2.5.2}/psengine/asi/constants.py +0 -0
  23. {psengine-2.5.0 → psengine-2.5.2}/psengine/asi/errors.py +0 -0
  24. {psengine-2.5.0 → psengine-2.5.2}/psengine/asi/models.py +0 -0
  25. {psengine-2.5.0 → psengine-2.5.2}/psengine/base_http_client.py +0 -0
  26. {psengine-2.5.0 → psengine-2.5.2}/psengine/classic_alerts/__init__.py +0 -0
  27. {psengine-2.5.0 → psengine-2.5.2}/psengine/classic_alerts/classic_alert.py +0 -0
  28. {psengine-2.5.0 → psengine-2.5.2}/psengine/classic_alerts/classic_alert_mgr.py +0 -0
  29. {psengine-2.5.0 → psengine-2.5.2}/psengine/classic_alerts/constants.py +0 -0
  30. {psengine-2.5.0 → psengine-2.5.2}/psengine/classic_alerts/errors.py +0 -0
  31. {psengine-2.5.0 → psengine-2.5.2}/psengine/classic_alerts/helpers.py +0 -0
  32. {psengine-2.5.0 → psengine-2.5.2}/psengine/classic_alerts/markdown/__init__.py +0 -0
  33. {psengine-2.5.0 → psengine-2.5.2}/psengine/classic_alerts/markdown/markdown.py +0 -0
  34. {psengine-2.5.0 → psengine-2.5.2}/psengine/classic_alerts/models.py +0 -0
  35. {psengine-2.5.0 → psengine-2.5.2}/psengine/collective_insights/__init__.py +0 -0
  36. {psengine-2.5.0 → psengine-2.5.2}/psengine/collective_insights/collective_insights.py +0 -0
  37. {psengine-2.5.0 → psengine-2.5.2}/psengine/collective_insights/constants.py +0 -0
  38. {psengine-2.5.0 → psengine-2.5.2}/psengine/collective_insights/errors.py +0 -0
  39. {psengine-2.5.0 → psengine-2.5.2}/psengine/collective_insights/insight.py +0 -0
  40. {psengine-2.5.0 → psengine-2.5.2}/psengine/collective_insights/models.py +0 -0
  41. {psengine-2.5.0 → psengine-2.5.2}/psengine/common_models.py +0 -0
  42. {psengine-2.5.0 → psengine-2.5.2}/psengine/config/__init__.py +0 -0
  43. {psengine-2.5.0 → psengine-2.5.2}/psengine/config/config.py +0 -0
  44. {psengine-2.5.0 → psengine-2.5.2}/psengine/config/errors.py +0 -0
  45. {psengine-2.5.0 → psengine-2.5.2}/psengine/detection/__init__.py +0 -0
  46. {psengine-2.5.0 → psengine-2.5.2}/psengine/detection/detection_mgr.py +0 -0
  47. {psengine-2.5.0 → psengine-2.5.2}/psengine/detection/detection_rule.py +0 -0
  48. {psengine-2.5.0 → psengine-2.5.2}/psengine/detection/errors.py +0 -0
  49. {psengine-2.5.0 → psengine-2.5.2}/psengine/detection/helpers.py +0 -0
  50. {psengine-2.5.0 → psengine-2.5.2}/psengine/detection/models.py +0 -0
  51. {psengine-2.5.0 → psengine-2.5.2}/psengine/endpoints.py +0 -0
  52. {psengine-2.5.0 → psengine-2.5.2}/psengine/enrich/__init__.py +0 -0
  53. {psengine-2.5.0 → psengine-2.5.2}/psengine/enrich/constants.py +0 -0
  54. {psengine-2.5.0 → psengine-2.5.2}/psengine/enrich/errors.py +0 -0
  55. {psengine-2.5.0 → psengine-2.5.2}/psengine/enrich/lookup.py +0 -0
  56. {psengine-2.5.0 → psengine-2.5.2}/psengine/enrich/lookup_mgr.py +0 -0
  57. {psengine-2.5.0 → psengine-2.5.2}/psengine/enrich/models/__init__.py +0 -0
  58. {psengine-2.5.0 → psengine-2.5.2}/psengine/enrich/models/base_enriched_entity.py +0 -0
  59. {psengine-2.5.0 → psengine-2.5.2}/psengine/enrich/models/lookup.py +0 -0
  60. {psengine-2.5.0 → psengine-2.5.2}/psengine/enrich/models/soar.py +0 -0
  61. {psengine-2.5.0 → psengine-2.5.2}/psengine/enrich/soar.py +0 -0
  62. {psengine-2.5.0 → psengine-2.5.2}/psengine/enrich/soar_mgr.py +0 -0
  63. {psengine-2.5.0 → psengine-2.5.2}/psengine/entity_lists/__init__.py +0 -0
  64. {psengine-2.5.0 → psengine-2.5.2}/psengine/entity_lists/constants.py +0 -0
  65. {psengine-2.5.0 → psengine-2.5.2}/psengine/entity_lists/entity_list.py +0 -0
  66. {psengine-2.5.0 → psengine-2.5.2}/psengine/entity_lists/entity_list_mgr.py +0 -0
  67. {psengine-2.5.0 → psengine-2.5.2}/psengine/entity_lists/errors.py +0 -0
  68. {psengine-2.5.0 → psengine-2.5.2}/psengine/entity_lists/models.py +0 -0
  69. {psengine-2.5.0 → psengine-2.5.2}/psengine/entity_match/__init__.py +0 -0
  70. {psengine-2.5.0 → psengine-2.5.2}/psengine/entity_match/entity_match.py +0 -0
  71. {psengine-2.5.0 → psengine-2.5.2}/psengine/entity_match/entity_match_mgr.py +0 -0
  72. {psengine-2.5.0 → psengine-2.5.2}/psengine/entity_match/errors.py +0 -0
  73. {psengine-2.5.0 → psengine-2.5.2}/psengine/entity_match/models.py +0 -0
  74. {psengine-2.5.0 → psengine-2.5.2}/psengine/errors.py +0 -0
  75. {psengine-2.5.0 → psengine-2.5.2}/psengine/fusion/__init__.py +0 -0
  76. {psengine-2.5.0 → psengine-2.5.2}/psengine/fusion/errors.py +0 -0
  77. {psengine-2.5.0 → psengine-2.5.2}/psengine/fusion/fusion_mgr.py +0 -0
  78. {psengine-2.5.0 → psengine-2.5.2}/psengine/fusion/models.py +0 -0
  79. {psengine-2.5.0 → psengine-2.5.2}/psengine/helpers/__init__.py +0 -0
  80. {psengine-2.5.0 → psengine-2.5.2}/psengine/helpers/helpers.py +0 -0
  81. {psengine-2.5.0 → psengine-2.5.2}/psengine/identity/__init__.py +0 -0
  82. {psengine-2.5.0 → psengine-2.5.2}/psengine/identity/constants.py +0 -0
  83. {psengine-2.5.0 → psengine-2.5.2}/psengine/identity/errors.py +0 -0
  84. {psengine-2.5.0 → psengine-2.5.2}/psengine/identity/identity.py +0 -0
  85. {psengine-2.5.0 → psengine-2.5.2}/psengine/identity/identity_mgr.py +0 -0
  86. {psengine-2.5.0 → psengine-2.5.2}/psengine/identity/models/__init__.py +0 -0
  87. {psengine-2.5.0 → psengine-2.5.2}/psengine/identity/models/common_models.py +0 -0
  88. {psengine-2.5.0 → psengine-2.5.2}/psengine/identity/models/detections.py +0 -0
  89. {psengine-2.5.0 → psengine-2.5.2}/psengine/identity/models/incident_report.py +0 -0
  90. {psengine-2.5.0 → psengine-2.5.2}/psengine/identity/models/lookup.py +0 -0
  91. {psengine-2.5.0 → psengine-2.5.2}/psengine/logger/__init__.py +0 -0
  92. {psengine-2.5.0 → psengine-2.5.2}/psengine/logger/constants.py +0 -0
  93. {psengine-2.5.0 → psengine-2.5.2}/psengine/logger/errors.py +0 -0
  94. {psengine-2.5.0 → psengine-2.5.2}/psengine/logger/rf_logger.py +0 -0
  95. {psengine-2.5.0 → psengine-2.5.2}/psengine/malware_intel/__init__.py +0 -0
  96. {psengine-2.5.0 → psengine-2.5.2}/psengine/malware_intel/errors.py +0 -0
  97. {psengine-2.5.0 → psengine-2.5.2}/psengine/malware_intel/malware_intel.py +0 -0
  98. {psengine-2.5.0 → psengine-2.5.2}/psengine/malware_intel/malware_intel_mgr.py +0 -0
  99. {psengine-2.5.0 → psengine-2.5.2}/psengine/malware_intel/models.py +0 -0
  100. {psengine-2.5.0 → psengine-2.5.2}/psengine/markdown/__init__.py +0 -0
  101. {psengine-2.5.0 → psengine-2.5.2}/psengine/markdown/markdown.py +0 -0
  102. {psengine-2.5.0 → psengine-2.5.2}/psengine/markdown/models.py +0 -0
  103. {psengine-2.5.0 → psengine-2.5.2}/psengine/playbook_alerts/__init__.py +0 -0
  104. {psengine-2.5.0 → psengine-2.5.2}/psengine/playbook_alerts/constants.py +0 -0
  105. {psengine-2.5.0 → psengine-2.5.2}/psengine/playbook_alerts/errors.py +0 -0
  106. {psengine-2.5.0 → psengine-2.5.2}/psengine/playbook_alerts/helpers.py +0 -0
  107. {psengine-2.5.0 → psengine-2.5.2}/psengine/playbook_alerts/mappings.py +0 -0
  108. {psengine-2.5.0 → psengine-2.5.2}/psengine/playbook_alerts/markdown/__init__.py +0 -0
  109. {psengine-2.5.0 → psengine-2.5.2}/psengine/playbook_alerts/markdown/markdown.py +0 -0
  110. {psengine-2.5.0 → psengine-2.5.2}/psengine/playbook_alerts/markdown/markdown_code_repo.py +0 -0
  111. {psengine-2.5.0 → psengine-2.5.2}/psengine/playbook_alerts/markdown/markdown_cyber_vulnerability.py +0 -0
  112. {psengine-2.5.0 → psengine-2.5.2}/psengine/playbook_alerts/markdown/markdown_domain_abuse.py +0 -0
  113. {psengine-2.5.0 → psengine-2.5.2}/psengine/playbook_alerts/markdown/markdown_geopolitics_facility.py +0 -0
  114. {psengine-2.5.0 → psengine-2.5.2}/psengine/playbook_alerts/markdown/markdown_identity_exposure.py +0 -0
  115. {psengine-2.5.0 → psengine-2.5.2}/psengine/playbook_alerts/markdown/markdown_malware_report.py +0 -0
  116. {psengine-2.5.0 → psengine-2.5.2}/psengine/playbook_alerts/markdown/markdown_third_party_risk.py +0 -0
  117. {psengine-2.5.0 → psengine-2.5.2}/psengine/playbook_alerts/models/__init__.py +0 -0
  118. {psengine-2.5.0 → psengine-2.5.2}/psengine/playbook_alerts/models/common_models.py +0 -0
  119. {psengine-2.5.0 → psengine-2.5.2}/psengine/playbook_alerts/models/panel_status.py +0 -0
  120. {psengine-2.5.0 → psengine-2.5.2}/psengine/playbook_alerts/models/pba_code_repo_leak.py +0 -0
  121. {psengine-2.5.0 → psengine-2.5.2}/psengine/playbook_alerts/models/pba_cyber_vulnerability.py +0 -0
  122. {psengine-2.5.0 → psengine-2.5.2}/psengine/playbook_alerts/models/pba_domain_abuse.py +0 -0
  123. {psengine-2.5.0 → psengine-2.5.2}/psengine/playbook_alerts/models/pba_geopolitics_facility.py +0 -0
  124. {psengine-2.5.0 → psengine-2.5.2}/psengine/playbook_alerts/models/pba_identity_exposures.py +0 -0
  125. {psengine-2.5.0 → psengine-2.5.2}/psengine/playbook_alerts/models/pba_malware_report.py +0 -0
  126. {psengine-2.5.0 → psengine-2.5.2}/psengine/playbook_alerts/models/pba_third_party_risk.py +0 -0
  127. {psengine-2.5.0 → psengine-2.5.2}/psengine/playbook_alerts/models/search_endpoint.py +0 -0
  128. {psengine-2.5.0 → psengine-2.5.2}/psengine/playbook_alerts/pa_category.py +0 -0
  129. {psengine-2.5.0 → psengine-2.5.2}/psengine/playbook_alerts/playbook_alert_mgr.py +0 -0
  130. {psengine-2.5.0 → psengine-2.5.2}/psengine/playbook_alerts/playbook_alerts.py +0 -0
  131. {psengine-2.5.0 → psengine-2.5.2}/psengine/py.typed +0 -0
  132. {psengine-2.5.0 → psengine-2.5.2}/psengine/rf_client.py +0 -0
  133. {psengine-2.5.0 → psengine-2.5.2}/psengine/risk_history/__init__.py +0 -0
  134. {psengine-2.5.0 → psengine-2.5.2}/psengine/risk_history/errors.py +0 -0
  135. {psengine-2.5.0 → psengine-2.5.2}/psengine/risk_history/models.py +0 -0
  136. {psengine-2.5.0 → psengine-2.5.2}/psengine/risk_history/risk_history_mgr.py +0 -0
  137. {psengine-2.5.0 → psengine-2.5.2}/psengine/risklists/__init__.py +0 -0
  138. {psengine-2.5.0 → psengine-2.5.2}/psengine/risklists/constants.py +0 -0
  139. {psengine-2.5.0 → psengine-2.5.2}/psengine/risklists/errors.py +0 -0
  140. {psengine-2.5.0 → psengine-2.5.2}/psengine/risklists/models.py +0 -0
  141. {psengine-2.5.0 → psengine-2.5.2}/psengine/risklists/risklist_mgr.py +0 -0
  142. {psengine-2.5.0 → psengine-2.5.2}/psengine/stix2/__init__.py +0 -0
  143. {psengine-2.5.0 → psengine-2.5.2}/psengine/stix2/base_stix_entity.py +0 -0
  144. {psengine-2.5.0 → psengine-2.5.2}/psengine/stix2/complex_entity.py +0 -0
  145. {psengine-2.5.0 → psengine-2.5.2}/psengine/stix2/constants.py +0 -0
  146. {psengine-2.5.0 → psengine-2.5.2}/psengine/stix2/enriched_indicator.py +0 -0
  147. {psengine-2.5.0 → psengine-2.5.2}/psengine/stix2/errors.py +0 -0
  148. {psengine-2.5.0 → psengine-2.5.2}/psengine/stix2/helpers.py +0 -0
  149. {psengine-2.5.0 → psengine-2.5.2}/psengine/stix2/rf_bundle.py +0 -0
  150. {psengine-2.5.0 → psengine-2.5.2}/psengine/stix2/simple_entity.py +0 -0
  151. {psengine-2.5.0 → psengine-2.5.2}/psengine/stix2/util.py +0 -0
  152. {psengine-2.5.0 → psengine-2.5.2}/psengine.egg-info/SOURCES.txt +0 -0
  153. {psengine-2.5.0 → psengine-2.5.2}/psengine.egg-info/dependency_links.txt +0 -0
  154. {psengine-2.5.0 → psengine-2.5.2}/psengine.egg-info/requires.txt +0 -0
  155. {psengine-2.5.0 → psengine-2.5.2}/psengine.egg-info/top_level.txt +0 -0
  156. {psengine-2.5.0 → psengine-2.5.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: psengine
3
- Version: 2.5.0
3
+ Version: 2.5.2
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
@@ -25,7 +25,7 @@ DEFAULT_MAX_WORKERS = 10
25
25
  RF_TOKEN_ENV_VAR = 'RF_TOKEN' # noqa: S105
26
26
  RF_TOKEN_VALIDATION_REGEX = r'^[a-z0-9]{32}$' # noqa: S105
27
27
  ASI_TOKEN_ENV_VAR = 'RF_ASI_TOKEN' # noqa: S105
28
- ASI_TOKEN_VALIDATION_REGEX = r'^[a-zA-Z0-9]{32}$' # noqa: S105
28
+ ASI_TOKEN_VALIDATION_REGEX = r'^[a-zA-Z0-9-_]{32}$' # noqa: S105
29
29
 
30
30
 
31
31
  #####################
@@ -14,7 +14,7 @@
14
14
  from datetime import datetime
15
15
  from typing import Optional
16
16
 
17
- from pydantic import Field, HttpUrl, model_validator
17
+ from pydantic import Field, model_validator
18
18
 
19
19
  from ...common_models import IdOptionalNameType, RFBaseModel
20
20
 
@@ -124,7 +124,7 @@ class DomainAbuseWhoisChange(ChangeType):
124
124
  class LogotypeInScreenshot(RFBaseModel):
125
125
  logotype_id: Optional[str] = None
126
126
  screenshot_id: Optional[str] = None
127
- url: HttpUrl
127
+ url: str
128
128
 
129
129
 
130
130
  class DomainAbuseLogoTypeChange(ChangeType):
@@ -173,7 +173,7 @@ class UrlAssessment(MaliciousAssessment):
173
173
 
174
174
 
175
175
  class MaliciousUrlRecord(RFBaseModel):
176
- url: Optional[HttpUrl] = None
176
+ url: Optional[str] = None
177
177
  assessments: list[UrlAssessment]
178
178
 
179
179
 
@@ -190,7 +190,7 @@ class MentionedEntity(RFBaseModel):
190
190
 
191
191
 
192
192
  class ScreenshotMention(RFBaseModel):
193
- url: HttpUrl
193
+ url: str
194
194
  screenshot_id: str
195
195
  document: str
196
196
  analyzed: datetime
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: psengine
3
- Version: 2.5.0
3
+ Version: 2.5.2
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.5.0"
3
+ version = "2.5.2"
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