Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .sdk-version
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
v4.4.0
v4.5.0
18 changes: 16 additions & 2 deletions README.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -16,7 +16,7 @@ Add this dependency to your project's POM:
<dependency>
<groupId>ai.reveng</groupId>
<artifactId>sdk</artifactId>
<version>4.4.0</version>
<version>4.5.0</version>
<scope>compile</scope>
</dependency>
```
Expand All@@ -31,7 +31,7 @@ repositories {
}

dependencies {
implementation "ai.reveng:sdk:4.4.0"
implementation "ai.reveng:sdk:4.5.0"
}
```

Expand DownExpand Up@@ -89,8 +89,11 @@ Class | Method | HTTP request | Description
*AgentApi* | [**getReportAnalysisResultV2AnalysesAnalysisIdAgentReportAnalysisGet**](docs/AgentApi.md#getReportAnalysisResultV2AnalysesAnalysisIdAgentReportAnalysisGet) | **GET** /v2/analyses/{analysis_id}/agent/report-analysis | Get Report Analysis Result
*AgentApi* | [**getTriageResultV2AnalysesAnalysisIdAgentTriageGet**](docs/AgentApi.md#getTriageResultV2AnalysesAnalysisIdAgentTriageGet) | **GET** /v2/analyses/{analysis_id}/agent/triage | Get Triage Result
*AgentApi* | [**v3CancelRenameUnnamedFunctions**](docs/AgentApi.md#v3CancelRenameUnnamedFunctions) | **POST** /v3/analyses/{analysis_id}/agents/rename-unnamed-functions/cancel | Cancel the rename-unnamed-functions agent.
*AgentApi* | [**v3CancelSecurityScanOperation**](docs/AgentApi.md#v3CancelSecurityScanOperation) | **POST** /v3/operations/security-scan/{analysis_id}:cancel | Cancel a security-scan operation.
*AgentApi* | [**v3GetRenameUnnamedFunctionsResult**](docs/AgentApi.md#v3GetRenameUnnamedFunctionsResult) | **GET** /v3/analyses/{analysis_id}/agents/rename-unnamed-functions | Get rename-unnamed-functions agent result.
*AgentApi* | [**v3GetRenameUnnamedFunctionsStatus**](docs/AgentApi.md#v3GetRenameUnnamedFunctionsStatus) | **GET** /v3/analyses/{analysis_id}/agents/rename-unnamed-functions/status | Get rename-unnamed-functions agent status.
*AgentApi* | [**v3GetSecurityScanOperation**](docs/AgentApi.md#v3GetSecurityScanOperation) | **GET** /v3/operations/security-scan/{analysis_id} | Get a security-scan operation.
*AgentApi* | [**v3RunSecurityScan**](docs/AgentApi.md#v3RunSecurityScan) | **POST** /v3/analyses/{analysis_id}/security-scan:run | Run the security-scan agent.
*AgentApi* | [**v3TriggerRenameUnnamedFunctions**](docs/AgentApi.md#v3TriggerRenameUnnamedFunctions) | **POST** /v3/analyses/{analysis_id}/agents/rename-unnamed-functions | Run the rename-unnamed-functions agent.
*AnalysesBulkActionsApi* | [**bulkAddAnalysisTags**](docs/AnalysesBulkActionsApi.md#bulkAddAnalysisTags) | **PATCH** /v2/analyses/tags/add | Bulk Add Analysis Tags
*AnalysesBulkActionsApi* | [**bulkDeleteAnalyses**](docs/AnalysesBulkActionsApi.md#bulkDeleteAnalyses) | **PATCH** /v2/analyses/delete | Bulk Delete Analyses
Expand DownExpand Up@@ -492,6 +495,7 @@ Class | Method | HTTP request | Description
- [EventCONTEXTCOMPACTED](docs/EventCONTEXTCOMPACTED.md)
- [EventDecompFailed](docs/EventDecompFailed.md)
- [EventDecompFinished](docs/EventDecompFinished.md)
- [EventNamesFinished](docs/EventNamesFinished.md)
- [EventProse](docs/EventProse.md)
- [EventRUNCANCELLED](docs/EventRUNCANCELLED.md)
- [EventRUNERROR](docs/EventRUNERROR.md)
Expand All@@ -516,6 +520,7 @@ Class | Method | HTTP request | Description
- [Example](docs/Example.md)
- [ExportModel](docs/ExportModel.md)
- [ExternalResponse](docs/ExternalResponse.md)
- [ExtractedBinary](docs/ExtractedBinary.md)
- [ExtractedURL](docs/ExtractedURL.md)
- [FileActivityEntry](docs/FileActivityEntry.md)
- [FileFormat](docs/FileFormat.md)
Expand DownExpand Up@@ -579,6 +584,7 @@ Class | Method | HTTP request | Description
- [IndirectCallSite](docs/IndirectCallSite.md)
- [IndirectCallSitesOutputBody](docs/IndirectCallSitesOutputBody.md)
- [InlineComment](docs/InlineComment.md)
- [InputBody](docs/InputBody.md)
- [InsertAnalysisLogRequest](docs/InsertAnalysisLogRequest.md)
- [InviteUserInputBody](docs/InviteUserInputBody.md)
- [IssuerAllowedDomain](docs/IssuerAllowedDomain.md)
Expand DownExpand Up@@ -611,8 +617,11 @@ Class | Method | HTTP request | Description
- [MutexEntry](docs/MutexEntry.md)
- [NameConfidence](docs/NameConfidence.md)
- [NameSourceType](docs/NameSourceType.md)
- [NamesFinishedEvent](docs/NamesFinishedEvent.md)
- [NetworkActivity](docs/NetworkActivity.md)
- [OIDCCallbackInputBody](docs/OIDCCallbackInputBody.md)
- [OperationSecurityScanMetadataSecurityScanResult](docs/OperationSecurityScanMetadataSecurityScanResult.md)
- [OperationWorkflowProgressResultBody](docs/OperationWorkflowProgressResultBody.md)
- [Order](docs/Order.md)
- [Organisation](docs/Organisation.md)
- [OrganisationGroup](docs/OrganisationGroup.md)
Expand DownExpand Up@@ -666,6 +675,7 @@ Class | Method | HTTP request | Description
- [ReportInfo](docs/ReportInfo.md)
- [ReportOptions](docs/ReportOptions.md)
- [ResolvedEntity](docs/ResolvedEntity.md)
- [ResultBody](docs/ResultBody.md)
- [RevokeBody](docs/RevokeBody.md)
- [SSOProvider](docs/SSOProvider.md)
- [SSOProvidersOutputBody](docs/SSOProvidersOutputBody.md)
Expand All@@ -676,6 +686,8 @@ Class | Method | HTTP request | Description
- [ScrapeThirdPartyConfig](docs/ScrapeThirdPartyConfig.md)
- [SectionModel](docs/SectionModel.md)
- [SecurityModel](docs/SecurityModel.md)
- [SecurityScanMetadata](docs/SecurityScanMetadata.md)
- [SecurityScanResult](docs/SecurityScanResult.md)
- [SegmentInfo](docs/SegmentInfo.md)
- [SendMessageRequest](docs/SendMessageRequest.md)
- [ServerSentEventsInner](docs/ServerSentEventsInner.md)
Expand DownExpand Up@@ -714,6 +726,7 @@ Class | Method | HTTP request | Description
- [StartMatchingForFunctionsInputBody](docs/StartMatchingForFunctionsInputBody.md)
- [StartMatchingOutputBody](docs/StartMatchingOutputBody.md)
- [StartupInfo](docs/StartupInfo.md)
- [Status](docs/Status.md)
- [StatusBody](docs/StatusBody.md)
- [StatusInput](docs/StatusInput.md)
- [StatusOutput](docs/StatusOutput.md)
Expand DownExpand Up@@ -745,6 +758,7 @@ Class | Method | HTTP request | Description
- [TriageReportResponse](docs/TriageReportResponse.md)
- [TriggerDynamicExecutionInputBody](docs/TriggerDynamicExecutionInputBody.md)
- [TriggerRenameUnnamedFunctionsInputBody](docs/TriggerRenameUnnamedFunctionsInputBody.md)
- [TriggerSecurityScanInputBody](docs/TriggerSecurityScanInputBody.md)
- [Ttp](docs/Ttp.md)
- [TypedefDataType](docs/TypedefDataType.md)
- [TypedefDefinition](docs/TypedefDefinition.md)
Expand Down
4 changes: 2 additions & 2 deletions build.gradle
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,7 +19,7 @@ apply plugin: 'java'
apply plugin: 'com.diffplug.spotless'

group = 'ai.reveng'
version = '4.4.0'
version = '4.5.0'



Expand DownExpand Up@@ -174,7 +174,7 @@ mavenPublishing {
// key, and signing without one fails the build.
if (project.hasProperty("signingInMemoryKey")) signAllPublications()

coordinates("ai.reveng", "sdk", "4.4.0")
coordinates("ai.reveng", "sdk", "4.5.0")

pom {
name = "sdk"
Expand Down
2 changes: 1 addition & 1 deletion build.sbt
Original file line numberDiff line numberDiff line change
Expand Up@@ -2,7 +2,7 @@ lazy val root = (project in file(".")).
settings(
organization := "ai.reveng",
name := "sdk",
version := "4.4.0",
version := "4.5.0",
scalaVersion := "2.11.12",
scalacOptions ++= Seq("-feature"),
compile / javacOptions ++= Seq("-Xlint:deprecation"),
Expand Down
236 changes: 236 additions & 0 deletions docs/AgentApi.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,8 +17,11 @@ All URIs are relative to *https://api.reveng.ai*
| [**getReportAnalysisResultV2AnalysesAnalysisIdAgentReportAnalysisGet**](AgentApi.md#getReportAnalysisResultV2AnalysesAnalysisIdAgentReportAnalysisGet) | **GET** /v2/analyses/{analysis_id}/agent/report-analysis | Get Report Analysis Result |
| [**getTriageResultV2AnalysesAnalysisIdAgentTriageGet**](AgentApi.md#getTriageResultV2AnalysesAnalysisIdAgentTriageGet) | **GET** /v2/analyses/{analysis_id}/agent/triage | Get Triage Result |
| [**v3CancelRenameUnnamedFunctions**](AgentApi.md#v3CancelRenameUnnamedFunctions) | **POST** /v3/analyses/{analysis_id}/agents/rename-unnamed-functions/cancel | Cancel the rename-unnamed-functions agent. |
| [**v3CancelSecurityScanOperation**](AgentApi.md#v3CancelSecurityScanOperation) | **POST** /v3/operations/security-scan/{analysis_id}:cancel | Cancel a security-scan operation. |
| [**v3GetRenameUnnamedFunctionsResult**](AgentApi.md#v3GetRenameUnnamedFunctionsResult) | **GET** /v3/analyses/{analysis_id}/agents/rename-unnamed-functions | Get rename-unnamed-functions agent result. |
| [**v3GetRenameUnnamedFunctionsStatus**](AgentApi.md#v3GetRenameUnnamedFunctionsStatus) | **GET** /v3/analyses/{analysis_id}/agents/rename-unnamed-functions/status | Get rename-unnamed-functions agent status. |
| [**v3GetSecurityScanOperation**](AgentApi.md#v3GetSecurityScanOperation) | **GET** /v3/operations/security-scan/{analysis_id} | Get a security-scan operation. |
| [**v3RunSecurityScan**](AgentApi.md#v3RunSecurityScan) | **POST** /v3/analyses/{analysis_id}/security-scan:run | Run the security-scan agent. |
| [**v3TriggerRenameUnnamedFunctions**](AgentApi.md#v3TriggerRenameUnnamedFunctions) | **POST** /v3/analyses/{analysis_id}/agents/rename-unnamed-functions | Run the rename-unnamed-functions agent. |


Expand DownExpand Up@@ -967,6 +970,82 @@ null (empty response body)
| **422** | Unprocessable Entity | - |
| **500** | Internal Server Error | - |

<a id="v3CancelSecurityScanOperation"></a>
# **v3CancelSecurityScanOperation**
> v3CancelSecurityScanOperation(analysisId)

Cancel a security-scan operation.

Requests cancellation of the currently running security-scan run for the analysis. Returns 404 if no run is in progress. **Error codes:** - &#x60;404&#x60; [&#x60;NOT_FOUND&#x60;](/errors/NOT_FOUND) — Not Found - &#x60;403&#x60; [&#x60;ACCESS_DENIED&#x60;](/errors/ACCESS_DENIED) — Access Denied - &#x60;404&#x60; [&#x60;NO_ACTIVE_RUN&#x60;](/errors/NO_ACTIVE_RUN) — No Active Run

### Example
```java
// Import classes:
import ai.reveng.invoker.ApiClient;
import ai.reveng.invoker.ApiException;
import ai.reveng.invoker.Configuration;
import ai.reveng.invoker.auth.*;
import ai.reveng.invoker.models.*;
import ai.reveng.api.AgentApi;

public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.reveng.ai");

// Configure API key authorization: APIKey
ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
APIKey.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//APIKey.setApiKeyPrefix("Token");

// Configure HTTP bearer authorization: bearerAuth
HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
bearerAuth.setBearerToken("BEARER TOKEN");

AgentApi apiInstance = new AgentApi(defaultClient);
Long analysisId = 56L; // Long | Analysis ID
try {
apiInstance.v3CancelSecurityScanOperation(analysisId);
} catch (ApiException e) {
System.err.println("Exception when calling AgentApi#v3CancelSecurityScanOperation");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
```

### Parameters

| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **analysisId** | **Long**| Analysis ID | |

### Return type

null (empty response body)

### Authorization

[APIKey](../README.md#APIKey), [bearerAuth](../README.md#bearerAuth)

### HTTP request headers

- **Content-Type**: Not defined
- **Accept**: application/json

### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **204** | No Content | - |
| **403** | Forbidden | - |
| **404** | Not Found | - |
| **422** | Unprocessable Entity | - |
| **500** | Internal Server Error | - |

<a id="v3GetRenameUnnamedFunctionsResult"></a>
# **v3GetRenameUnnamedFunctionsResult**
> RenameUnnamedFunctionsResult v3GetRenameUnnamedFunctionsResult(analysisId)
Expand DownExpand Up@@ -1122,6 +1201,163 @@ public class Example {
| **422** | Unprocessable Entity | - |
| **500** | Internal Server Error | - |

<a id="v3GetSecurityScanOperation"></a>
# **v3GetSecurityScanOperation**
> OperationSecurityScanMetadataSecurityScanResult v3GetSecurityScanOperation(analysisId)

Get a security-scan operation.

Returns the current state of the security-scan run for this analysis. **Error codes:** - &#x60;404&#x60; [&#x60;NOT_FOUND&#x60;](/errors/NOT_FOUND) — Not Found - &#x60;403&#x60; [&#x60;ACCESS_DENIED&#x60;](/errors/ACCESS_DENIED) — Access Denied

### Example
```java
// Import classes:
import ai.reveng.invoker.ApiClient;
import ai.reveng.invoker.ApiException;
import ai.reveng.invoker.Configuration;
import ai.reveng.invoker.auth.*;
import ai.reveng.invoker.models.*;
import ai.reveng.api.AgentApi;

public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.reveng.ai");

// Configure API key authorization: APIKey
ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
APIKey.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//APIKey.setApiKeyPrefix("Token");

// Configure HTTP bearer authorization: bearerAuth
HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
bearerAuth.setBearerToken("BEARER TOKEN");

AgentApi apiInstance = new AgentApi(defaultClient);
Long analysisId = 56L; // Long | Analysis ID
try {
OperationSecurityScanMetadataSecurityScanResult result = apiInstance.v3GetSecurityScanOperation(analysisId);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AgentApi#v3GetSecurityScanOperation");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
```

### Parameters

| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **analysisId** | **Long**| Analysis ID | |

### Return type

[**OperationSecurityScanMetadataSecurityScanResult**](OperationSecurityScanMetadataSecurityScanResult.md)

### Authorization

[APIKey](../README.md#APIKey), [bearerAuth](../README.md#bearerAuth)

### HTTP request headers

- **Content-Type**: Not defined
- **Accept**: application/json

### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
| **403** | Forbidden | - |
| **404** | Not Found | - |
| **422** | Unprocessable Entity | - |
| **500** | Internal Server Error | - |

<a id="v3RunSecurityScan"></a>
# **v3RunSecurityScan**
> OperationSecurityScanMetadataSecurityScanResult v3RunSecurityScan(analysisId, triggerSecurityScanInputBody)

Run the security-scan agent.

Starts an agent that decompiles the analysis&#39; functions and runs a security scan over the decompiled source, and returns the operation to poll for its outcome. Each function costs an AI decompilation, so a whole-analysis run can be expensive — use &#x60;max_functions_to_scan&#x60; to bound it. Returns 409 while a run is already in progress for this analysis. **Error codes:** - &#x60;404&#x60; [&#x60;NOT_FOUND&#x60;](/errors/NOT_FOUND) — Not Found - &#x60;403&#x60; [&#x60;ACCESS_DENIED&#x60;](/errors/ACCESS_DENIED) — Access Denied - &#x60;409&#x60; [&#x60;CONFLICT&#x60;](/errors/CONFLICT) — Conflict

### Example
```java
// Import classes:
import ai.reveng.invoker.ApiClient;
import ai.reveng.invoker.ApiException;
import ai.reveng.invoker.Configuration;
import ai.reveng.invoker.auth.*;
import ai.reveng.invoker.models.*;
import ai.reveng.api.AgentApi;

public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.reveng.ai");

// Configure API key authorization: APIKey
ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
APIKey.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//APIKey.setApiKeyPrefix("Token");

// Configure HTTP bearer authorization: bearerAuth
HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
bearerAuth.setBearerToken("BEARER TOKEN");

AgentApi apiInstance = new AgentApi(defaultClient);
Long analysisId = 56L; // Long | Analysis ID
TriggerSecurityScanInputBody triggerSecurityScanInputBody = new TriggerSecurityScanInputBody(); // TriggerSecurityScanInputBody |
try {
OperationSecurityScanMetadataSecurityScanResult result = apiInstance.v3RunSecurityScan(analysisId, triggerSecurityScanInputBody);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AgentApi#v3RunSecurityScan");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
```

### Parameters

| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **analysisId** | **Long**| Analysis ID | |
| **triggerSecurityScanInputBody** | [**TriggerSecurityScanInputBody**](TriggerSecurityScanInputBody.md)| | |

### Return type

[**OperationSecurityScanMetadataSecurityScanResult**](OperationSecurityScanMetadataSecurityScanResult.md)

### Authorization

[APIKey](../README.md#APIKey), [bearerAuth](../README.md#bearerAuth)

### HTTP request headers

- **Content-Type**: application/json
- **Accept**: application/json

### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
| **403** | Forbidden | - |
| **404** | Not Found | - |
| **409** | Conflict | - |
| **422** | Unprocessable Entity | - |
| **500** | Internal Server Error | - |

<a id="v3TriggerRenameUnnamedFunctions"></a>
# **v3TriggerRenameUnnamedFunctions**
> StatusBody v3TriggerRenameUnnamedFunctions(analysisId, triggerRenameUnnamedFunctionsInputBody)
Expand Down
Loading