Skip to main content
DECODA’s IOC extraction engine automatically detects indicators of compromise from analysis output using pattern matching with validation. Each indicator is assigned a confidence level and can be exported in machine-readable formats.

Network Indicators

Domain detection covers 60+ TLDs including those commonly abused in malware campaigns: .xyz, .top, .tk, .pw, .onion, .bit, and country-code TLDs.

File Indicators

PDB paths are particularly valuable for attribution, as they may reveal developer usernames, project names, and build environments.

Host Indicators

Cryptocurrency Indicators

Confidence Levels

Each detected IOC is assigned a confidence level:
  • High - Strong structural match with validation (URLs, IPv4 addresses, registry keys, crypto addresses, mutexes)
  • Medium - Good pattern match but may have false positives (domains, IPv6 addresses, file paths, user agents)
  • Low - Hex string length match only (hashes) - could be coincidental hex sequences
Hash confidence is low because a 32-character hex string could be an MD5 hash, a GUID, or just a hex-encoded value. DECODA uses context from surrounding analysis to improve hash classification.

Export Formats

IOCs can be exported in three machine-readable formats:

JSON

Structured data suitable for SIEM ingestion or custom tooling. IOCs are grouped by category:

CSV

Spreadsheet-compatible format for manual review or bulk import. Values are defanged by default for safety:

STIX 2.1

Standard threat intelligence format for sharing between organisations and tools. DECODA generates a valid STIX 2.1 bundle of Cyber Observable Objects - ipv4-addr, ipv6-addr, domain-name, url, email-addr, file (hashes and file paths), windows-registry-key, and mutex.
User-agent strings and cryptocurrency addresses have no native STIX 2.1 observable type and are omitted from the STIX export. Use the JSON or CSV format to retain those categories.

Filtering & Options

When asking the agent to extract IOCs, you can specify:
  • Category filter - “Extract only network IOCs” or “Just the file hashes”
  • Confidence threshold - “Only high-confidence indicators”
  • Defanged output - IOCs are modified to prevent accidental clicks (e.g., hxxps://evil[.]com)
Example prompts:
“Extract all network IOCs and export as STIX 2.1”
“Find high-confidence IOCs only, defanged, as CSV”
“Generate IOCs from this analysis and export as JSON”

False Positive Filtering

By default, DECODA filters out common false positives:
  • Private, reserved, and localhost IP ranges (10.x, 172.16-31.x, 192.168.x, 127.x, link-local, etc.)
  • Test/example domains (example.com, localhost, .test, .invalid, and similar)
  • Empty-file and padding hashes (e.g., the hash of a zero-byte file)
  • File extensions that look like domains (.dll, .exe, .sys, .ini, .log, .tmp)
DECODA also maintains an optional benign-domain whitelist (microsoft.com, google.com, certificate authorities, etc.) and a common-system-path filter. These are available but off by default, so legitimate-looking but benign indicators are still reported unless explicitly suppressed.