Sigma File Analysis

Runs Sigma rules against uploaded files to test your detections and find threats and suspicious activities. Supports both community rules and custom user-provided rules for comprehensive threat detection.

Sigma File Analysis

Runs Sigma rules against uploaded files to test your detections and find threats and suspicious activities. Supports both community rules and custom user-provided rules for comprehensive threat detection.

API Endpoint

POST /analysis/sigma/file

HTTP Headers

  • Content-Type: application/json
  • X-Cursed-Api-Token: API token for authentication
  • X-Cursed-Api-Enc-Key: Encryption key for authenticated users (required if using encrypted files)

Request Method

POST

Parameters

Request Body (JSON):

ParameterTypeRequiredDescription
file_idsarrayYesArray of file UUIDs to analyze (100 files maximum limit and up to 1 GB total)
operationstringYesAnalysis operation ("run_rule" or "run_community_rules")
rulestringConditionalBase64-encoded Sigma rule (required if operation is "run_rule")

Request Body Schema

{
  "file_ids": ["string (UUID)", "string (UUID)", ...],
  "operation": "string (run_rule|run_community_rules)",
  "rule": "string (base64-encoded, optional)"
}

Response Format

Success Response (200 OK):

{
  "id": "job_id (UUID)",
  "job_name": "string",
  "message": "Job queued",
  "category": "sigma"
}

Error Response (400 Bad Request):

No file IDs provided
Max Sigma File analysis size limit exceeded (1GB)
Failed to download file

Error Response (401 Unauthorized):

Unauthorized

Error Codes

HTTP StatusDescription
200Success - Analysis job queued
400Bad Request - Invalid parameters or file limit exceeded
401Unauthorized - Missing authentication for private files
413Payload Too Large - Files exceed 1GB total size limit
500Internal Server Error - Server processing error

Operation Types

OperationDescription
run_ruleRun a custom Sigma rule provided in the request
run_community_rulesRun the built-in community Sigma rules

Example cURL Commands

Run Community Rules

curl -X POST https://api.cursed.tools/analysis/sigma/file \
  -H "Content-Type: application/json" \
  -H "X-Cursed-Api-Token: your_api_token" \
  -H "X-Cursed-Api-Enc-Key: your_encryption_key" \
  -d '{
    "file_ids": [
      "123e4567-e89b-12d3-a456-426614174000",
      "a72a10f9-b8b3-4ba5-bd15-9418a37a3202"
    ],
    "operation": "run_community_rules"
  }'

Run Custom Rule

curl -X POST https://api.cursed.tools/analysis/sigma/file \
  -H "Content-Type: application/json" \
  -H "X-Cursed-Api-Token: your_api_token" \
  -H "X-Cursed-Api-Enc-Key: your_encryption_key" \
  -d '{
    "file_ids": ["123e4567-e89b-12d3-a456-426614174000"],
    "operation": "run_rule",
    "rule": "dGl0bGU6IEN1c3RvbSBTaWdtYSBSdWxlCnN0YXR1czogZXhwZXJpbWVudGFsCmRlc2NyaXB0aW9uOiBEZXRlY3QgbWFsaWNpb3VzIGFjdGl2aXR5"
  }'

Example Response

{
  "id": "987e6543-e89b-12d3-a456-426614174000",
  "job_name": "Cosmic Dragon Analysis",
  "message": "Job queued",
  "category": "sigma"
}

Notes

  • Maximum of 100 files can be analyzed in a single request
  • Total file size limit is 1GB across all files
  • Job results can be retrieved using the job status endpoint
  • Authentication is required for private/encrypted files
  • Community rules are maintained and updated regularly
  • Custom rules must be valid Sigma format and base64-encoded
  • Job names are auto-generated using creative memorable combinations
  • Priority is determined by user subscription level
  • Unauthenticated users can analyze public files only
  • The analysis creates a background job that processes files asynchronously