revengai 2.13.0__py3-none-any.whl → 2.15.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 revengai might be problematic. Click here for more details.
- revengai/__init__.py +1 -1
- revengai/api_client.py +1 -1
- revengai/configuration.py +8 -4
- revengai/models/analysis_function_matching_request.py +3 -1
- revengai/models/auto_unstrip_request.py +3 -1
- revengai/models/function_matching_batch_response.py +6 -1
- revengai/models/function_matching_request.py +3 -1
- {revengai-2.13.0.dist-info → revengai-2.15.0.dist-info}/METADATA +1 -1
- {revengai-2.13.0.dist-info → revengai-2.15.0.dist-info}/RECORD +11 -11
- {revengai-2.13.0.dist-info → revengai-2.15.0.dist-info}/WHEEL +0 -0
- {revengai-2.13.0.dist-info → revengai-2.15.0.dist-info}/licenses/LICENSE.md +0 -0
revengai/__init__.py
CHANGED
revengai/api_client.py
CHANGED
|
@@ -90,7 +90,7 @@ class ApiClient:
|
|
|
90
90
|
self.default_headers[header_name] = header_value
|
|
91
91
|
self.cookie = cookie
|
|
92
92
|
# Set default User-Agent.
|
|
93
|
-
self.user_agent = 'OpenAPI-Generator/v2.
|
|
93
|
+
self.user_agent = 'OpenAPI-Generator/v2.15.0/python'
|
|
94
94
|
self.client_side_validation = configuration.client_side_validation
|
|
95
95
|
|
|
96
96
|
def __enter__(self):
|
revengai/configuration.py
CHANGED
|
@@ -162,6 +162,8 @@ class Configuration:
|
|
|
162
162
|
:param retries: Number of retries for API requests.
|
|
163
163
|
:param ca_cert_data: verify the peer using concatenated CA certificate data
|
|
164
164
|
in PEM (str) or DER (bytes) format.
|
|
165
|
+
:param cert_file: the path to a client certificate file, for mTLS.
|
|
166
|
+
:param key_file: the path to a client key file, for mTLS.
|
|
165
167
|
|
|
166
168
|
:Example:
|
|
167
169
|
|
|
@@ -203,6 +205,8 @@ conf = revengai.Configuration(
|
|
|
203
205
|
ssl_ca_cert: Optional[str]=None,
|
|
204
206
|
retries: Optional[int] = None,
|
|
205
207
|
ca_cert_data: Optional[Union[str, bytes]] = None,
|
|
208
|
+
cert_file: Optional[str]=None,
|
|
209
|
+
key_file: Optional[str]=None,
|
|
206
210
|
*,
|
|
207
211
|
debug: Optional[bool] = None,
|
|
208
212
|
) -> None:
|
|
@@ -284,10 +288,10 @@ conf = revengai.Configuration(
|
|
|
284
288
|
"""Set this to verify the peer using PEM (str) or DER (bytes)
|
|
285
289
|
certificate data.
|
|
286
290
|
"""
|
|
287
|
-
self.cert_file =
|
|
291
|
+
self.cert_file = cert_file
|
|
288
292
|
"""client certificate file
|
|
289
293
|
"""
|
|
290
|
-
self.key_file =
|
|
294
|
+
self.key_file = key_file
|
|
291
295
|
"""client key file
|
|
292
296
|
"""
|
|
293
297
|
self.assert_hostname = None
|
|
@@ -529,8 +533,8 @@ conf = revengai.Configuration(
|
|
|
529
533
|
return "Python SDK Debug Report:\n"\
|
|
530
534
|
"OS: {env}\n"\
|
|
531
535
|
"Python Version: {pyversion}\n"\
|
|
532
|
-
"Version of the API: v2.
|
|
533
|
-
"SDK Package Version: v2.
|
|
536
|
+
"Version of the API: v2.15.0\n"\
|
|
537
|
+
"SDK Package Version: v2.15.0".\
|
|
534
538
|
format(env=sys.platform, pyversion=sys.version)
|
|
535
539
|
|
|
536
540
|
def get_host_settings(self) -> List[HostSetting]:
|
|
@@ -32,8 +32,9 @@ class AnalysisFunctionMatchingRequest(BaseModel):
|
|
|
32
32
|
results_per_function: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=1, description="Maximum number of matches to return per function, default is 1, max is 10")
|
|
33
33
|
page: Optional[Annotated[int, Field(strict=True, ge=1)]] = Field(default=1, description="Page number for paginated results, default is 1 (first page)")
|
|
34
34
|
page_size: Optional[Annotated[int, Field(le=1000, strict=True, ge=0)]] = Field(default=0, description="Number of functions to return per page, default is 0 (all functions), max is 1000")
|
|
35
|
+
status_only: Optional[StrictBool] = Field(default=False, description="If set to true, only returns the status of the matching operation without the actual results")
|
|
35
36
|
no_cache: Optional[StrictBool] = Field(default=False, description="If set to true, forces the system to bypass any cached results and perform a fresh computation")
|
|
36
|
-
__properties: ClassVar[List[str]] = ["min_similarity", "filters", "results_per_function", "page", "page_size", "no_cache"]
|
|
37
|
+
__properties: ClassVar[List[str]] = ["min_similarity", "filters", "results_per_function", "page", "page_size", "status_only", "no_cache"]
|
|
37
38
|
|
|
38
39
|
model_config = ConfigDict(
|
|
39
40
|
populate_by_name=True,
|
|
@@ -99,6 +100,7 @@ class AnalysisFunctionMatchingRequest(BaseModel):
|
|
|
99
100
|
"results_per_function": obj.get("results_per_function") if obj.get("results_per_function") is not None else 1,
|
|
100
101
|
"page": obj.get("page") if obj.get("page") is not None else 1,
|
|
101
102
|
"page_size": obj.get("page_size") if obj.get("page_size") is not None else 0,
|
|
103
|
+
"status_only": obj.get("status_only") if obj.get("status_only") is not None else False,
|
|
102
104
|
"no_cache": obj.get("no_cache") if obj.get("no_cache") is not None else False
|
|
103
105
|
})
|
|
104
106
|
return _obj
|
|
@@ -30,8 +30,9 @@ class AutoUnstripRequest(BaseModel):
|
|
|
30
30
|
apply: Optional[StrictBool] = Field(default=False, description="Whether to apply the matched function names to the target binary, default is False")
|
|
31
31
|
confidence_threshold: Optional[Union[Annotated[float, Field(le=100.0, strict=True, ge=0.0)], Annotated[int, Field(le=100, strict=True, ge=0)]]] = Field(default=90.0, description="Confidence threshold for applying function names as a percentage, default is 90")
|
|
32
32
|
min_group_size: Optional[Annotated[int, Field(le=20, strict=True, ge=1)]] = Field(default=10, description="Minimum number of matching functions required to consider for a match, default is 10")
|
|
33
|
+
status_only: Optional[StrictBool] = Field(default=False, description="If set to true, only returns the status of the auto-unstrip operation without the actual results")
|
|
33
34
|
no_cache: Optional[StrictBool] = Field(default=False, description="If set to true, forces the system to bypass any cached results and perform a fresh computation")
|
|
34
|
-
__properties: ClassVar[List[str]] = ["min_similarity", "apply", "confidence_threshold", "min_group_size", "no_cache"]
|
|
35
|
+
__properties: ClassVar[List[str]] = ["min_similarity", "apply", "confidence_threshold", "min_group_size", "status_only", "no_cache"]
|
|
35
36
|
|
|
36
37
|
model_config = ConfigDict(
|
|
37
38
|
populate_by_name=True,
|
|
@@ -88,6 +89,7 @@ class AutoUnstripRequest(BaseModel):
|
|
|
88
89
|
"apply": obj.get("apply") if obj.get("apply") is not None else False,
|
|
89
90
|
"confidence_threshold": obj.get("confidence_threshold") if obj.get("confidence_threshold") is not None else 90.0,
|
|
90
91
|
"min_group_size": obj.get("min_group_size") if obj.get("min_group_size") is not None else 10,
|
|
92
|
+
"status_only": obj.get("status_only") if obj.get("status_only") is not None else False,
|
|
91
93
|
"no_cache": obj.get("no_cache") if obj.get("no_cache") is not None else False
|
|
92
94
|
})
|
|
93
95
|
return _obj
|
|
@@ -32,7 +32,7 @@ class FunctionMatchingBatchResponse(BaseModel):
|
|
|
32
32
|
error_message: Optional[StrictStr] = None
|
|
33
33
|
current_page: Optional[StrictInt] = None
|
|
34
34
|
total_pages: Optional[StrictInt] = None
|
|
35
|
-
matches: List[FunctionMatchingResultWithBestMatch]
|
|
35
|
+
matches: Optional[List[FunctionMatchingResultWithBestMatch]] = None
|
|
36
36
|
__properties: ClassVar[List[str]] = ["progress", "status", "total_time", "error_message", "current_page", "total_pages", "matches"]
|
|
37
37
|
|
|
38
38
|
model_config = ConfigDict(
|
|
@@ -106,6 +106,11 @@ class FunctionMatchingBatchResponse(BaseModel):
|
|
|
106
106
|
if self.total_pages is None and "total_pages" in self.model_fields_set:
|
|
107
107
|
_dict['total_pages'] = None
|
|
108
108
|
|
|
109
|
+
# set to None if matches (nullable) is None
|
|
110
|
+
# and model_fields_set contains the field
|
|
111
|
+
if self.matches is None and "matches" in self.model_fields_set:
|
|
112
|
+
_dict['matches'] = None
|
|
113
|
+
|
|
109
114
|
return _dict
|
|
110
115
|
|
|
111
116
|
@classmethod
|
|
@@ -34,8 +34,9 @@ class FunctionMatchingRequest(BaseModel):
|
|
|
34
34
|
results_per_function: Optional[Annotated[int, Field(le=50, strict=True, ge=1)]] = Field(default=1, description="Maximum number of matches to return per function, default is 1, max is 50")
|
|
35
35
|
page: Optional[Annotated[int, Field(strict=True, ge=1)]] = Field(default=1, description="Page number for paginated results, default is 1 (first page)")
|
|
36
36
|
page_size: Optional[Annotated[int, Field(le=1000, strict=True, ge=0)]] = Field(default=0, description="Number of functions to return per page, default is 0 (all functions), max is 1000")
|
|
37
|
+
status_only: Optional[StrictBool] = Field(default=False, description="If set to true, only returns the status of the matching operation without the actual results")
|
|
37
38
|
no_cache: Optional[StrictBool] = Field(default=False, description="If set to true, forces the system to bypass any cached results and perform a fresh computation")
|
|
38
|
-
__properties: ClassVar[List[str]] = ["model_id", "function_ids", "min_similarity", "filters", "results_per_function", "page", "page_size", "no_cache"]
|
|
39
|
+
__properties: ClassVar[List[str]] = ["model_id", "function_ids", "min_similarity", "filters", "results_per_function", "page", "page_size", "status_only", "no_cache"]
|
|
39
40
|
|
|
40
41
|
model_config = ConfigDict(
|
|
41
42
|
populate_by_name=True,
|
|
@@ -103,6 +104,7 @@ class FunctionMatchingRequest(BaseModel):
|
|
|
103
104
|
"results_per_function": obj.get("results_per_function") if obj.get("results_per_function") is not None else 1,
|
|
104
105
|
"page": obj.get("page") if obj.get("page") is not None else 1,
|
|
105
106
|
"page_size": obj.get("page_size") if obj.get("page_size") is not None else 0,
|
|
107
|
+
"status_only": obj.get("status_only") if obj.get("status_only") is not None else False,
|
|
106
108
|
"no_cache": obj.get("no_cache") if obj.get("no_cache") is not None else False
|
|
107
109
|
})
|
|
108
110
|
return _obj
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
revengai/__init__.py,sha256=
|
|
2
|
-
revengai/api_client.py,sha256=
|
|
1
|
+
revengai/__init__.py,sha256=16tgNN7wfvzm--I2_d4emSPUP2URkOCrJP9UJZshsRo,40887
|
|
2
|
+
revengai/api_client.py,sha256=AMkhjjVF70TuTpeR3KtXwAmSLB4VJlvST4jReLKTql0,27670
|
|
3
3
|
revengai/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
|
|
4
|
-
revengai/configuration.py,sha256=
|
|
4
|
+
revengai/configuration.py,sha256=cCYn4ZLIWcvxh9Y3se8kt6ohcCDo1ooBUzCF6RNJnTI,18969
|
|
5
5
|
revengai/exceptions.py,sha256=IvdI9ZIZ9b2lSSKtIKMQDlG-5UPAedrjm3U4xfmGkso,6385
|
|
6
6
|
revengai/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
7
|
revengai/rest.py,sha256=T6Q2dcazhntqm288H33BKC1hf8NVdvmQWgaymlJo158,9376
|
|
@@ -35,7 +35,7 @@ revengai/models/analysis_create_request.py,sha256=6hU94Fi47hrxXQ-wX1jRuDrDi1GQym
|
|
|
35
35
|
revengai/models/analysis_create_response.py,sha256=aaO3-lJ65iBGe5lnyW8exHb9qByDaWfF2hOVKrWkN-I,2628
|
|
36
36
|
revengai/models/analysis_detail_response.py,sha256=KPyzlSbu9TU7itVlhGusJVSszrZAkuC8dMg1welYZeM,4170
|
|
37
37
|
revengai/models/analysis_function_mapping.py,sha256=_8LOSaBOgsFKLeqvoizbU2FSHtekA7aNrM7deIJyM4k,2886
|
|
38
|
-
revengai/models/analysis_function_matching_request.py,sha256=
|
|
38
|
+
revengai/models/analysis_function_matching_request.py,sha256=BROfA46VO5-KN9AKkYJGY4TuoZfP4qf87tEem_Xj1cA,4894
|
|
39
39
|
revengai/models/analysis_functions.py,sha256=N1TKQuw33I9dw-i07kLus36k2bcAXQVm2oc1Ycfrgdw,3067
|
|
40
40
|
revengai/models/analysis_record.py,sha256=DxnERhF-s5AilH804yKtMAOyXhhjWQsq0ned1ji5t5Q,5516
|
|
41
41
|
revengai/models/analysis_scope.py,sha256=azpsUux2axe4QKwQ4FbW30HbazYYVFP-e68F9zp33-4,668
|
|
@@ -53,7 +53,7 @@ revengai/models/app_api_rest_v2_functions_types_function.py,sha256=t3BttHuPogip0
|
|
|
53
53
|
revengai/models/app_services_binary_ann_schema_tag_item.py,sha256=m25sIz8KEsPES0XGjmOZFhmLNLmB-jsakfRUpRfiMks,2977
|
|
54
54
|
revengai/models/app_services_dynamic_execution_schemas_dynamic_execution_status.py,sha256=9e3LDnw0iNCbowQPFTkNyIqkzsCQyJLZrx6tqRska6o,2562
|
|
55
55
|
revengai/models/argument.py,sha256=QmWpJiohyzTVC1GLHg1IlgM5QyONnBF6FGK_mOYQL_Y,3148
|
|
56
|
-
revengai/models/auto_unstrip_request.py,sha256=
|
|
56
|
+
revengai/models/auto_unstrip_request.py,sha256=DtTrmudKBYGdIEbv6-SWUUGOna4_JmRV8JkI_V_q0jI,4318
|
|
57
57
|
revengai/models/auto_unstrip_response.py,sha256=g37ANqNsVIM_BCb-kHNDak6E-8fNVUyPOh03YFjm2O8,4737
|
|
58
58
|
revengai/models/base_response.py,sha256=U1Hwv1TXztjpxHxXGwGk46egAYs49jfzEfr1nTajMjg,4526
|
|
59
59
|
revengai/models/base_response_analysis_create_response.py,sha256=bwA1vMqKgLUDcElBvuvTH2jo8tvx0mjfbMOnoniswbE,4682
|
|
@@ -209,9 +209,9 @@ revengai/models/function_info_output.py,sha256=iIxkZ6_KFSoz0NhbBXyNi7knPvWcIp-hm
|
|
|
209
209
|
revengai/models/function_local_variable_response.py,sha256=llv5alvfVXqxE3Cs6vt7qnQNyfwj4PBoxq_Sim65jic,2733
|
|
210
210
|
revengai/models/function_mapping.py,sha256=EBO_jGfEjK7ihIdx-bWSHAT9EozB_S9JDeCLL0dAQJM,2923
|
|
211
211
|
revengai/models/function_mapping_full.py,sha256=dax345vnk25zSPVVpAmCFrrOWXzFXW6OnhSs9zVIKpI,11948
|
|
212
|
-
revengai/models/function_matching_batch_response.py,sha256=
|
|
212
|
+
revengai/models/function_matching_batch_response.py,sha256=GC_Xhssh7nO1RtouaKpdoyMCuYj5AOehVcGVTRQD5Qw,5180
|
|
213
213
|
revengai/models/function_matching_filters.py,sha256=O5F1PIcPhbumH8z-4KbG7JNoUsx_H3wBZQU9kCZ_boI,3710
|
|
214
|
-
revengai/models/function_matching_request.py,sha256=
|
|
214
|
+
revengai/models/function_matching_request.py,sha256=u8K_4LHhkSASmfM07aACCH41sZVk4T-AQbMwUSQ2bHQ,5257
|
|
215
215
|
revengai/models/function_matching_result_with_best_match.py,sha256=lPuw9GkqzMvPguZRsct9mUZxdTu4swb8i5qwvge9wZM,4114
|
|
216
216
|
revengai/models/function_name_history.py,sha256=VnzWZ5rh52qunP6dYwGECaK4TSTd-SgvXuuNB4zjEjE,3495
|
|
217
217
|
revengai/models/function_param_response.py,sha256=hYsmmzxKwYuCh9y_khNvJSinRpvjDXcpi4fJ7xF-F3k,2697
|
|
@@ -319,7 +319,7 @@ revengai/models/vulnerabilities.py,sha256=9t6uoZd3svWyfcZJjmj6zP731Dp47Apb25y8Qt
|
|
|
319
319
|
revengai/models/vulnerability.py,sha256=P7rAOAYU5JLLpcRr824-YJgZba5kPb_J9ALV3tSNfLQ,3688
|
|
320
320
|
revengai/models/vulnerability_type.py,sha256=SyOgfMmELYYc_H84oPkikBpjwngtG5Qw9Q_86a2TPr8,866
|
|
321
321
|
revengai/models/workspace.py,sha256=chjU62GFvByEmaNd6luMNQVQLP3wlPx1zJgGJ_yyMLA,676
|
|
322
|
-
revengai-2.
|
|
323
|
-
revengai-2.
|
|
324
|
-
revengai-2.
|
|
325
|
-
revengai-2.
|
|
322
|
+
revengai-2.15.0.dist-info/METADATA,sha256=k9BuO4hP9oO4U-Gtu2ra2J7MIOqCY90--gokwh0ZngI,39255
|
|
323
|
+
revengai-2.15.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
324
|
+
revengai-2.15.0.dist-info/licenses/LICENSE.md,sha256=z1S-x9w52sZDqbFdJi0kL5-FLP5CR2aQA0kW8m6scaw,1052
|
|
325
|
+
revengai-2.15.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|