Trellix Intelligent Sandbox 5.0.x
API Reference Guide
Last Updated: September 17, 2023


Contents
Trellix Intelligent Sandbox APIs3
Login .............................................................................................................. 3
Heartbeat ................................................................................................... 12
File/URL submission ..................................................................................... 16
Task ID List ................................................................................................ 22
Bulk Sample Status ....................................................................................... 23
Check Brief Status ....................................................................................... 27
Get report content ........................................................................................ 53
List the analyzer profiles ............................................................................. 56
Users List ..................................................................................................... 57
Verify blacklisted and whitelisted hash values .............................................. 59
Enable or disable custom YARA scanners .................................................... 60
Logout ........................................................................................................... 63
1 | Trellix Intelligent Sandbox APIs
Trellix Intelligent Sandbox APIs
Trellix Intelligent Sandbox provides an Application Programming Interface (API) framework for external applications to access core Trellix Intelligent Sandbox functions through the REST protocol.
REST stands for Representational State Transfer. It relies on a stateless, client-server and cacheable communication protocol – HTTP. It is an architecture style for designing networked applications. RESTful applications use HTTP requests to post data (create and/or update), get data (query information) and delete data. Thus, REST uses HTTP for all CRUD (Create/Read/Update/Delete) operations. It is a lightweight alternative to mechanisms like RPC (Remote Procedure Calls) and Web Services such as SOAP and WSDL.
Attention
All Input and Output examples mentioned in this document are code snippets using REST module with Python. Make sure to tweak the input parameters according to your organizational needs.
Login
This URL allows a third party application to log on to Trellix Intelligent Sandbox API framework .
GET https://<MATD_IP>/php/session.php
Input parameters
The following HTTP headers should be specified in the session request:
- Accept: application/vnd.ve.v1.0+json
- Content-Type: application/json
- VE-SDK-API: Base64 encoded "user name:password" string
- VE-API-Version (Optional)
The following two input parameters must be base64 encoded and specified in the header.
| Description parameter | String |
|---|
Trellix Intelligent Sandbox 5.0.x API Reference Guide3
1 | Trellix Intelligent Sandbox APIs
|
Description |
Datatype |
|---|---|
|
display_name |
String |
Important
All other URL resources in the ATD RESTful API are required to pass these credentials for validation and authorization in VE-SDK-API custom header.
4 Trellix Intelligent Sandbox 5.0.x API Reference Guide
1 | Trellix Intelligent Sandbox APIs
Output parameters
| Description | Output parameter |
|---|---|
| String | |
| String |
Trellix Intelligent Sandbox 5.0.x API Reference Guide
5
1 | Trellix Intelligent Sandbox APIs
| Description | parameter |
|---|---|
| String | |
| String |
| 6 | Trellix Intelligent Sandbox 5.0.x API Reference Guide |
1 | Trellix Intelligent Sandbox APIs
|
Description |
|
|---|---|
|
s |
|
|
String |
s |
Trellix Intelligent Sandbox 5.0.x API Reference Guide7
1 | Trellix Intelligent Sandbox APIs
|
Description
parameter
| |
|---|---|
|
t h e u s e r h a s a d m i n p r i v i l e g e s . I s A d m i n : 1 - U s e r |
8 Trellix Intelligent Sandbox 5.0.x API Reference Guide
1 | Trellix Intelligent Sandbox APIs
|
Description
parameter
| |
|---|---|
| has admin privileges. IsAdmin:0 - User does no |
Trellix Intelligent Sandbox 5.0.x API Reference Guide 9
1 | Trellix Intelligent Sandbox APIs
| Description parameter |
|---|
|
they have admin privileges. |
Endpoint products need to parse the following parameters.
- If the response returns "success": false, then check "reason" to know the reason.
- If the response returns "success": true, then do the following.
- Check whether isCurrentAPI returns true or false
- If isCurrentAPI returns false, then check the "warning" section to know the reason
- If isCurrentAPI returns true, then you are on the current version
Example
When client is on latest version:
Input
"Accept: application/vnd.ve.v1.0+json" "Content-Type: application/json" "VE-SDK-API:" + base64 encoded "admin:test123" string
10 Trellix Intelligent Sandbox 5.0.x API Reference Guide
1 | Trellix Intelligent Sandbox APIs
"VE-API-Version: 1.5.0"
Output
{"success": true, "results": {"session": "bodnnhhui5d0e9gv4mj376op25","userId": "1","isAdmin": "1","serverTZ": "PDT","apiVersion": "1.5.0","isCurrentAPI": true,"matdVersion": "4.x.x.x" } }
When client is on a future version:
Input
"Accept: application/vnd.ve.v1.0+json"
"Content-Type: application/json"
"VE-SDK-API:" + base64 encoded "admin:test123" string
"VE-API-Version: 1.6.0"
Output
{"success": false, "results": {"apiVersion": "1.5.0", "matdVersion": "4.x.x.x", "isCurrentAPI": false, "reason": "Client API version(1.6.0) is too early, MATD supports the Client API version till 1.5.0"}}
Client is on an older version which is backward compatible:
Input
"Accept: application/vnd.ve.v1.0+json"
"Content-Type: application/json"
"VE-SDK-API:" + base64 encoded "admin:test123" string
"VE-API-Version: 1.0.0"
Output
{"success": true, "results": {"session": "ens446tbnhirtfcm7n4v6qqcs0","userId": "1","isAdmin": "1","serverTZ": "PDT","apiVersion": "1.5.0","isCurrentAPI": false, "matdVersion": "4.x.x.x","warning":"Client API version(1.0.0) is older than Server API version(1.5.0), some feature may not be available, please refer REST API-1.5.0 documentation"} }
Client is on an older version which has no backward compatibility:
Input
"Accept: application/vnd.ve.v1.0+json"
"Content-Type: application/json"
"VE-SDK-API:" + base64 encoded "admin:test123" string
"VE-API-Version: 0.7.6"
Trellix Intelligent Sandbox 5.0.x API Reference Guide
11
1 | Trellix Intelligent Sandbox APIs
Output
{"success": false, "results": {"apiVersion": "1.5.0", "matdVersion": "4.x.x.x.x", "isCurrentAPI": false, "reason": "Client API version(0.7.6) is too old, Please upgrade the REST client version to 1.5.0"}}
Existing clients who cannot change their client code:
In case of no custom header ('VE-API-Version : <API-Version>') available from the REST client, current version of client is considered as 1.5.0.
Input
"Accept: application/vnd.ve.v1.0+json"
"Content-Type: application/json"
"VE-SDK-API:" + base64 encoded "admin:test123" string
Output
{"success": true, "results": {"session": "bitu3eaq2ovddl0741084qbbj5","userId": "1","isAdmin": "1","serverTZ": "PDT","apiVersion": "1.5.0","matdVersion": "4.x.x.x.x" } }
Heartbeat
This URL provides Trellix Intelligent Sandbox availability information to the user.
Resource URL
GET https://<MATD_IP>/php/heartbeat.php
Input parameters
The following HTTP headers should be specified in the resource URL request:
- Accept: application/vnd.ve.v1.0+json
- Content-Type: application/json
- VE-SDK-API: Base64 encoded "session:user id" string
Input parameters are only the following mandatory header parameters that you must supply in all calls (except File Submission, Bulk sample status, and verify blacklisted and whitelisted hash values). Going forward, this document does not mention these two parameters.
1 | Trellix Intelligent Sandbox APIs
| Description parameter | Datatype |
|---|---|
| destinationUserId. | String |
| String |
Trellix Intelligent Sandbox 5.0.x API Reference Guide
13
1 | Trellix Intelligent Sandbox APIs
Important
All other URL resources in the ATD RESTful API are required to pass these credentials for validation and authorization in VE-SDK-API custom header.
Output parameters
|
Datatype |
Description parameter |
|---|---|
|
String |
responseSessionid. |
1 | Trellix Intelligent Sandbox APIs
|
Description parameter | |
|---|---|
|
d. |
Numeric |
Trellix Intelligent Sandbox 5.0.x API Reference Guide15
1 | Trellix Intelligent Sandbox APIs
|
Description | |
|---|---|
|
t |
Example
Input
In the HTTP header:
"Accept: application/vnd.ve.v1.0+json" "Content-Type: application/json" "VE-SDK-API:" + base64 encoded "u5hiesvp9nmv9ti44vnpoi27b5:1" string
Output
{"success": true, "results": {"session": "u5hiesvp9nmv9ti44vnpoi27b5","userId": "1","heartBeat": "1362247723"} }
File/URL submission
The URL below is to upload a file/web URL for dynamic analysis by using the provided Analyzer Profile. Only single file/web URL can be submitted at a time.
POST https://<MATD_IP>/php/fileupload.php
The following HTTP headers should be specified in the resource URL request:
- Accept: application/vnd.ve.v1.0+json
- VE-SDK-API: Base64 encoded "session:user id" string
1 | Trellix Intelligent Sandbox APIs
Note
You can specify an optional Expect: parameter in the HTTP header.
Note
You can specify an optional
skipTaskId: (string - 1 or 0) in REST API. The performance of Trellix Intelligent Sandbox improves for version 1.5.0 and above, as REST client adds the new optional request parameter:'skipTaskId': '1'. If endpoint products use'skipTaskId':'1', API returns the JSON response withtaskId -1along with actual Job Id, without waiting for thetaskIdfrom AMAS.
Note
Endpoint products need to use 64-bit integer instead of 32-bit for taskId.
Input parameters
| Input parameter | Description |
|---|---|
| amas_filename |
The name of the sample file. This parameter is optional for URL submissions. |
| data |
Contains the following parameters defined in a json string.
|
Note:
Value '0' indicates corresponding taskid in API response. Value '1' indicates -1 as taskid in API response.
|
Input parameter |
Description |
|---|---|
For submitType '2', we submit the file and also the URL from which the file is downloaded. McAfee GTI URL lookup is done on the submitted URL in addition to file analysis. Examples: {'data': '{"data":{"xMode":0,"overrideOS":1,"messageId":"","vmProfileList":"12","submitType":"0","url":""},
"filePriorityQ":"run_now" }'}
{'data': '{"data":{"vmProfileList":"1","messageId":"04788b1b-8dbe-4dd3-94cb-a129552af5de","submitType":"1","url":"http://www.google.com/news"},
"filePriorityQ":"run_now" }'}
{'data': '{"data":{"vmProfileList":"1","messageId":"03188b1b-8dbe-a4a3-94cb-a129552af5ee","submitType":"2","url":"http://the.earth.li/~sgtatham/putty/latest/"},
"filePriorityQ":"add_to_q" }'}
{'data': '{"data":{"vmProfileList":"11","messageId":"06488b1b-8dbe-a4c3-94cb-a129552af5dd","submitType":"3","url":"http://www.javascriptenlightenment.com/JavaScript_Enlightenment.pdf"},
"filePriorityQ":"run_now" }'}
|
1 | Trellix Intelligent Sandbox APIs
Output parameters
| Output parameter | Description |
|---|---|
| Results |
Contains json data with following parameters. md5: MD5 hash value of the submitted sample. sha1: SHA-1 hash value of the submitted sample. sha256: SHA-256 hash value of the submitted sample. subId: 64-bit JobId assigned for the sample. taskId: 64-bit ID assigned for the submitted sample. taskId is -1 for a .zip file and has the same value (-1), in case skipTaskId is enabled. messageId: String that is sent in the request to identify the sample. filesWait: Number of samples in waiting state. estimatedTime: Estimated time for the analysis to finish on the submitted sample.
cache: Determines whether the file was submitted for analysis in the past, and the corresponding action. cache has three categories:
|
1 | Trellix Intelligent Sandbox APIs
Attention
All subID (jobID) and taskID are in 64-bit which Trellix Intelligent Sandbox automatically handles, then fetches the needed responses.
Example
submitType: 0
Input
An example of data and amas_filename JSON string:
{'data': '{"data":{"xMode":0,"overrideOS":1,"messageId":"","vmProfileList":"11","submitType":"0","url":""},"filePriorityQ":"run_now" }'}
{'amas_filename':open('/clean_pdf.pdf','r')}
Client sends the input stream of sample to the fileupload.php. An example in Python:
postdata = {'data': '{"data":{"xMode":0,"overrideOS":1,"messageId":"","vmProfileList":"11","submitType":"0","url":""},"filePriorityQ":"run_now" }'}
file_up = {'amas_filename':open('/clean_pdf.pdf','r')}
file_upload_req = requests.post(url,postdata,files=file_up,headers=headers,verify=False)
Output
{"success":true,"subID":72057594037928306,"mimeType":" application/pdf","fileId":"","filesWait":0,"estimatedTime":0,"results":[{"taskId":754,"messageId":"","file":"clean_pdf.pdf","submitType":"0","url":"","destIp":null,"srcIp":"","md5":"F0F9F5762565782F62FED035584537D0","sha1":"7F53D6A3DC01D30567049B11B264E1B551F7D0B7","sha256":"BD3C5441961707875CE5BE7A1497D44EC5C63250B4FD7577085B134571CE0AF7","size":"144779","cache":0}]}
submitType:1
Input
An example of data json string:
{'data': '{"data":{"xMode":0,"overrideOS":1,"messageId":"","vmProfileList":"11","submitType":"1","url":"http://www.yahoo.com"}}'}
Client sends the input stream of sample to the fileupload.php. An example in Python:
postdata = {'data': '{"data":{"xMode":0,"overrideOS":1,"messageId":"","vmProfileList":"12","submitType":"1","url":"http://news.google.co.in/"}}'}
upload_rest_req = requests.post(url,postdata,headers=headers,verify=False)
Output
1 | Trellix Intelligent Sandbox APIs
{"success": true,"subId": 17,"mimeType": "text\/plain","filesWait": 1,"estimatedTime": 0,"results": [{"taskId": 23,"messageId": "","file": "URL1419314922.url","submitType": 1,"url": "http:\/\/news.google.co.in\/","destIp": null,"srcIp": null,"md5": "839f551f97e669dddb348bddb907d32c","sha1": "D9C1CB1FCD53530212317800CC1B935657042CDF","sha256": "9A33B63558EE78AFA9A4DFD063B6B118ADFC455E20C2752B7F7977F88C2361CD","size": 25}]}
submitType:2
Input
An example of data and amas_filename json string:
{'data': '{"data":{"vmProfileList":"1","messageId":"06488b1b-8dbe-a4c3-94cb-a129552af5dd","submitType":2,"url":"http://the.earth.li/~sgtatham/putty/latest/x86/"}}', 'amas_filename': open('/home/samples/vtest32.exe','r')}
Client sends the input stream of sample to the fileupload.php. An example in Python:
postdata = {'data': '{"data":{"xMode":0,"overrideOS":1,"messageId":"","vmProfileList":"12","submitType":"2","url":"http://the.earth.li/~sgtatham/putty/latest/x86/"}}'}
file_up = {'amas_filename':open('/home/samples/vtest32.exe','r')}
upload_rest_req = requests.post(url,postdata,files=file_up,headers=headers,verify=False)
Output
{"success": true,"subId": 16,"mimeType": "application\/x-dosexec","filesWait": 1,"estimatedTime": 0,"results": [{"taskId": 22,"messageId": "","file": "vtest32.exe","submitType": 2,"url": "http:\/\/the.earth.li\/~sgtatham\/putty\/latest\/x86\/","destIp": null,"srcIp": null,"md5": "e2cfe1c89703352c42763e4b458fc356","sha1": "D9C1CB1FCD53530212317800CC1B935657042CDF","sha256": "9A33B63558EE78AFA9A4DFD063B6B118ADFC455E20C2752B7F7977F88C2361CD","size": 45056}]}
submitType:3
Input
An example of data json string:
{'data': '{"data":{"xMode":0,"overrideOS":1,"messageId":"","vmProfileList":"11","submitType":"3","url":"http://10.213.248.238/Automation/vtest32.exe"}}'}
Output
{"success": true,"subId": 210,"mimeType": "text\/plain","filesWait": 1,"estimatedTime": 0,"results": [{"taskId": -1,"file": "URL1418981249.url","md5":"67b32fa8adaa0ae9025920c775615b96","sha1":"D9C1CB1FCD53530212317800CC1B935657042CDF","sha256":"9A33B63558EE78AFA9A4DFD063B6B118ADFC455E20C2752B7F7977F88C2361CD","size":"44"}]}
Trellix Intelligent Sandbox 5.0.x API Reference Guide
21
1 | Trellix Intelligent Sandbox APIs
Note
If skip analysis feature is enabled and a previously analyzed file has been submitted, then the API response is as follows.
{
"success": true, "subId": 28, "mimeType": "application/x-dosexec", "filesWait": 0,
"estimatedTime": 0, "results": [ {"taskId": 28, "file": "File was previously analyzed - (vtest32.exe )", "md5": "E2CFE1C89703352C42763E4B458FC356","sha1": "D9C1CB1FCD53530212317800CC1B935657042CDF","sha256": "9A33B63558EE78AFA9A4DFD063B6B118ADFC455E20C2752B7F7977F88C2361CD","size": 45056} ]}
Task ID List
Resource URL below fetches the list of task id's associated with a job id.
GET https:////<MATD_IP>/php/getTaskIdList.php
Input parameters
| Input parameter | Description |
|---|---|
| jobId | Serves as an identifier for the previously submitted file. |
Output parameters
| Output parameter | Description |
|---|---|
| result |
If a zip file with two samples is submitted, then the response contains task id's of the two samples. If a single file is submitted, then the response contains a task id of the single sample. |
Example
Input
1 | Trellix Intelligent Sandbox APIs
https:// <MATD_IP>/php/getTaskIdList.php?jobId=64
Output
{"success":true, "result":{"taskIdList":"201"}}
Input
https:// <MATD_IP>/php/getTaskIdList.php?jobId=65
Output
{"success":true, "result":{"taskIdList":"202,203"}}
In the above example, if the job id of a zip file is passed, then the response contains task id's of samples in the zip file.
Bulk Sample Status
The Resource URL is to find the status of bulk number of samples in a single query.
POST https://<MATD_IP>/php/getBulkStatus.php
The following HTTP headers should be specified in the resource URL request:
- Accept: application/vnd.ve.v1.0+json
- VE-SDK-API: Base64 encoded "session:user id" string
Input parameters
|
Input parameter |
Description |
|---|---|
|
data |
Contains the below parameter defined in a json string:
|
|
Input parameter |
Description |
|---|---|
|
maximum value is 100.
Examples: {'data': '{"bulkrequest":{"numRequest":3,"jobIDs":[41,42,47]}}'} {'data': '{"bulkrequest":{"numRequest":1,"jobIDs":[150]}}'} {'data': '{"bulkrequest":{"numRequest":1,"taskIDs":[2050]}}'} {'data': '{"bulkrequest":{"numRequest":4,"taskIDs":[100,156,142,120]}}'} |
Output parameters
|
Output parameter |
Description |
|---|---|
|
Results |
Contains json data with following parameters: numResponse: This is a numeric value which represents number of samples status retrieved. This is equal to numRequest in the input data. status: This is an array of jobIDs/taskIDs with their analysis status and score. JobID/taskID status displays following values:
score: The sample score defines the severity of the sample. The score includes the following values: |
1 | Trellix Intelligent Sandbox APIs
| Output parameter | Description |
|---|---|
|
Note
When archive samples are sent for extraction and analysis, the overall verdict of the sample is the highest reported severity for the extracted contents. However, if the highest severity happens to be less than 3 and if one of the files within the archive sample is failed to be analyzed, then the overall verdict of the sample would be Failed (-2).
Example
Status of single jobID:
Input
{'data': '{"bulkrequest":{"numRequest":1,"jobIDs":[4512]}}'}
Output
{"success":true, "results":{"bulkresponse": {"numResponse":1, "status":[{"jobID":4512,"status":5,"score":4}]}}}
Note
- When a jobID is not present in the database the status and score values in the response are 6 and -2 respectively.
- When a jobID of a zip file is passed as input then the least status value among all the samples in the zip file at that moment is returned.
Status of multiple jobIDs:
Input
Trellix Intelligent Sandbox 5.0.x API Reference Guide
25
1 | Trellix Intelligent Sandbox APIs
{'data': '{"bulkrequest":{"numRequest":3,"jobIDs":[41,30,12]}}'}
Output
{"success":true, "results":{"bulkresponse": {"numResponse":3, "status":[{"jobID":41,"status":5,"score":5},{"jobID":30,"status":5,"score":0},{"jobID":12,"status":5,"score":5}]}}}
Status of single taskID:
Input
{'data': '{"bulkrequest":{"numRequest":1,"taskIDs":[16090]}}'}
Output
{"success":true, "results":{"bulkresponse": {"numResponse":1, "status":[{"taskID":16090,"status":3,"score":-6}]}}}
- Status '3' in the above response indicates that the sample with taskID '16090' is in analyzing state.
- When a taskID is not present in the database the status and score values are -1 and -2 respectively.
Status of multiple taskIDs:
Input
{'data': '{"bulkrequest":{"numRequest":3,"taskIDs":[100,156,16109]}}'}
Output
{"success":true, "results":{"bulkresponse": {"numResponse":3, "status":[{"taskID":100,"status":5,"score":5},{"taskID":156,"status":5,"score":4},{"taskID":16109,"status":2,"score":
Status '2' in the above response indicates that the sample with taskID '16109' is in waiting state.
numRequest does not match with number of jobIDs/taskIDs:
Input
1 | Trellix Intelligent Sandbox APIs
{'data': '{"bulkrequest":{"numRequest":4,"taskIDs":[80,12,15]}}'}
Output
{"success": false, "results": {"desc": "Invalid Request"} }
Check Brief Status
This URL checks the analysis status.
GET https://<MATD_IP>/php/samplestatus.php
This URL takes iTaskId or jobId
iTaskId Parameter:
- The iTaskId must be previously returned value in the File/URL submission step.
- Retrieve the istate or status value from the response of samplestatus.php.
- When analysis is complete, the istate=1 or 2.
- When sample is waiting in the queue, the istate=4.
- When sample is being analyzed, the istate=3.
- When analysis is failed, istate=-1.
- Only when the istate=1 or 2, continue to get the results.
Input parameters
|
Description | |
|---|---|
Trellix Intelligent Sandbox 5.0.x API Reference Guide
1 | Trellix Intelligent Sandbox APIs
|
Description parameter | |
|---|---|
|
e r e t u r n e d i T a s k I d v a l u e i n t h e s u b m i s s i o n s t e |
28
Trellix Intelligent Sandbox 5.0.x API Reference Guide
1 | Trellix Intelligent Sandbox APIs
|
Description |
Datatype parameter |
|---|---|
|
p . |
Output parameters
|
Description |
Datatype parameter |
|---|---|
|
String Success is true if the request is processed |
1 | Trellix Intelligent Sandbox APIs
|
Description |
parameter |
|---|---|
|
a | |
|
Numeric |
a |
30
Trellix Intelligent Sandbox 5.0.x API Reference Guide
1 | Trellix Intelligent Sandbox APIs
| Description parameter | |
|---|---|
|
t | |
| Numeric | |
|---|---|
|
s | |
Trellix Intelligent Sandbox 5.0.x API Reference Guide 31
1 | Trellix Intelligent Sandbox APIs
|
Description |
parameter |
|---|---|
|
Value as explained above. |
|
String | |
|---|---|
32
Trellix Intelligent Sandbox 5.0.x API Reference Guide
1 | Trellix Intelligent Sandbox APIs
|
Description |
parameter |
|---|---|
|
e s a m p l e . E x a m p l e : W a i t i n g / a n a l y z i n g / c o m p l |
Trellix Intelligent Sandbox 5.0.x API Reference Guide
33
1 | Trellix Intelligent Sandbox APIs
|
Description | |
|---|---|
|
e | |
|
String |
S |
|
The hexadecimal | |
|
M | |
1 | Trellix Intelligent Sandbox APIs
|
Description parameter |
|---|
|
u e o f t h e s a m p l e f i l e a s c a l c u l a t e d b y T r e l l i x I n |
Trellix Intelligent Sandbox 5.0.x API Reference Guide
35
1 | Trellix Intelligent Sandbox APIs
|
Description |
Datatype parameter |
|---|---|
|
T | |
|
Numeric |
36
Trellix Intelligent Sandbox 5.0.x API Reference Guide
1 | Trellix Intelligent Sandbox APIs
|
Description parameter | |
|---|---|
|
ID for the VM Profile that was used. |
|
Numeric | |
|---|---|
Trellix Intelligent Sandbox 5.0.x API Reference Guide
37
1 | Trellix Intelligent Sandbox APIs
|
Description | |
|---|---|
|
Submitted sample file. |
|
Timestamp | |
|---|---|
38Trellix Intelligent Sandbox 5.0.x API Reference Guide
1 | Trellix Intelligent Sandbox APIs
|
Description | |
|---|---|
|
s u p l o a d e d f o r a n a l y s i s . |
Trellix Intelligent Sandbox 5.0.x API Reference Guide39
1 | Trellix Intelligent Sandbox APIs
|
Description |
|
|---|---|
|
I |
40
Trellix Intelligent Sandbox 5.0.x API Reference Guide
1 | Trellix Intelligent Sandbox APIs
|
Description |
parameter |
|---|---|
|
r 1 o r 2 . | |
|
U s e L b g g s s a v a i l a b l e . T h i s f i e l d i s |
Trellix Intelligent Sandbox 5.0.x API Reference Guide41
1 | Trellix Intelligent Sandbox APIs
|
Description parameter | |
|---|---|
|
d o n l y w h e n i s t a t e i s e i t h e r 1 0 o r 2 . | |
1 | Trellix Intelligent Sandbox APIs
|
Description |
parameter |
|---|---|
|
y r e s u l t a v a i l a b l e . This field is valid only whe | |
Trellix Intelligent Sandbox 5.0.x API Reference Guide43
1 | Trellix Intelligent Sandbox APIs
|
Description parameter | |
|---|---|
|
n |
|
44Trellix Intelligent Sandbox 5.0.x API Reference Guide
1 | Trellix Intelligent Sandbox APIs
|
Description parameter | |
|---|---|
|
a b l e . T h i s f i e l d i s v a l i d o n l y w h e n i s t a t e i s t a t e i s e i t |
Trellix Intelligent Sandbox 5.0.x API Reference Guide45
1 | Trellix Intelligent Sandbox APIs
|
Data type Description parameter | |
|---|---|
| h e r 1 o r 2 . | |
| f a m i l y s i m i l a r i t y a v a i l a b l e. This |
46 Trellix Intelligent Sandbox 5.0.x API Reference Guide
1 | Trellix Intelligent Sandbox APIs
|
Data type |
Description |
|---|---|
|
field is valid only when the state is either 1 or 2. |
Trellix Intelligent Sandbox 5.0.x API Reference Guide47
1 | Trellix Intelligent Sandbox APIs
| Description parameter | |
|---|---|
| User id through which the files are submitted. | |
48 Trellix Intelligent Sandbox 5.0.x API Reference Guide
1 | Trellix Intelligent Sandbox APIs
| Description | Data type parameter |
|---|---|
| Name based on the operating system that was used | String |
Trellix Intelligent Sandbox 5.0.x API Reference Guide
49
| Description | parameter |
|---|---|
| Used for dynamic analysis. | |
| String |
m D e a s e r - p r o v i d e d |
1 | Trellix Intelligent Sandbox APIs
| Data type Description parameter | |
|---|---|
| description for the analyzer VM that was used for the analysis | |
Trellix Intelligent Sandbox 5.0.x API Reference Guide51
1 | Trellix Intelligent Sandbox APIs
|
Description |
or dynamic analysis. |
|---|
jobId Parameter:
-
When jobId is passed as parameter, output json response contains only one parameter 'status' and it contains below values.
5 — completed
3 — analyzing
2 — waiting
-1 — failed
0 — sample submitted but taskid not generated yet
-
When jobId for a zip file is passed as parameter then the status value in the json is the minimum value of status of individual samples in the zip file.
-
When jobId is passed as parameter, output json response contains parameter 'allEngineState' and it contains below values.
1 — The sample is analyzed on all VMs submitted.
0 — The analysis is failed or canceled in any of the VMs submitted.
52 Trellix Intelligent Sandbox 5.0.x API Reference Guide
1 | Trellix Intelligent Sandbox APIs
Note
When archive samples are sent for extraction and analysis, the overall verdict of the sample is the highest reported severity for the extracted contents. However, if the highest severity happens to be less than 3 and if one of the files within the archive sample is failed to be analyzed, then the overall verdict of the sample would be Failed (-2).
Example
Input
https://<MATD_IP>/php/samplestatus.php?iTaskId=52
Output
{"success":true, "results":{"userid":1,"taskid":52,"istate":3,"status":"Analyzing",
"filename":"mv0107-2.exe","md5":"b01f5c6b23f5073228aa6d1e05579be4","vmProfile":"1","jobid":
55,
"submitTime":"2013-03-02 10:08:47","summaryFiles":"0","useLogs":"0",
"asmListing":"0","PEInfo":"0",
"family":"0","vmName":"Win-XP-SP3-32bit","vmDesc":"XP SP3 32-bit with all reports"} }
Input
https://<MATD_IP>/php/samplestatus.php?jobId=69
Output
{'status': 5, 'allEngineState': 1, 'severity': 5, 'success': 'true'}
Get report content
Use this URL to selectively download the analysis report files.
Resource URL
GET https://<MATD_IP>/php/showreport.php
Input parameters
This URL takes iType and iTaskId or jobId or md5.
The Content-Type parameter in the HTTP header is not needed in this API. Instead specify an additional Expect: in the HTTP
Trellix Intelligent Sandbox 5.0.x API Reference Guide
53
1 | Trellix Intelligent Sandbox APIs
header.
|
Input parameter |
Description |
Data type |
|---|---|---|
|
iTaskId |
This must be a previously returned task ID when you submitted the sample. |
Numeric |
|
jobId |
This must be a previously returned submission ID when you submitted the sample. |
Numeric |
|
iType |
iType can be one of the following types:
|
String |
54 Trellix Intelligent Sandbox 5.0.x API Reference Guide
1 | Trellix Intelligent Sandbox APIs
| Input parameter | Description | Data type |
|---|---|---|
|
Output parameters
Content of the requested result file.
Note
- When archive samples are sent for extraction and analysis, the overall verdict of the sample is the highest reported severity for the extracted contents. However, if the highest severity happens to be less than 3 and if one of the files within the archive sample is failed to be analyzed, then the overall verdict of the sample would be Failed (-2).
- MD5 lookup is not cluster-aware, and therefore API user should either send MD5 lookup query to all the nodes, or use 64bit long jobID or taskID lookup to cluster IP.
Example
Input
https://<MATD_IP>/php/showreport.php?iTaskId=212&iType=sample
Output
The output is the file content of the requested result file.
Input
https://<MATD_IP>/php/showreport.php?iTaskId=212&iType=sample
1 | Trellix Intelligent Sandbox APIs
Output
The output is downloaded sample 212.zip associated with taskid 212.
Note
iTaskId=samplemust only be used with iTaskId parameter.
List the analyzer profiles
This URL is to display the analyzer profiles. Only the analyzer profiles to which the user has access are displayed.
GET https:///<MATD_IP>/php/vmprofiles.php
Output parameters
| Output parameter | Description |
|---|---|
| results | Displays the analyzer profiles, which the user can access. |
Note
Users with admin rights can see all analyzer profiles. Other users will see analyzer profiles created by themselves and the ones assigned to them in user profile.
Example
User - admin
Output
{"success":true,"results":[{"vmProfileId":1,"userid":1,"imageid":10,"maxExecTime":180,"minExecTime":5,"recursiveAnalysis":1,"name":"winXP","vmDesc":"winXPsp3","summary":0,"userLog":0,"asm":0,"locBlackList":0,"mfeAV":0,"reAnalysis":0,"gtiTS":0,"gam":0,"selectedOSName":"winXPsp3","sandbox":1,"internet":1,"vmProfileid":10,"userid":1,"imageid":11,"maxExecTime":180,"minExecTime":5,"recursiveAnalysis":0,"name":"win7sp1x64","vmDesc":"win7","summary":1,"userLog":0,"reAnalysis":1,...
1 | Trellix Intelligent Sandbox APIs
"asm":0,"locBlackList":0,"mfeAV":0,"gtiTS":0,"gam":0,,"selectedOSName":"win7sp1x64","sandbox":1,"internet":0}]
User - <non-admin user>
Output
{"success":true,"results":[{"vmProfileid":11,"userid":36,"imageid":10,"maxExecTime":
180,"minExecTime":5,
"recursiveAnalysis":0,"name":"winXP","vmDesc":"winXPsp3","summary":1,"userLog":1, "asm":1,
"locBlackList":0,"mfeAV":1,"reAnalysis":0,
"gtiTS":1,"gam":1, selectedOSName":"winXPsp3","sandbox":1,"internet":0}]}
User - nsp
Output
{"success":true,"results":[{"vmProfileid":10,"userid":1,"imageid":11,"maxExecTime":
180,"minExecTime":5,
"recursiveAnalysis":0,"name":"win7sp1x64","vmDesc":"win7","summary":1,"userLog":0, "asm":0,
"locBlackList":0,"mfeAV":0,"reAnalysis":1,
"gtiTS":0,"gam":0,selectedOSName":"win7sp1x64","sandbox":1,"internet":0}]}
Note
reAnalysis parameter mentioned above is given importance in absence of analyzeAgain data parameter in fileupload API for end points.
"reAnalysis":0indicates that Skip files if previously analyzed is selected in Analyzer Profile setting.
Users List
This URL displays the user profile information present on the Trellix Intelligent Sandbox.
GET https://<MATD_IP>/php/briefUserList.php
1 | Trellix Intelligent Sandbox APIs
Input parameters
| Input parameter | Description |
|---|---|
| userType |
This is the usertype associated with a user profile. For example NSP, MWG, STAND_ALONE and so on. |
Output parameters
| Output parameter | Description |
|---|---|
| results |
Contains array of json data with following parameters:
|
Example
Input
<MATD_IP>/php/briefUserList.php?userType=MEG
Output
{"success":true,"results":[{"idx":5,"loginId":"meg","userType":"MEG","fullName":"McAfee Email Gateway "}]}
Input
https://<MATD_IP>/php/briefUserList.php?userType=NSP
58 Trellix Intelligent Sandbox 5.0.x API Reference Guide
1 | Trellix Intelligent Sandbox APIs
{"success":true,"results":[{"idx":2,"loginId":"nsp","userType":"NSP","fullName":"NSP User"},{"idx":7,"loginId":"vnsp","userType":"NSP","fullName":"Virtual Network Security Platform"}]}
Verify blacklisted and whitelisted hash values
This URL is to check if a user submitted hash value is either blacklisted or whitelisted. Only single hash value can be verified at a time.
POST https://<MATD_IP>/php/atdHashLookup.php
Input parameters
The following HTTP headers should be specified in the resource URL request:
- Accept: application/vnd.ve.v1.0+json
- VE-SDK-API: Base64 encoded "session:user id" string
Input parameter | Description | Data type |
|---|---|---|
data |
Contains the following parameters defined in a json string. md5: Any valid 32 digit hexadecimal number Example: {'data': '{"md5":"A3CCFD0AA0B17FD23AA9FD0D84B86C05"}'} | Hexadecimal |
Output parameters
Input parameter | Description |
|---|---|
results |
Displays input hash value and its corresponding character.
|
Trellix Intelligent Sandbox 5.0.x API Reference Guide 59
1 | Trellix Intelligent Sandbox APIs
| Input parameter | Description |
|---|---|
The valuation is performed in the following order:
|
Note
For hashes present in native whitelist database, the output returns 'j' if the hash is submitted in the last 3 days.
Example
Input
An example of data json string:
{'data': '{"md5":"A3CCFD0AA0B17FD23AA9FD0D84B86C05"}'}
Output
{"success":true, "results":{"A3CCFD0AA0B17FD23AA9FD0D84B86C05":"w"}}
Enable or disable custom YARA scanners
Enable or disable the custom YARA scanner settings.
Resource URL
POST https://<MATD_IP>/php/configloader/configCreator.php
1 | Trellix Intelligent Sandbox APIs
Specify these HTTP headers in the resource URL request:
- Accept: application/vnd.ve.v1.0+json
- VE-SDK-API: Base64 encoded "session:user id" string
Input parameters
|
Description |
Value |
|---|---|
|
The API call handles the custom YARA scanner settings. | |
|
Disables the custom YARA scanner. | |
|
Enables the custom YARA scanner. |
Trellix Intelligent Sandbox 5.0.x API Reference Guide 61
1 | Trellix Intelligent Sandbox APIs
|
Description |
Default value |
|---|---|
|
The analyzer profile with the enabled or disabled Custom Yara Scanner checkbox. |
62
Trellix Intelligent Sandbox 5.0.x API Reference Guide
1 | Trellix Intelligent Sandbox APIs
Output parameters
Description key | value |
|---|---|
| The custom YARA scanner enable or disable action succeeded. | true |
Enable custom YARA settings example
Input
An example in Python:
postdata = {"command":" customYaraScannerSetting", "yaraEnable":’1’, "vmProfileID": ‘1’}
file_upload_req =requests.post(url,postdata,headers=headers,verify=False)
Output
{"success": "true"}
Logout
This URL allows logging out from Trellix Intelligent Sandbox. It generates either a response or an error message. Proper logout must be performed in order to clear the session information; else, subsequent logon is not allowed until session timeout.
DELETE https://<MATD_IP>/php/session.php
1 | Trellix Intelligent Sandbox APIs
Input parameters
The following HTTP headers should be specified in the resource URL request:
- Accept: application/vnd.ve.v1.0+json
- Content-Type: application/json
- VE-SDK-API: Base64 encoded "session:user id" string
Input parameters are only the following mandatory header parameters that you must be supplied in all calls.
| Description | Input parameter |
|---|---|
| String | sessionid |
64 Trellix Intelligent Sandbox 5.0.x API Reference Guide
1 | Trellix Intelligent Sandbox APIs
|
Description Datatype parameter |
|---|
|
s |
Output parameters
|
Description Datatype parameter |
|---|
|
s |
Trellix Intelligent Sandbox 5.0.x API Reference Guide 65
1 | Trellix Intelligent Sandbox APIs
|
Description | |
|---|---|
|
logout success status. |
66
Trellix Intelligent Sandbox 5.0.x API Reference Guide
1 | Trellix Intelligent Sandbox APIs
|
Description parameter | |
|---|---|
|
a l u e i s 0 i f l o g o u t i s s u c c e s s f u l , o t h e r w i s e a n |
Trellix Intelligent Sandbox 5.0.x API Reference Guide 67
1 | Trellix Intelligent Sandbox APIs
|
Description parameter |
|
|---|---|
|
|
error message is returned |
Example
Input
In the HTTP header:
"Accept: application/vnd.ve.v1.0+json"
"Content-Type: application/json"
"VE-SDK-API:" + base64 encoded "u5hiesvp9nmv9ti44vnpoi27b5:1" string
Output
Sample response for correct credentials:
{"success": true, "results": {"return": 0} }1 | Trellix Intelligent Sandbox APIs
Error information
| HTTP Error code | errorMessage |
|---|---|
| 401 | Invalid credentials. |
| 415 | Invalid accept header or content type header. |
COPYRIGHT
Copyright © 2026 Musarubra US LLC.
Trellix and FireEye are the trademarks or registered trademarks of Musarubra US LLC, FireEye Security Holdings US LLC, and their affiliates in the US and /or other countries. Other names and brands are the property of these companies or may be claimed as the property of others.



Note
Attention
