Skip to content

Commit 36db6e9

Browse files
Merge branch 'develop' into 'main'
2.8.0 See merge request integrations/sdk/reversinglabs-sdk-py3!12
2 parents 8633a83 + c317e6f commit 36db6e9

File tree

4 files changed

+31
-21
lines changed

4 files changed

+31
-21
lines changed

CHANGELOG.md

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -361,12 +361,26 @@ v2.5.1 (2024-04-02)
361361
#### Improvements
362362
- **ticloud** module:
363363
- Corrected a typo in the docstrings and the README.
364-
365364

366365

366+
2.8.0 (2024-12-24)
367+
-------------------
368+
369+
#### Removals
370+
- **ticloud** module:
371+
- Removed the deprecated `sample_sha1` parameter from the `ticloud.DynamicAnalysis.detonate_sample` method.
367372

368-
### Scheduled removals
369-
- **December 2024.**:
370-
- Parameter `sample_sha1` from the `ticloud.DynamicAnalysis.detonate_sample` method will be removed. Parameter `sample_hash` should be used instead.
371-
- **March 2025.**:
372-
- Parameters `internet_simulation` and `sample_name` from the `ticloud.DynamicAnalysis.detonate_sample` method will be removed and should be further used through `**optional_parameters`.
373+
#### Improvements
374+
- **ticloud** module:
375+
- Parameters `internet_simulation` and `sample_name` from the `ticloud.DynamicAnalysis.detonate_sample` method are now used through the `**optiona_parameters` key-value parameter instead of as individual named parameters.
376+
377+
### Reversinglabs SDK Cookbook changes
378+
#### Improvements
379+
- **Scenarios and Workflows** notebooks:
380+
- Added the `download_advanced_search_matches_a1000.ipynb`, `download_advanced_search_matches_titaniumcloud.ipynb`, `download_yara_retro_matches_a1000.ipynb` and `download_yara_retro_matches_titaniumcloud.ipynb` notebooks.
381+
382+
- **Command line tools and scripts**:
383+
- Added the `cyber_defense_alliance.py` command line tool.
384+
385+
Starting with ReversingLabs SDK version 2.8.0, the **ReversingLabs SDK Cookbook** project's release cycle and versioning are closely tied to this project.
386+
This changelog will also be keeping track of changes made to the ReversingLabs SDK Cookbook project.

ReversingLabs/SDK/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@
55
A Python SDK for communicating with ReversingLabs services.
66
"""
77

8-
__version__ = "2.7.2"
8+
__version__ = "2.8.0"

ReversingLabs/SDK/a1000.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1407,7 +1407,7 @@ def get_yara_ruleset_contents(self, ruleset_name):
14071407
:param ruleset_name: name of the YARA ruleset to retrieve. Ruleset names are case-sensitive
14081408
:type ruleset_name: str
14091409
:return: response
1410-
:rtype: requests.Response:
1410+
:rtype: requests.Response
14111411
"""
14121412
if not isinstance(ruleset_name, str):
14131413
raise WrongInputError("ruleset_name parameter must be a string")
@@ -1432,7 +1432,7 @@ def get_yara_ruleset_matches_v2(self, ruleset_name, page=None, page_size=None):
14321432
:param page_size: parameter that controls how many results to return per page in the response
14331433
:type page_size: str
14341434
:return: response
1435-
:rtype: requests.Response:
1435+
:rtype: requests.Response
14361436
"""
14371437
param_list = []
14381438

@@ -1479,7 +1479,7 @@ def create_or_update_yara_ruleset(self, name, content, publish=None, ticloud=Non
14791479
:param ticloud: determines whether the ruleset should be synchronized with TitaniumCloud or not
14801480
:type ticloud: bool
14811481
:return: response
1482-
:rtype: requests.Response:
1482+
:rtype: requests.Response
14831483
"""
14841484
data = self.__create_post_payload(
14851485
name=name,
@@ -1506,7 +1506,7 @@ def delete_yara_ruleset(self, name, publish=None):
15061506
C1000 cluster
15071507
:type publish: bool
15081508
:return: response
1509-
:rtype: requests.Response:
1509+
:rtype: requests.Response
15101510
"""
15111511
post_json = self.__create_post_payload(
15121512
name=name,
@@ -1534,7 +1534,7 @@ def enable_or_disable_yara_ruleset(self, enabled, name, publish=None):
15341534
C1000 cluster
15351535
:type publish: bool
15361536
:return: response
1537-
:rtype: requests.Response:
1537+
:rtype: requests.Response
15381538
"""
15391539
data = self.__create_post_payload(
15401540
name=name,
@@ -1557,7 +1557,7 @@ def enable_or_disable_yara_ruleset(self, enabled, name, publish=None):
15571557
def get_yara_ruleset_synchronization_time(self):
15581558
"""Gets information about the current synchronization status for TitaniumCloud-enabled rulesets.
15591559
:return: response
1560-
:rtype: requests.Response:
1560+
:rtype: requests.Response
15611561
"""
15621562
endpoint = self.__GET_OR_SET_YARA_RULESET_SYNCHRONIZATION_TIME_ENDPOINT
15631563

@@ -1574,7 +1574,7 @@ def update_yara_ruleset_synchronization_time(self, sync_time):
15741574
:param sync_time: format should be UTC (YYYY-MM-DD hh:mm)
15751575
:type sync_time: str
15761576
:return: response
1577-
:rtype: requests.Response:
1577+
:rtype: requests.Response
15781578
"""
15791579
try:
15801580
datetime.datetime.strptime(sync_time, '%Y-%m-%d %H:%M')
@@ -1597,7 +1597,7 @@ def start_or_stop_yara_local_retro_scan(self, operation):
15971597
:param operation: accepted values: START, STOP (case-sensitive)
15981598
:type operation: str
15991599
:return: response
1600-
:rtype: requests.Response:
1600+
:rtype: requests.Response
16011601
"""
16021602
if operation not in ("START", "STOP"):
16031603
raise WrongInputError("operation parameter must be either 'START' or 'STOP'")
@@ -1617,7 +1617,7 @@ def get_yara_local_retro_scan_status(self):
16171617
state of Local Retro, time and date when the latest Local Retro scan was started and/or stopped, and a list of
16181618
previous Local Retro scans with the same details.
16191619
:return: response
1620-
:rtype: requests.Response:
1620+
:rtype: requests.Response
16211621
"""
16221622
endpoint = self.__YARA_LOCAL_RETROSCAN_ENDPOINT
16231623

ReversingLabs/SDK/ticloud.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3198,7 +3198,6 @@ def detonate_url(self, url_string, platform, **optional_parameters):
31983198

31993199
return response
32003200

3201-
@deprecated_args(dpr_args=["internet_simulation", "sample_name", "sample_sha1"])
32023201
def detonate_sample(self, sample_hash=None, platform=None, is_archive=False, **optional_parameters):
32033202
"""Submits a sample or a file archive available in the cloud for dynamic analysis and returns processing info.
32043203
:param sample_hash: SHA1, MD5 or SHA256 hash of the sample or archive
@@ -3217,10 +3216,7 @@ def detonate_sample(self, sample_hash=None, platform=None, is_archive=False, **o
32173216
:rtype: requests.Response
32183217
"""
32193218
if "sample_sha1" in optional_parameters:
3220-
if not sample_hash:
3221-
sample_hash = optional_parameters.get("sample_sha1")
3222-
3223-
del optional_parameters["sample_sha1"]
3219+
raise WrongInputError("sample_sha1 parameter was removed. Use sample_hash instead.")
32243220

32253221
validate_hashes(
32263222
hash_input=[sample_hash],

0 commit comments

Comments
 (0)