Feed¶
This analyzer can ingest a feed (JSON or CSV) by specifying conditions.
Note that you should write a selector to get proper IoCs from a feed. A selector is based on jr.
analyzer: feed
query: ...
selector: ...
method: ...
headers: ...
params: ...
form: ...
json: ...
Components¶
Query¶
query
(string
) is a URL of a feed.
Note
I know this is a strange naming. It's just for keeping the convention with other analyzers.
Method¶
method
(string
) is an HTTP method. Defaults to GET
.
Selector¶
selector
(string
) is a jr
selector.
Warning
With great power comes great responsibility.
jr
can execute anything with the same privilege Mihari has. Do not use untrusted selector.
Headers¶
headers
(hash
) is an HTTP headers. Optional.
Params¶
params
(hash
) is an HTTP query params. Optional.
Form¶
form
(hash
) is an HTTP form data. Optional.
JSON¶
json
(hash
) is a JSON data. Optional.
Examples¶
ThreatFox¶
analyzer: feed
query: "https://threatfox-api.abuse.ch/api/v1/"
method: POST
json:
query: get_iocs
headers:
selector: "data.map(&:ioc).map { |v| v.start_with?('http://', 'https://') ? v : v.split(':').first }"
URLhaus¶
analyzer: feed
query: "https://urlhaus.abuse.ch/feeds/country/JP/"
selector: "map { |v| v[1] }"