Skip to main content

CrowdStrike Malware Analysis Integration Guide

Overview

The CrowdStrike Malware Analysis integration allows your NINA workflows to connect with CrowdStrike Falcon platform for file analysis, malware research, and sandboxing capabilities. This integration enables automated security operations, threat detection, and incident response directly from your automation platform.

Capabilities

This integration provides access to 5 resources with 45 operations covering:

  • Falconx Sandbox: Operations for Falconx Sandbox
  • Malquery: Operations for Malquery
  • Quick Scan: Operations for Quick Scan
  • Quick Scan Pro: Operations for Quick Scan Pro
  • Sample Uploads: Operations for Sample Uploads

Credential Configuration

Before using the CrowdStrike Malware Analysis integration in your workflows, you need to configure credentials for authentication.

Authentication Method

CrowdStrike Falcon uses OAuth2 Client Credentials authentication. This is a server-to-server authentication flow where you provide a Client ID and Client Secret, and the integration automatically handles token acquisition and refresh.

FieldDescriptionRequired
Client IDYour CrowdStrike API Client IDYes
Client SecretYour CrowdStrike API Client SecretYes
Base URLCrowdStrike API endpoint for your cloud regionYes

How It Works

  1. You provide the Client ID and Client Secret when creating a credential
  2. The integration exchanges these for an OAuth2 access token automatically
  3. Tokens are refreshed automatically when they expire
  4. No redirect URLs or user interaction required

CrowdStrike Cloud Regions

Select the Base URL that matches your CrowdStrike Falcon cloud region:

Cloud RegionBase URLDescription
US-1https://api.crowdstrike.comUnited States (default)
US-2https://api.us-2.crowdstrike.comUnited States (secondary)
EU-1https://api.eu-1.crowdstrike.comEuropean Union
US-GOV-1https://api.laggar.gcw.crowdstrike.comUS Government Cloud

How to Obtain API Credentials

  1. Log in to the CrowdStrike Falcon Console
  2. Navigate to Support and resources > API Clients and Keys
  3. Click Add new API client
  4. Configure the API client:
    • Client Name: A descriptive name (e.g., "NINA Integration")
    • Description: Purpose of this API client
    • API Scopes: Select the permissions required for your use case (see Required Scopes below)
  5. Click Add to create the client
  6. Copy and securely store the Client ID and Client Secret immediately

Important: The Client Secret is only displayed once at creation time. If you lose it, you must create a new API client.

Required API Scopes

The API scopes required depend on which operations you plan to use. Common scopes include:

ScopePermissionUse Case
DetectionsRead/WriteView and manage detections
HostsRead/WriteQuery and manage endpoints
IncidentsRead/WriteView and manage incidents
IOCsRead/WriteManage indicators of compromise
Prevention PoliciesRead/WriteManage prevention policies
Real Time ResponseRead/WriteExecute RTR commands
Sensor Update PoliciesRead/WriteManage sensor updates

Refer to the CrowdStrike API documentation for a complete list of available scopes.

Creating a CrowdStrike Credential in NINA

  1. Navigate to the Credentials section in NINA
  2. Click Add New Credential
  3. Fill in the credential details:
    • Integration Service: Select "CrowdStrike Malware Analysis"
    • Client ID: Paste your CrowdStrike API Client ID
    • Client Secret: Paste your CrowdStrike API Client Secret
    • Base URL: Select your CrowdStrike cloud region URL
  4. Click Test Connection to verify the credentials work
  5. Click Save to store the credential securely

Note: All CrowdStrike integrations (EDR, Intel, Platform, etc.) share the same credential. You only need to create one credential to use across all CrowdStrike modules.

Supported Resources

ResourceDescriptionOperations
Falconx SandboxOperations for Falconx Sandbox15
MalqueryOperations for Malquery9
Quick ScanOperations for Quick Scan4
Quick Scan ProOperations for Quick Scan Pro6
Sample UploadsOperations for Sample Uploads11

Resource Details

Falconx Sandbox

Operations for Falconx Sandbox

Operations

OperationNameDescription
delete_reportDelete ReportSDK: falconx_sandbox.DeleteReport
delete_sample_v2Delete Sample V2SDK: falconx_sandbox.DeleteSampleV2
get_artifactsGet ArtifactsSDK: falconx_sandbox.GetArtifacts
get_memory_dumpGet Memory DumpSDK: falconx_sandbox.GetMemoryDump
get_memory_dump_extracted_stringsGet Memory Dump Extracted StringsSDK: falconx_sandbox.GetMemoryDumpExtractedStrings
get_memory_dump_hex_dumpGet Memory Dump Hex DumpSDK: falconx_sandbox.GetMemoryDumpHexDump
get_reportsGet ReportsSDK: falconx_sandbox.GetReports
get_sample_v2Get Sample V2SDK: falconx_sandbox.GetSampleV2
get_submissionsGet SubmissionsSDK: falconx_sandbox.GetSubmissions
get_summary_reportsGet Summary ReportsSDK: falconx_sandbox.GetSummaryReports
list_reportsList ReportsSDK: falconx_sandbox.QueryReports
list_sample_List SampleSDK: falconx_sandbox.QuerySampleV1
list_submissionsList SubmissionsSDK: falconx_sandbox.QuerySubmissions
submitSubmitSDK: falconx_sandbox.Submit
upload_sample_v2Upload Sample V2SDK: falconx_sandbox.UploadSampleV2

Delete Report

SDK: falconx_sandbox.DeleteReport

Parameters:

NameTypeRequiredDescription
idsstringNoID of a report.

Example:

{
"ids": "<ids>"
}

Delete Sample V2

SDK: falconx_sandbox.DeleteSampleV2

Parameters:

NameTypeRequiredDescription
idsstringNoThe file SHA256.

Example:

{
"ids": "<ids>"
}

Get Artifacts

SDK: falconx_sandbox.GetArtifacts

Parameters:

NameTypeRequiredDescription
accept_encodingstringNoFormat used to compress your downloaded file. Currently, you must provide the value gzip, the o...
idstringNoID of an artifact, such as an IOC pack, PCAP file, memory dump, or actor image. Find an artifact ...
namestringNoThe name given to your downloaded file.

Example:

{
"accept_encoding": "<accept_encoding>",
"id": "<id>",
"name": "<name>"
}

Get Memory Dump

SDK: falconx_sandbox.GetMemoryDump

Parameters:

NameTypeRequiredDescription
accept_encodingstringNoFormat used to compress your downloaded file. Currently, you must provide the value gzip, the o...
idstringNoMemory dump id
namestringNoThe name given to your downloaded file.

Example:

{
"accept_encoding": "<accept_encoding>",
"id": "<id>",
"name": "<name>"
}

Get Memory Dump Extracted Strings

SDK: falconx_sandbox.GetMemoryDumpExtractedStrings

Parameters:

NameTypeRequiredDescription
accept_encodingstringNoFormat used to compress your downloaded file. Currently, you must provide the value gzip, the o...
idstringNoExtracted strings id
namestringNoThe name given to your downloaded file.

Example:

{
"accept_encoding": "<accept_encoding>",
"id": "<id>",
"name": "<name>"
}

Get Memory Dump Hex Dump

SDK: falconx_sandbox.GetMemoryDumpHexDump

Parameters:

NameTypeRequiredDescription
accept_encodingstringNoFormat used to compress your downloaded file. Currently, you must provide the value gzip, the o...
idstringNoHex dump id
namestringNoThe name given to your downloaded file.

Example:

{
"accept_encoding": "<accept_encoding>",
"id": "<id>",
"name": "<name>"
}

Get Reports

SDK: falconx_sandbox.GetReports

Parameters:

NameTypeRequiredDescription
idsarrayNoID of a report. Find a report ID from the response when submitting a malware sample or search wit...

Example:

{
"ids": ["<ids>"]
}

Get Sample V2

SDK: falconx_sandbox.GetSampleV2

Parameters:

NameTypeRequiredDescription
idsstringNoThe file SHA256.
password_protectedbooleanNoFlag whether the sample should be zipped and password protected with pass='infected'

Example:

{
"ids": "<ids>",
"password_protected": true
}

Get Submissions

SDK: falconx_sandbox.GetSubmissions

Parameters:

NameTypeRequiredDescription
idsarrayNoID of a submitted malware sample. Find a submission ID from the response when submitting a malwar...

Example:

{
"ids": ["<ids>"]
}

Get Summary Reports

SDK: falconx_sandbox.GetSummaryReports

Parameters:

NameTypeRequiredDescription
idsarrayNoID of a summary. Find a summary ID from the response when submitting a malware sample or search w...

Example:

{
"ids": ["<ids>"]
}

List Reports

SDK: falconx_sandbox.QueryReports

Parameters:

NameTypeRequiredDescription
filterstringNoOptional filter and sort criteria in the form of an FQL query. For more information about FQL que...
limitnumberNoMaximum number of report IDs to return. Max: 5000.
offsetstringNoThe offset to start retrieving reports from.
sortstringNoSort order: asc or desc.

Example:

{
"filter": "<filter>",
"limit": 10,
"offset": "<offset>",
"sort": "<sort>"
}

List Sample

SDK: falconx_sandbox.QuerySampleV1

Parameters:

NameTypeRequiredDescription
sha256sarrayYessha256s. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/

Example:

{
"sha256s": ["<sha256s>"]
}

List Submissions

SDK: falconx_sandbox.QuerySubmissions

Parameters:

NameTypeRequiredDescription
filterstringNoOptional filter and sort criteria in the form of an FQL query. For more information about FQL que...
limitnumberNoMaximum number of submission IDs to return. Max: 5000.
offsetstringNoThe offset to start retrieving submissions from.
sortstringNoSort order: asc or desc.

Example:

{
"filter": "<filter>",
"limit": 10,
"offset": "<offset>",
"sort": "<sort>"
}

Submit

SDK: falconx_sandbox.Submit

Parameters:

NameTypeRequiredDescription
auto_detect_environmentbooleanNoauto detect environment
sandboxobjectYessandbox. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
send_email_notificationbooleanNosend email notification
user_tagsarrayYesuser tags. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/

Example:

{
"auto_detect_environment": true,
"sandbox": {},
"send_email_notification": true,
"user_tags": ["<user_tags>"]
}

Upload Sample V2

SDK: falconx_sandbox.UploadSampleV2

Parameters:

NameTypeRequiredDescription
commentstringNoA descriptive comment to identify the file for other users.
file_namestringNoName of the file.
is_confidentialbooleanNoDefines visibility of this file in Falcon MalQuery, either via the API or the Falcon console. - `...

Example:

{
"comment": "<comment>",
"file_name": "<file_name>",
"is_confidential": true
}

Malquery

Operations for Malquery

Operations

OperationNameDescription
list_mal_download_List Mal DownloadSDK: malquery.GetMalQueryDownloadV1
list_mal_entities_samples_fetch_List Mal Entities Samples FetchSDK: malquery.GetMalQueryEntitiesSamplesFetchV1
list_mal_metadata_List Mal MetadataSDK: malquery.GetMalQueryMetadataV1
list_mal_quotas_List Mal QuotasSDK: malquery.GetMalQueryQuotasV1
list_mal_request_List Mal RequestSDK: malquery.GetMalQueryRequestV1
list_post_mal_entities_samples_multidownload_List Post Mal Entities Samples MultidownloadSDK: malquery.PostMalQueryEntitiesSamplesMultidownloadV1
list_post_mal_exact_search_List Post Mal Exact SearchSDK: malquery.PostMalQueryExactSearchV1
list_post_mal_fuzzy_search_List Post Mal Fuzzy SearchSDK: malquery.PostMalQueryFuzzySearchV1
list_post_mal_hunt_List Post Mal HuntSDK: malquery.PostMalQueryHuntV1

List Mal Download

SDK: malquery.GetMalQueryDownloadV1

Parameters:

NameTypeRequiredDescription
idsarrayNoThe file SHA256.

Example:

{
"ids": ["<ids>"]
}

List Mal Entities Samples Fetch

SDK: malquery.GetMalQueryEntitiesSamplesFetchV1

Parameters:

NameTypeRequiredDescription
idsstringNoMultidownload job id

Example:

{
"ids": "<ids>"
}

List Mal Metadata

SDK: malquery.GetMalQueryMetadataV1

Parameters:

NameTypeRequiredDescription
idsarrayNoThe file SHA256.

Example:

{
"ids": ["<ids>"]
}

List Mal Quotas

SDK: malquery.GetMalQueryQuotasV1

This operation has no parameters.

Example:

{
}

List Mal Request

SDK: malquery.GetMalQueryRequestV1

Parameters:

NameTypeRequiredDescription
idsarrayNoIdentifier of a MalQuery request

Example:

{
"ids": ["<ids>"]
}

List Post Mal Entities Samples Multidownload

SDK: malquery.PostMalQueryEntitiesSamplesMultidownloadV1

Parameters:

NameTypeRequiredDescription
samplesarrayYesList of sample sha256 ids

Example:

{
"samples": ["<samples>"]
}

List Post Mal Exact Search

SDK: malquery.PostMalQueryExactSearchV1

Parameters:

NameTypeRequiredDescription
optionsobjectNoAdditional search options
patternsobjectYesPatterns to search for

Example:

{
"options": {},
"patterns": {}
}

List Post Mal Fuzzy Search

SDK: malquery.PostMalQueryFuzzySearchV1

Parameters:

NameTypeRequiredDescription
optionsobjectNooptions. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
patternsobjectYespatterns. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/

Example:

{
"options": {},
"patterns": {}
}

List Post Mal Hunt

SDK: malquery.PostMalQueryHuntV1

Parameters:

NameTypeRequiredDescription
optionsobjectNoOptional advanced searching parameters
yara_rulestringYesA YARA rule that defines your search

Example:

{
"options": {},
"yara_rule": "<yara_rule>"
}

Quick Scan

Operations for Quick Scan

Operations

OperationNameDescription
get_scansGet ScansSDK: quick_scan.GetScans
get_scans_aggregatesGet Scans AggregatesSDK: quick_scan.GetScansAggregates
list_submissions_mixin0List Submissions Mixin0SDK: quick_scan.QuerySubmissionsMixin0
scan_samplesScan SamplesSDK: quick_scan.ScanSamples

Get Scans

SDK: quick_scan.GetScans

Parameters:

NameTypeRequiredDescription
idsarrayNoID of a submitted scan

Example:

{
"ids": ["<ids>"]
}

Get Scans Aggregates

SDK: quick_scan.GetScansAggregates

Parameters:

NameTypeRequiredDescription
date_rangesobjectYesdate ranges. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
excludestringYesexclude. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
extended_boundsobjectNoextended bounds. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
fieldstringYesfield. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
filterstringYesfilter. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
fromnumberYesfrom. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
includestringYesinclude. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
intervalstringYesinterval. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
max_doc_countnumberNomax doc count. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
min_doc_countnumberNomin doc count. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
missingstringYesmissing. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
namestringYesname. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
qstringYes
rangesobjectYesranges. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
sizenumberYessize. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
sortstringYessort. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
sub_aggregatesobjectYessub aggregates. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
time_zonestringYestime zone. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
typestringYestype. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/

Example:

{
"date_ranges": {},
"exclude": "<exclude>",
"extended_bounds": {},
"field": "<field>",
"filter": "<filter>",
"from": 10,
"include": "<include>",
"interval": "<interval>",
"max_doc_count": 10,
"min_doc_count": 10,
"missing": "<missing>",
"name": "<name>",
"q": "<q>",
"ranges": {},
"size": 10,
"sort": "<sort>",
"sub_aggregates": {},
"time_zone": "<time_zone>",
"type": "<type>"
}

List Submissions Mixin0

SDK: quick_scan.QuerySubmissionsMixin0

Parameters:

NameTypeRequiredDescription
filterstringNoOptional filter and sort criteria in the form of an FQL query. For more information about FQL que...
limitnumberNoMaximum number of volume IDs to return. Max: 5000.
offsetstringNoThe offset to start retrieving submissions from.
sortstringNoSort order: asc or desc.

Example:

{
"filter": "<filter>",
"limit": 10,
"offset": "<offset>",
"sort": "<sort>"
}

Scan Samples

SDK: quick_scan.ScanSamples

Parameters:

NameTypeRequiredDescription
samplesarrayYessamples. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/

Example:

{
"samples": ["<samples>"]
}

Quick Scan Pro

Operations for Quick Scan Pro

Operations

OperationNameDescription
delete_fileDelete FileSDK: quick_scan_pro.DeleteFile
delete_scan_resultDelete Scan ResultSDK: quick_scan_pro.DeleteScanResult
get_scan_resultGet Scan ResultSDK: quick_scan_pro.GetScanResult
launch_scanLaunch ScanSDK: quick_scan_pro.LaunchScan
list_scan_resultsList Scan ResultsSDK: quick_scan_pro.QueryScanResults
upload_file_mixin0mixin93Upload File Mixin0Mixin93SDK: quick_scan_pro.UploadFileMixin0Mixin93

Delete File

SDK: quick_scan_pro.DeleteFile

Parameters:

NameTypeRequiredDescription
idsarrayNoFile's SHA256

Example:

{
"ids": ["<ids>"]
}

Delete Scan Result

SDK: quick_scan_pro.DeleteScanResult

Parameters:

NameTypeRequiredDescription
idsarrayNoScan job IDs previously created by LaunchScan

Example:

{
"ids": ["<ids>"]
}

Get Scan Result

SDK: quick_scan_pro.GetScanResult

Parameters:

NameTypeRequiredDescription
idsarrayNoScan job IDs previously created by LaunchScan

Example:

{
"ids": ["<ids>"]
}

Launch Scan

SDK: quick_scan_pro.LaunchScan

Parameters:

NameTypeRequiredDescription
resourcesarrayYesBatch operation - array of JSON strings. Each item should be: {"field1":"value1","field2":"value...

Example:

{
"resources": ["<resources>"]
}

List Scan Results

SDK: quick_scan_pro.QueryScanResults

Parameters:

NameTypeRequiredDescription
filterstringNoEmpty value means to not filter on anything Available filter fields that supports match (~): _all...
limitnumberNoMaximum number of IDs to return. Max: 5000. Default: 50
offsetnumberNoThe offset to start retrieving ids from.
sortstringNoSort order: asc or desc. Sort supported fields created_timestamp

Example:

{
"filter": "<filter>",
"limit": 10,
"offset": 10,
"sort": "<sort>"
}

Upload File Mixin0Mixin93

SDK: quick_scan_pro.UploadFileMixin0Mixin93

Parameters:

NameTypeRequiredDescription
file_namestringNoOCTET-STREAM ONLY - Name of the file (required for octet-stream uploads).
scanbooleanNoIf true, after upload, it starts scanning immediately. Default scan mode is 'false'

Example:

{
"file_name": "<file_name>",
"scan": true
}

Sample Uploads

Operations for Sample Uploads

Operations

OperationNameDescription
archive_delete_Archive DeleteSDK: sample_uploads.ArchiveDeleteV1
archive_get_Archive GetSDK: sample_uploads.ArchiveGetV1
archive_list_Archive ListSDK: sample_uploads.ArchiveListV1
archive_upload_Archive UploadSDK: sample_uploads.ArchiveUploadV1
archive_upload_v2Archive Upload V2SDK: sample_uploads.ArchiveUploadV2
delete_sample_v3Delete Sample V3SDK: sample_uploads.DeleteSampleV3
extraction_create_Extraction CreateSDK: sample_uploads.ExtractionCreateV1
extraction_get_Extraction GetSDK: sample_uploads.ExtractionGetV1
extraction_list_Extraction ListSDK: sample_uploads.ExtractionListV1
get_sample_v3Get Sample V3SDK: sample_uploads.GetSampleV3
upload_sample_v3Upload Sample V3SDK: sample_uploads.UploadSampleV3

Archive Delete

SDK: sample_uploads.ArchiveDeleteV1

Parameters:

NameTypeRequiredDescription
idstringNoThe archive SHA256.

Example:

{
"id": "<id>"
}

Archive Get

SDK: sample_uploads.ArchiveGetV1

Parameters:

NameTypeRequiredDescription
idstringNoThe archive SHA256.
include_filesbooleanNoIf true includes processed archive files in response.

Example:

{
"id": "<id>",
"include_files": true
}

Archive List

SDK: sample_uploads.ArchiveListV1

Parameters:

NameTypeRequiredDescription
idstringNoThe archive SHA256.
limitnumberNoMax number of files to retrieve. Default: 100
offsetstringNoOffset from where to get files.

Example:

{
"id": "<id>",
"limit": 10,
"offset": "<offset>"
}

Archive Upload

SDK: sample_uploads.ArchiveUploadV1

Parameters:

NameTypeRequiredDescription
bodyarrayNoContent of the uploaded archive in binary format. For example, use --data-binary @$FILE_PATH wh...
commentstringNoA descriptive comment to identify the file for other users.
is_confidentialbooleanNoDefines visibility of this file, either via the API or the Falcon console. - true: File is only...
namestringNoName of the archive.
passwordstringNoArchive password.

Example:

{
"body": ["<body>"],
"comment": "<comment>",
"is_confidential": true,
"name": "<name>",
"password": "<password>"
}

Archive Upload V2

SDK: sample_uploads.ArchiveUploadV2

Parameters:

NameTypeRequiredDescription
commentstringNoA descriptive comment to identify the file for other users. For example, use --form comment= wh...
is_confidentialbooleanNoDefines visibility of this file in Falcon MalQuery, either via the API or the Falcon console. For...
namestringNoName of the archive. For example, use --form name= when using cURL.
passwordstringNoArchive password. For example, use --form password= when using cURL.

Example:

{
"comment": "<comment>",
"is_confidential": true,
"name": "<name>",
"password": "<password>"
}

Delete Sample V3

SDK: sample_uploads.DeleteSampleV3

Parameters:

NameTypeRequiredDescription
idsstringNoThe file SHA256.

Example:

{
"ids": "<ids>"
}

Extraction Create

SDK: sample_uploads.ExtractionCreateV1

Parameters:

NameTypeRequiredDescription
extract_allbooleanNoextract all. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
filesobjectYesfiles. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/
sha256stringNosha256. See CrowdStrike API documentation: https://developer.crowdstrike.com/docs/openapi/

Example:

{
"extract_all": true,
"files": {},
"sha256": "<sha256>"
}

Extraction Get

SDK: sample_uploads.ExtractionGetV1

Parameters:

NameTypeRequiredDescription
idstringNoThe extraction operation ID.
include_filesbooleanNoIf true includes processed archive files in response.

Example:

{
"id": "<id>",
"include_files": true
}

Extraction List

SDK: sample_uploads.ExtractionListV1

Parameters:

NameTypeRequiredDescription
idstringNoThe extraction operation ID.
limitnumberNoMax number of file extractions to retrieve.
offsetstringNoOffset from where to get file extractions.

Example:

{
"id": "<id>",
"limit": 10,
"offset": "<offset>"
}

Get Sample V3

SDK: sample_uploads.GetSampleV3

Parameters:

NameTypeRequiredDescription
idsstringNoThe file SHA256.
password_protectedbooleanNoFlag whether the sample should be zipped and password protected with pass='infected'

Example:

{
"ids": "<ids>",
"password_protected": true
}

Upload Sample V3

SDK: sample_uploads.UploadSampleV3

Parameters:

NameTypeRequiredDescription
commentstringNoA descriptive comment to identify the file for other users.
file_namestringNoName of the file.
is_confidentialbooleanNoDefines visibility of this file in Falcon MalQuery, either via the API or the Falcon console. - `...

Example:

{
"comment": "<comment>",
"file_name": "<file_name>",
"is_confidential": true
}

Best Practices

  1. Use Appropriate Filters: Leverage FQL (Falcon Query Language) filters to narrow down results and improve performance.

  2. Implement Pagination: For operations returning large datasets, use limit and offset parameters to paginate results.

  3. Handle Rate Limits: CrowdStrike APIs have rate limits. Implement appropriate delays and retry logic in your workflows.

  4. Secure Credentials: Never log or expose API credentials. Use NINA's credential management for secure storage.

  5. Use Specific Scopes: When creating API clients, only request the minimum required API scopes.

  6. Monitor API Usage: Track your API usage to avoid hitting rate limits during critical operations.

  7. Validate IDs: Always validate resource IDs before using them in update or delete operations.

  8. Error Handling: Implement comprehensive error handling for API failures and unexpected responses.

Troubleshooting

IssuePossible Solution
401 UnauthorizedVerify Client ID and Client Secret are correct; check if credentials have expired
403 ForbiddenEnsure API client has required scopes for the operation
404 Not FoundVerify the resource ID exists and is accessible with your credentials
429 Too Many RequestsRate limit exceeded; implement delays between requests
Invalid FilterCheck FQL syntax; refer to CrowdStrike FQL documentation
Connection TimeoutVerify network connectivity and correct Base URL for your region
Empty ResultsVerify filter criteria; check if resources exist in your environment

Support

For issues with this integration, please contact support with:

  • The operation you were attempting
  • Any error messages received
  • The parameters used (excluding sensitive data)
  • Your CrowdStrike cloud region

For CrowdStrike API documentation, visit: CrowdStrike Developer Portal

Updated: 2026-02-05