Intel471Ex.Malware (intel471_ex v0.2.0)

Copy Markdown

Functions for working with the Intel 471 Verity Malware Intel API.

Service path: integrations/malware-intel/v1

Summary

Functions

Download a malware file (raw binary).

Stream malware events matching filter criteria (cursor-paginated).

Get a malware event by ID.

Get a malware family profile by ID.

List malware profiles matching filter criteria.

Functions

download_file(file_name)

@spec download_file(String.t()) :: {:ok, map()} | {:error, any()}

Download a malware file (raw binary).

Examples

{:ok, %{body: data}} = Intel471Ex.Malware.download_file("sample-hash.exe")

events_stream(params \\ %{})

@spec events_stream(map()) :: {:ok, map()} | {:error, any()}

Stream malware events matching filter criteria (cursor-paginated).

Parameters

  • params: A map of query parameters
    • :type — Event type
    • :text_filter — Free text search
    • :malware_id — Filter by malware ID
    • :malware_family_id — Filter by malware family ID
    • :malware_family_name — Filter by malware family name
    • :girs — Filter by GIRs
    • :from / :until — Time range
    • :size / :cursor — Pagination

Examples

{:ok, result} = Intel471Ex.Malware.events_stream(%{malware_family_name: "lokibot", size: 10})

get_event(id)

@spec get_event(String.t()) :: {:ok, map()} | {:error, any()}

Get a malware event by ID.

Examples

{:ok, event} = Intel471Ex.Malware.get_event("event-id")

get_malware_family(id)

@spec get_malware_family(String.t()) :: {:ok, map()} | {:error, any()}

Get a malware family profile by ID.

Examples

{:ok, profile} = Intel471Ex.Malware.get_malware_family("family-id")

list_malware(params \\ %{})

@spec list_malware(map()) :: {:ok, map()} | {:error, any()}

List malware profiles matching filter criteria.

Parameters

  • params: A map of query parameters
    • :text_filter — Free text search
    • :malware_family_id — Filter by malware family ID
    • :malware_family_name — Filter by malware family name
    • :girs — Filter by GIRs
    • :sort_by — Sort field
    • :order_by — Sort order
    • :page / :size — Pagination
    • :from / :until — Time range

Examples

{:ok, profiles} = Intel471Ex.Malware.list_malware(%{malware_family_name: "conti", size: 10})