binalyze-air-sdk 1.0.1__py3-none-any.whl → 1.0.3__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.
Files changed (142) hide show
  1. binalyze_air/__init__.py +77 -77
  2. binalyze_air/apis/__init__.py +67 -27
  3. binalyze_air/apis/acquisitions.py +107 -0
  4. binalyze_air/apis/api_tokens.py +49 -0
  5. binalyze_air/apis/assets.py +161 -0
  6. binalyze_air/apis/audit_logs.py +26 -0
  7. binalyze_air/apis/{authentication.py → auth.py} +29 -27
  8. binalyze_air/apis/auto_asset_tags.py +79 -75
  9. binalyze_air/apis/backup.py +177 -0
  10. binalyze_air/apis/baseline.py +46 -0
  11. binalyze_air/apis/cases.py +225 -0
  12. binalyze_air/apis/cloud_forensics.py +116 -0
  13. binalyze_air/apis/event_subscription.py +96 -96
  14. binalyze_air/apis/evidence.py +249 -53
  15. binalyze_air/apis/interact.py +153 -36
  16. binalyze_air/apis/investigation_hub.py +234 -0
  17. binalyze_air/apis/license.py +104 -0
  18. binalyze_air/apis/logger.py +83 -0
  19. binalyze_air/apis/multipart_upload.py +201 -0
  20. binalyze_air/apis/notifications.py +115 -0
  21. binalyze_air/apis/organizations.py +267 -0
  22. binalyze_air/apis/params.py +44 -39
  23. binalyze_air/apis/policies.py +186 -0
  24. binalyze_air/apis/preset_filters.py +79 -0
  25. binalyze_air/apis/recent_activities.py +71 -0
  26. binalyze_air/apis/relay_server.py +104 -0
  27. binalyze_air/apis/settings.py +395 -27
  28. binalyze_air/apis/tasks.py +80 -0
  29. binalyze_air/apis/triage.py +197 -0
  30. binalyze_air/apis/user_management.py +183 -74
  31. binalyze_air/apis/webhook_executions.py +50 -0
  32. binalyze_air/apis/webhooks.py +322 -230
  33. binalyze_air/base.py +207 -133
  34. binalyze_air/client.py +217 -1337
  35. binalyze_air/commands/__init__.py +175 -145
  36. binalyze_air/commands/acquisitions.py +661 -387
  37. binalyze_air/commands/api_tokens.py +55 -0
  38. binalyze_air/commands/assets.py +324 -362
  39. binalyze_air/commands/{authentication.py → auth.py} +36 -36
  40. binalyze_air/commands/auto_asset_tags.py +230 -230
  41. binalyze_air/commands/backup.py +47 -0
  42. binalyze_air/commands/baseline.py +32 -396
  43. binalyze_air/commands/cases.py +609 -602
  44. binalyze_air/commands/cloud_forensics.py +88 -0
  45. binalyze_air/commands/event_subscription.py +101 -101
  46. binalyze_air/commands/evidences.py +918 -988
  47. binalyze_air/commands/interact.py +172 -58
  48. binalyze_air/commands/investigation_hub.py +315 -0
  49. binalyze_air/commands/license.py +183 -0
  50. binalyze_air/commands/logger.py +126 -0
  51. binalyze_air/commands/multipart_upload.py +363 -0
  52. binalyze_air/commands/notifications.py +45 -0
  53. binalyze_air/commands/organizations.py +200 -221
  54. binalyze_air/commands/policies.py +175 -203
  55. binalyze_air/commands/preset_filters.py +55 -0
  56. binalyze_air/commands/recent_activities.py +32 -0
  57. binalyze_air/commands/relay_server.py +144 -0
  58. binalyze_air/commands/settings.py +431 -29
  59. binalyze_air/commands/tasks.py +95 -56
  60. binalyze_air/commands/triage.py +224 -360
  61. binalyze_air/commands/user_management.py +351 -126
  62. binalyze_air/commands/webhook_executions.py +77 -0
  63. binalyze_air/config.py +244 -244
  64. binalyze_air/exceptions.py +49 -49
  65. binalyze_air/http_client.py +426 -305
  66. binalyze_air/models/__init__.py +287 -285
  67. binalyze_air/models/acquisitions.py +365 -250
  68. binalyze_air/models/api_tokens.py +73 -0
  69. binalyze_air/models/assets.py +438 -438
  70. binalyze_air/models/audit.py +247 -272
  71. binalyze_air/models/audit_logs.py +14 -0
  72. binalyze_air/models/{authentication.py → auth.py} +69 -69
  73. binalyze_air/models/auto_asset_tags.py +227 -116
  74. binalyze_air/models/backup.py +138 -0
  75. binalyze_air/models/baseline.py +231 -231
  76. binalyze_air/models/cases.py +275 -275
  77. binalyze_air/models/cloud_forensics.py +145 -0
  78. binalyze_air/models/event_subscription.py +170 -171
  79. binalyze_air/models/evidence.py +65 -65
  80. binalyze_air/models/evidences.py +367 -348
  81. binalyze_air/models/interact.py +266 -135
  82. binalyze_air/models/investigation_hub.py +265 -0
  83. binalyze_air/models/license.py +150 -0
  84. binalyze_air/models/logger.py +83 -0
  85. binalyze_air/models/multipart_upload.py +352 -0
  86. binalyze_air/models/notifications.py +138 -0
  87. binalyze_air/models/organizations.py +293 -293
  88. binalyze_air/models/params.py +153 -127
  89. binalyze_air/models/policies.py +260 -249
  90. binalyze_air/models/preset_filters.py +79 -0
  91. binalyze_air/models/recent_activities.py +70 -0
  92. binalyze_air/models/relay_server.py +121 -0
  93. binalyze_air/models/settings.py +538 -84
  94. binalyze_air/models/tasks.py +215 -149
  95. binalyze_air/models/triage.py +141 -142
  96. binalyze_air/models/user_management.py +200 -97
  97. binalyze_air/models/webhook_executions.py +33 -0
  98. binalyze_air/queries/__init__.py +121 -133
  99. binalyze_air/queries/acquisitions.py +155 -155
  100. binalyze_air/queries/api_tokens.py +46 -0
  101. binalyze_air/queries/assets.py +186 -105
  102. binalyze_air/queries/audit.py +400 -416
  103. binalyze_air/queries/{authentication.py → auth.py} +55 -55
  104. binalyze_air/queries/auto_asset_tags.py +59 -59
  105. binalyze_air/queries/backup.py +66 -0
  106. binalyze_air/queries/baseline.py +21 -185
  107. binalyze_air/queries/cases.py +292 -292
  108. binalyze_air/queries/cloud_forensics.py +137 -0
  109. binalyze_air/queries/event_subscription.py +54 -54
  110. binalyze_air/queries/evidence.py +139 -139
  111. binalyze_air/queries/evidences.py +279 -279
  112. binalyze_air/queries/interact.py +140 -28
  113. binalyze_air/queries/investigation_hub.py +329 -0
  114. binalyze_air/queries/license.py +85 -0
  115. binalyze_air/queries/logger.py +58 -0
  116. binalyze_air/queries/multipart_upload.py +180 -0
  117. binalyze_air/queries/notifications.py +71 -0
  118. binalyze_air/queries/organizations.py +222 -222
  119. binalyze_air/queries/params.py +154 -115
  120. binalyze_air/queries/policies.py +149 -149
  121. binalyze_air/queries/preset_filters.py +60 -0
  122. binalyze_air/queries/recent_activities.py +44 -0
  123. binalyze_air/queries/relay_server.py +42 -0
  124. binalyze_air/queries/settings.py +533 -20
  125. binalyze_air/queries/tasks.py +125 -81
  126. binalyze_air/queries/triage.py +230 -230
  127. binalyze_air/queries/user_management.py +193 -83
  128. binalyze_air/queries/webhook_executions.py +39 -0
  129. binalyze_air_sdk-1.0.3.dist-info/METADATA +752 -0
  130. binalyze_air_sdk-1.0.3.dist-info/RECORD +132 -0
  131. {binalyze_air_sdk-1.0.1.dist-info → binalyze_air_sdk-1.0.3.dist-info}/WHEEL +1 -1
  132. binalyze_air/apis/endpoints.py +0 -22
  133. binalyze_air/apis/evidences.py +0 -216
  134. binalyze_air/apis/users.py +0 -68
  135. binalyze_air/commands/users.py +0 -101
  136. binalyze_air/models/endpoints.py +0 -76
  137. binalyze_air/models/users.py +0 -82
  138. binalyze_air/queries/endpoints.py +0 -25
  139. binalyze_air/queries/users.py +0 -69
  140. binalyze_air_sdk-1.0.1.dist-info/METADATA +0 -635
  141. binalyze_air_sdk-1.0.1.dist-info/RECORD +0 -82
  142. {binalyze_air_sdk-1.0.1.dist-info → binalyze_air_sdk-1.0.3.dist-info}/top_level.txt +0 -0
@@ -1,128 +1,154 @@
1
- """
2
- Params API models for the Binalyze AIR SDK.
3
- """
4
-
5
- from typing import List, Optional, Dict, Any
6
- from enum import Enum
7
- from pydantic import Field
8
-
9
- from ..base import AIRBaseModel
10
-
11
-
12
- class ArtifactType(str, Enum):
13
- """Acquisition artifact types."""
14
- FILE = "file"
15
- REGISTRY = "registry"
16
- MEMORY = "memory"
17
- NETWORK = "network"
18
- PROCESS = "process"
19
- EVENT_LOG = "event_log"
20
- PREFETCH = "prefetch"
21
- BROWSER = "browser"
22
- SYSTEM = "system"
23
-
24
-
25
- class ArtifactCategory(str, Enum):
26
- """Artifact categories."""
27
- FORENSICS = "forensics"
28
- MALWARE = "malware"
29
- NETWORK = "network"
30
- SYSTEM = "system"
31
- BROWSER = "browser"
32
- EMAIL = "email"
33
- CHAT = "chat"
34
- CLOUD = "cloud"
35
-
36
-
37
- class Platform(str, Enum):
38
- """Supported platforms."""
39
- WINDOWS = "windows"
40
- LINUX = "linux"
41
- DARWIN = "darwin"
42
- MACOS = "macos"
43
-
44
-
45
- class AcquisitionArtifact(AIRBaseModel):
46
- """Acquisition artifact model based on API response structure."""
47
-
48
- name: str
49
- desc: str = Field(alias="desc")
50
- type: str = Field(alias="type")
51
-
52
- # Additional fields for SDK processing
53
- group: Optional[str] = None
54
- platform: Optional[str] = None
55
-
56
-
57
- class EDiscoveryPattern(AIRBaseModel):
58
- """E-Discovery pattern model based on API response structure."""
59
-
60
- name: str
61
- pattern: str
62
-
63
- # Additional fields for SDK processing
64
- category: Optional[str] = None
65
-
66
-
67
- class AcquisitionEvidence(AIRBaseModel):
68
- """Acquisition evidence model based on API response structure."""
69
-
70
- name: str
71
- desc: str = Field(alias="desc")
72
- type: str = Field(alias="type")
73
-
74
- # Additional fields for SDK processing
75
- group: Optional[str] = None
76
- platform: Optional[str] = None
77
-
78
-
79
- class DroneAnalyzer(AIRBaseModel):
80
- """Drone analyzer model with proper field mapping."""
81
-
82
- id: str = Field(alias="Id")
83
- name: str = Field(alias="Name")
84
- default_enabled: bool = Field(alias="DefaultEnabled")
85
- platforms: List[str] = Field(default=[], alias="Platforms")
86
- o_ses: List[str] = Field(default=[], alias="OSes")
87
-
88
- # Computed properties can be added as methods if needed
89
-
90
-
91
- # API Response wrapper models for structured responses
92
- class AcquisitionArtifactGroup(AIRBaseModel):
93
- """Group of acquisition artifacts."""
94
-
95
- group: str
96
- items: List[AcquisitionArtifact]
97
-
98
-
99
- class AcquisitionArtifactsResponse(AIRBaseModel):
100
- """Full response structure for acquisition artifacts."""
101
-
102
- windows: List[AcquisitionArtifactGroup] = []
103
- linux: List[AcquisitionArtifactGroup] = []
104
- macos: List[AcquisitionArtifactGroup] = []
105
- aix: List[AcquisitionArtifactGroup] = []
106
-
107
-
108
- class EDiscoveryCategory(AIRBaseModel):
109
- """E-Discovery pattern category."""
110
-
111
- category: str
112
- applications: List[EDiscoveryPattern]
113
-
114
-
115
- class AcquisitionEvidenceGroup(AIRBaseModel):
116
- """Group of acquisition evidences."""
117
-
118
- group: str
119
- items: List[AcquisitionEvidence]
120
-
121
-
122
- class AcquisitionEvidencesResponse(AIRBaseModel):
123
- """Full response structure for acquisition evidences."""
124
-
125
- windows: List[AcquisitionEvidenceGroup] = []
126
- linux: List[AcquisitionEvidenceGroup] = []
127
- macos: List[AcquisitionEvidenceGroup] = []
1
+ """
2
+ Params API models for the Binalyze AIR SDK.
3
+ """
4
+
5
+ from typing import List, Optional, Dict, Any
6
+ from enum import Enum
7
+ from pydantic import Field
8
+
9
+ from ..base import AIRBaseModel
10
+
11
+
12
+ class ArtifactType(str, Enum):
13
+ """Acquisition artifact types."""
14
+ FILE = "file"
15
+ REGISTRY = "registry"
16
+ MEMORY = "memory"
17
+ NETWORK = "network"
18
+ PROCESS = "process"
19
+ EVENT_LOG = "event_log"
20
+ PREFETCH = "prefetch"
21
+ BROWSER = "browser"
22
+ SYSTEM = "system"
23
+
24
+
25
+ class ArtifactCategory(str, Enum):
26
+ """Artifact categories."""
27
+ FORENSICS = "forensics"
28
+ MALWARE = "malware"
29
+ NETWORK = "network"
30
+ SYSTEM = "system"
31
+ BROWSER = "browser"
32
+ EMAIL = "email"
33
+ CHAT = "chat"
34
+ CLOUD = "cloud"
35
+
36
+
37
+ class Platform(str, Enum):
38
+ """Supported platforms."""
39
+ WINDOWS = "windows"
40
+ LINUX = "linux"
41
+ DARWIN = "darwin"
42
+ MACOS = "macos"
43
+
44
+
45
+ class AcquisitionArtifact(AIRBaseModel):
46
+ """Acquisition artifact model based on API response structure."""
47
+
48
+ name: str
49
+ desc: str = Field(alias="desc")
50
+ type: str = Field(alias="type")
51
+
52
+ # Additional fields for SDK processing
53
+ group: Optional[str] = None
54
+ platform: Optional[str] = None
55
+
56
+
57
+ class EDiscoveryPattern(AIRBaseModel):
58
+ """E-Discovery pattern model based on API response structure."""
59
+
60
+ name: str
61
+ pattern: str
62
+
63
+ # Additional fields for SDK processing
64
+ category: Optional[str] = None
65
+
66
+
67
+ class AcquisitionEvidence(AIRBaseModel):
68
+ """Acquisition evidence model based on API response structure."""
69
+
70
+ name: str
71
+ desc: str = Field(alias="desc")
72
+ type: str = Field(alias="type")
73
+
74
+ # Additional fields for SDK processing
75
+ group: Optional[str] = None
76
+ platform: Optional[str] = None
77
+
78
+
79
+ class DroneAnalyzer(AIRBaseModel):
80
+ """Drone analyzer model with proper field mapping."""
81
+
82
+ id: str = Field(alias="Id")
83
+ name: str = Field(alias="Name")
84
+ default_enabled: bool = Field(alias="DefaultEnabled")
85
+ platforms: List[str] = Field(default=[], alias="Platforms")
86
+ o_ses: List[str] = Field(default=[], alias="OSes")
87
+
88
+ # Computed properties can be added as methods if needed
89
+
90
+
91
+ # MITRE Attack models
92
+ class MitreAttackTactic(AIRBaseModel):
93
+ """MITRE ATT&CK tactic model."""
94
+
95
+ id: str
96
+ name: str
97
+ url: str
98
+
99
+
100
+ class MitreAttackTechnique(AIRBaseModel):
101
+ """MITRE ATT&CK technique model."""
102
+
103
+ id: str
104
+ name: str
105
+ url: str
106
+ sub_techniques: Optional[List[str]] = Field(default=[], alias="subTechniques")
107
+ parent_technique: Optional[str] = Field(default=None, alias="parentTechnique")
108
+
109
+
110
+ class MitreAttackResponse(AIRBaseModel):
111
+ """MITRE ATT&CK response structure - matches actual API response format."""
112
+
113
+ tactics: Dict[str, MitreAttackTactic]
114
+ techniques: Dict[str, MitreAttackTechnique]
115
+
116
+
117
+ # API Response wrapper models for structured responses
118
+ class AcquisitionArtifactGroup(AIRBaseModel):
119
+ """Group of acquisition artifacts."""
120
+
121
+ group: str
122
+ items: List[AcquisitionArtifact]
123
+
124
+
125
+ class AcquisitionArtifactsResponse(AIRBaseModel):
126
+ """Full response structure for acquisition artifacts."""
127
+
128
+ windows: List[AcquisitionArtifactGroup] = []
129
+ linux: List[AcquisitionArtifactGroup] = []
130
+ macos: List[AcquisitionArtifactGroup] = []
131
+ aix: List[AcquisitionArtifactGroup] = []
132
+
133
+
134
+ class EDiscoveryCategory(AIRBaseModel):
135
+ """E-Discovery pattern category."""
136
+
137
+ category: str
138
+ applications: List[EDiscoveryPattern]
139
+
140
+
141
+ class AcquisitionEvidenceGroup(AIRBaseModel):
142
+ """Group of acquisition evidences."""
143
+
144
+ group: str
145
+ items: List[AcquisitionEvidence]
146
+
147
+
148
+ class AcquisitionEvidencesResponse(AIRBaseModel):
149
+ """Full response structure for acquisition evidences."""
150
+
151
+ windows: List[AcquisitionEvidenceGroup] = []
152
+ linux: List[AcquisitionEvidenceGroup] = []
153
+ macos: List[AcquisitionEvidenceGroup] = []
128
154
  aix: List[AcquisitionEvidenceGroup] = []