Skip to content

Falconx Sandbox

The Falcon Intelligence Sandbox service collection provides operations for analyzing malware samples and URLs. Download artifacts, memory dumps, and analysis reports. Submit files and URLs for sandbox analysis, query reports and submissions, and manage sample files.

LanguageLast Update
Pythonv1.6.5
PowerShellv2.2.9
Gov0.22.0
TypeScriptv0.6.0
Rustv0.7.1
Rubyv1.4.0

This service collection has code examples posted to the repository.



OperationDescription
DeleteReport
delete_report
Delete report based on the report ID.
DeleteSampleV2
delete_sample
Removes a sample, including file, meta and submissions from the collection
GetArtifacts
get_artifacts
Download IOC packs, PCAP files, memory dumps, and other analysis artifacts.
GetMemoryDump
get_memory_dump
Get memory dump content, as binary
GetMemoryDumpExtractedStrings
get_dump_extracted_strings
Get extracted strings from a memory dump
GetMemoryDumpHexDump
get_hex_dump
Get hex view of a memory dump
GetReports
get_reports
Get a full sandbox report.
GetSampleV2
get_sample
Retrieves the file associated with the given ID (SHA256)
GetSubmissions
get_submissions
Check the status of a sandbox analysis.
GetSummaryReports
get_summary_reports
Get a short summary version of a sandbox report.
QueryReports
query_reports
Find sandbox reports by providing an FQL filter and paging details.
QuerySampleV1
query_sample
Retrieves a list with sha256 of samples that exist and customer has rights to access them, maximum number of accepted items is 200
QuerySubmissions
query_submissions
Find submission IDs for uploaded files by providing an FQL filter and paging details.
Submit
submit
Submit an uploaded file or a URL for sandbox analysis.
UploadSampleV2
upload_sample
Upload a file for sandbox analysis.

Delete report based on the report ID.

Method DELETE
Route /falconx/entities/reports/v1
Scope Sandbox (Falcon Intelligence): WRITE
PEP 8 delete_report
ids query · string
ID of a report.
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import FalconXSandbox
falcon = FalconXSandbox(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
response = falcon.delete_report(ids=id_list)
print(response)
{
"errors": [
{
"code": 0,
"id": "string",
"message": "string"
}
],
"meta": {
"MetaInfo": {
"pagination": {},
"powered_by": "string",
"query_time": 0.0,
"trace_id": "string",
"writes": {}
},
"quota": {
"in_progress": 0,
"total": 0,
"used": 0
}
},
"resources": [
"string"
]
}


Removes a sample, including file, meta and submissions from the collection

Method DELETE
Route /samples/entities/samples/v2
Scope Sandbox (Falcon Intelligence): WRITE
PEP 8 delete_sample
ids query · string
The file SHA256.
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import FalconXSandbox
falcon = FalconXSandbox(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
response = falcon.delete_sample(ids=id_list)
print(response)
[
"string"
]


Download IOC packs, PCAP files, memory dumps, and other analysis artifacts.

Method GET
Route /falconx/entities/artifacts/v1
Scope Sandbox (Falcon Intelligence): READ
PEP 8 get_artifacts
id query · string
ID of an artifact, such as an IOC pack, PCAP file, memory dump, or actor image. Find an artifact ID in a report or summary.
name query · string
The name given to your downloaded file.
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
stream body · boolean
Enable streaming download of the returned file.
from falconpy import FalconXSandbox
falcon = FalconXSandbox(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
with open("output_file", "wb") as save_file:
response = falcon.get_artifacts(id="string",
name="string",
stream=boolean,
stream=boolean)
save_file.write(response)
[
"string"
]


Get memory dump content, as binary

Method GET
Route /falconx/entities/memory-dump/v1
Scope Sandbox (Falcon Intelligence): READ
PEP 8 get_memory_dump
id query · string
Memory dump id
name query · string
The name given to your downloaded file.
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
stream body · boolean
Enable streaming download of the returned file.
from falconpy import FalconXSandbox
falcon = FalconXSandbox(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
with open("output_file", "wb") as save_file:
response = falcon.get_memory_dump(id="string",
name="string",
stream=boolean,
stream=boolean)
save_file.write(response)
[
"string"
]


Get extracted strings from a memory dump

Method GET
Route /falconx/entities/memory-dump/extracted-strings/v1
Scope Sandbox (Falcon Intelligence): READ
PEP 8 get_dump_extracted_strings
id query · string
Extracted strings id
name query · string
The name given to your downloaded file.
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
stream body · boolean
Enable streaming download of the returned file.
from falconpy import FalconXSandbox
falcon = FalconXSandbox(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
with open("output_file", "wb") as save_file:
response = falcon.get_dump_extracted_strings(id="string",
name="string",
stream=boolean,
stream=boolean)
save_file.write(response)
[
"string"
]


Get hex view of a memory dump

Method GET
Route /falconx/entities/memory-dump/hex-dump/v1
Scope Sandbox (Falcon Intelligence): READ
PEP 8 get_hex_dump
id query · string
Hex dump id
name query · string
The name given to your downloaded file.
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
stream body · boolean
Enable streaming download of the returned file.
from falconpy import FalconXSandbox
falcon = FalconXSandbox(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
with open("output_file", "wb") as save_file:
response = falcon.get_hex_dump(id="string",
name="string",
stream=boolean,
stream=boolean)
save_file.write(response)
[
"string"
]


Get a full sandbox report.

Method GET
Route /falconx/entities/reports/v1
Scope Sandbox (Falcon Intelligence): READ
PEP 8 get_reports
ids query · string or list of strings
ID of a report. Find a report ID from the response when submitting a malware sample or search with /falconx/queries/reports/v1.
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import FalconXSandbox
falcon = FalconXSandbox(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
response = falcon.get_reports(ids=id_list)
print(response)
[
{
"ai_summary": {},
"aid": "string",
"cid": "string",
"created_timestamp": "string",
"has_recording": false,
"id": "string",
"index_timestamp": "string",
"intel": [],
"ioc_report_broad_csv_artifact_id": "string",
"ioc_report_broad_json_artifact_id": "string",
"ioc_report_broad_maec_artifact_id": "string",
"ioc_report_broad_stix_artifact_id": "string",
"ioc_report_strict_csv_artifact_id": "string",
"ioc_report_strict_json_artifact_id": "string",
"ioc_report_strict_maec_artifact_id": "string",
"ioc_report_strict_stix_artifact_id": "string",
"origin": "string",
"sandbox": [],
"tags": [],
"threat_graph": {},
"user_id": "string",
"user_name": "string",
"user_tags": [],
"user_uuid": "string",
"verdict": "string",
"verdict_source": "string"
}
]


Retrieves the file associated with the given ID (SHA256)

Method GET
Route /samples/entities/samples/v2
Scope Sandbox (Falcon Intelligence): READ
PEP 8 get_sample
ids query · string
The file SHA256.
password_protected query · boolean
Flag whether the sample should be zipped and password protected with pass=‘infected’
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
stream body · boolean
Enable streaming download of the returned file.
from falconpy import FalconXSandbox
falcon = FalconXSandbox(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
with open("output_file", "wb") as save_file:
response = falcon.get_sample(ids=id_list,
password_protected=boolean,
stream=boolean,
stream=boolean)
save_file.write(response)
{
"errors": [
{
"code": 0,
"id": "string",
"message": "string"
}
],
"meta": {
"pagination": {
"limit": 0,
"offset": 0,
"total": 0
},
"powered_by": "string",
"query_time": 0.0,
"trace_id": "string",
"writes": {
"resources_affected": 0
}
}
}


Check the status of a sandbox analysis.

Method GET
Route /falconx/entities/submissions/v1
Scope Sandbox (Falcon Intelligence): READ
PEP 8 get_submissions
ids query · string or list of strings
ID of a submitted malware sample. Find a submission ID from the response when submitting a malware sample or search with /falconx/queries/submissions/v1.
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import FalconXSandbox
falcon = FalconXSandbox(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
response = falcon.get_submissions(ids=id_list)
print(response)
[
{
"auto_detect_environment": false,
"cid": "string",
"created_timestamp": "string",
"error_message": "string",
"error_origin": "string",
"error_type": "string",
"id": "string",
"index_timestamp": "string",
"interactive_phase": "string",
"origin": "string",
"sandbox": [],
"send_email_notification": false,
"state": "string",
"user_id": "string",
"user_name": "string",
"user_tags": [],
"user_uuid": "string"
}
]


Get a short summary version of a sandbox report.

Method GET
Route /falconx/entities/report-summaries/v1
Scope Sandbox (Falcon Intelligence): READ
PEP 8 get_summary_reports
ids query · string or list of strings
ID of a summary. Find a summary ID from the response when submitting a malware sample or search with /falconx/queries/reports/v1.
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import FalconXSandbox
falcon = FalconXSandbox(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
response = falcon.get_summary_reports(ids=id_list)
print(response)
[
{
"cid": "string",
"created_timestamp": "string",
"has_recording": false,
"id": "string",
"intel": [],
"ioc_report_broad_csv_artifact_id": "string",
"ioc_report_broad_json_artifact_id": "string",
"ioc_report_broad_maec_artifact_id": "string",
"ioc_report_broad_stix_artifact_id": "string",
"ioc_report_strict_csv_artifact_id": "string",
"ioc_report_strict_json_artifact_id": "string",
"ioc_report_strict_maec_artifact_id": "string",
"ioc_report_strict_stix_artifact_id": "string",
"origin": "string",
"sandbox": [],
"tags": [],
"user_id": "string",
"user_name": "string",
"user_tags": [],
"verdict": "string"
}
]


Find sandbox reports by providing an FQL filter and paging details.

Method GET
Route /falconx/queries/reports/v1
Scope Sandbox (Falcon Intelligence): READ
PEP 8 query_reports
filter query · string
Optional filter and sort criteria in the form of an FQL query.
offset query · string
The offset to start retrieving reports from.
limit query · integer
Maximum number of report IDs to return. Max: 5000.
sort query · string
The property to sort on, followed by a dot (.), followed by the sort direction, either asc or desc.
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import FalconXSandbox
falcon = FalconXSandbox(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.query_reports(filter="string",
limit=integer,
offset="string",
sort="string")
print(response)
[
"string"
]


Retrieves a list with sha256 of samples that exist and customer has rights to access them, maximum number of accepted items is 200

Method POST
Route /samples/queries/samples/GET/v1
Scope Sandbox (Falcon Intelligence): READ
PEP 8 query_sample
body body · dictionary
Full body payload as JSON formatted dictionary.
sha256s body · array
List of SHA256s to confirm existence for. You will be returned a list of existing hashes.
from falconpy import FalconXSandbox
falcon = FalconXSandbox(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
response = falcon.query_sample(sha256s=id_list)
print(response)
[
"string"
]


Find submission IDs for uploaded files by providing an FQL filter and paging details.

Method GET
Route /falconx/queries/submissions/v1
Scope Sandbox (Falcon Intelligence): READ
PEP 8 query_submissions
filter query · string
Optional filter and sort criteria in the form of an FQL query.
offset query · string
The offset to start retrieving submissions from.
limit query · integer
Maximum number of submission IDs to return. Max: 5000.
sort query · string
The property to sort on, followed by a dot (.), followed by the sort direction, either asc or desc.
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import FalconXSandbox
falcon = FalconXSandbox(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.query_submissions(filter="string",
limit=integer,
offset="string",
sort="string")
print(response)
[
"string"
]


Submit an uploaded file or a URL for sandbox analysis.

Method POST
Route /falconx/entities/submissions/v1
Scope Sandbox (Falcon Intelligence): WRITE
PEP 8 submit
body body · dictionary
Full body payload as JSON formatted dictionary.
auto_detect_environment body · boolean
sandbox body · array
send_email_notification body · boolean
Boolean indicating if an email notification should be sent.
user_tags body · array
aid query · string
Agent ID
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
action_script body · string
Runtime script for sandbox analysis. Accepted values:
Available values (5)
defaultdefault_randomthemedefault_maxantievasion
default_openiedefault_randomfiles
command_line body · string
Command line script passed to the submitted file at runtime. Max length: 2048 characters
document_password body · string
Auto-filled for Adobe or Office files that prompt for a password. Max length: 32 characters
enable_tor body · string
Deprecated, please use network_settings instead. If true, sandbox analysis routes network traffic via TOR.
environment_id body · string
Specifies the sandbox environment used for analysis. Accepted values: 400 - macOS Catalina 10.15 300 - Linux Ubuntu 16.04, 64-bit 200 - Android (static analysis) 160 - Windows 10, 64-bit 140 - Windows 11, 64-bit 110 - Windows 7, 64-bit 100 - Windows 7, 32-bit
network_settings body · string
Specifies the sandbox network_settings used for analysis. Accepted values: default - Fully operating network tor - Route network traffic via TOR simulated - Simulate network traffic offline - No network traffic
sha256 body · string
ID of the sample, which is a SHA256 hash value. Find a sample ID from the response when uploading a malware sample or search with query_sample. The url keyword must be unset if this keyword is used.
submit_name body · string
Name of the malware sample that’s used for file type detection and analysis.
system_date body · string
Set a custom date in the format yyyy-MM-dd for the sandbox environment.
system_time body · string
Set a custom time in the format HH:mm for the sandbox environment.
url body · string
A web page or file URL. It can be HTTP(S) or FTP. The sha256 keyword must be unset if url is used.
from falconpy import FalconXSandbox
falcon = FalconXSandbox(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
response = falcon.submit(action_script="string",
aid="string",
command_line="string",
document_password="string",
enable_tor="string",
environment_id="string",
network_settings="string",
send_email_notification=boolean,
sha256="string",
submit_name="string",
system_date="string",
system_time="string",
url="string",
user_tags=id_list)
print(response)
[
{
"auto_detect_environment": false,
"cid": "string",
"created_timestamp": "string",
"error_message": "string",
"error_origin": "string",
"error_type": "string",
"id": "string",
"index_timestamp": "string",
"interactive_phase": "string",
"origin": "string",
"sandbox": [],
"send_email_notification": false,
"state": "string",
"user_id": "string",
"user_name": "string",
"user_tags": [],
"user_uuid": "string"
}
]


Upload a file for sandbox analysis.

Method POST
Route /samples/entities/samples/v2
Scope Sandbox (Falcon Intelligence): WRITE
PEP 8 upload_sample
sample body · file
Content of the uploaded sample in binary format. For example, use —data-binary @$FILE_PATH when using cURL. Max file size: 256 MB. Accepted file formats: - Portable executables: .exe, .scr, .pif, .dll, .com, .cpl, etc. - Office documents: .doc, .docx, .ppt, .pps, .pptx, .ppsx, .xls, .xlsx, .rtf, .pub - PDF - APK - Executable JAR - Windows script component: .sct - Windows shortcut: .lnk - Windows help: .chm - HTML application: .hta - Windows script file: .wsf - Javascript: .js - Visual Basic: .vbs, .vbe - Shockwave Flash: .swf - Perl: .pl - Powershell: .ps1, .psd1, .psm1 - Scalable vector graphics: .svg - Python: .py - Linux ELF executables - Email files: MIME RFC 822 .eml, Outlook .msg.
file_name body · string
Name of the file.
comment body · string
A descriptive comment to identify the file for other users.
is_confidential body · boolean
Defines visibility of this file in Falcon MalQuery, either via the API or the Falcon console. - true: File is only shown to users within your customer account - false: File can be seen by other CrowdStrike customers Default: true.
Available values (2)
true
File is only shown to users within your customer account.
false
File can be seen by other CrowdStrike customers.
file_data body · string
Content of the uploaded sample in binary format. Max file size is 256 MB. ‘sample’ and ‘upfile’ are also accepted as this parameter. Accepted File Formats: Portable executables: .exe, .scr, .pif, .dll, .com, .cpl, etc. Office documents: .doc, .docx, .ppt, .pps, .pptx, .ppsx, .xls, .xlsx, .rtf, .pub PDF APK Executable JAR Windows script component: .sct Windows shortcut: .lnk Windows help: .chm HTML application: .hta Windows script file: .wsf Javascript: .js Visual Basic: .vbs, .vbe Shockwave Flash: .swf Perl: .pl Powershell: .ps1, .psd1, .psm1 Scalable vector graphics: .svg Python: .py Linux ELF executables Email files: MIME RFC 822 .eml, Outlook .msg
from falconpy import FalconXSandbox
falcon = FalconXSandbox(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.upload_sample(comment="string",
file_data="string",
file_name="string",
is_confidential="string")
print(response)
[
{
"file_name": "string",
"sha256": "string"
}
]