mihari 3.8.1 → 3.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/mihari/commands/web.rb +9 -5
- data/lib/mihari/database.rb +1 -1
- data/lib/mihari/models/alert.rb +28 -46
- data/lib/mihari/structs/alert.rb +45 -0
- data/lib/mihari/types.rb +1 -0
- data/lib/mihari/version.rb +1 -1
- data/lib/mihari/web/app.rb +2 -2
- data/lib/mihari/web/controllers/alerts_controller.rb +21 -28
- data/lib/mihari/web/public/index.html +1 -1
- data/lib/mihari/web/public/redoc-static.html +2 -2
- data/lib/mihari/web/public/static/js/app.378da3dc.js +50 -0
- data/lib/mihari/web/public/static/js/app.378da3dc.js.map +1 -0
- data/lib/mihari.rb +1 -0
- data/mihari.gemspec +1 -1
- data/sig/lib/mihari/analyzers/rule.rbs +1 -1
- data/sig/lib/mihari/models/alert.rbs +3 -31
- data/sig/lib/mihari/structs/alert.rbs +27 -0
- data/sig/lib/mihari/web/app.rbs +1 -1
- metadata +8 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 47f7a6231abe8eee1a1a4e4bc6f905d5f08fba2b68b1435d1621ab85e9e583c0
|
|
4
|
+
data.tar.gz: 591a8c71130095d6ac963fb333179d087f00727f45ab545e4a674a3c42a2af46
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: da1c99c406086a9d8d029f8421a3316a5a6976c5b8fbc839a910bd0d61f04a3297614582974dbda925722308d206db9d2889fe44ae213df2650f1482cc15e918
|
|
7
|
+
data.tar.gz: edf130cb5027bbb6abfea72b150266b8768494b627162da814c93b38d54fe2597a870d78cd9f8f33238512e5a3205cb84a67b9da0589b71393b67fef062ad9b1
|
data/lib/mihari/commands/web.rb
CHANGED
|
@@ -6,19 +6,23 @@ module Mihari
|
|
|
6
6
|
def self.included(thor)
|
|
7
7
|
thor.class_eval do
|
|
8
8
|
desc "web", "Launch the web app"
|
|
9
|
-
method_option :port, type: :numeric, default: 9292
|
|
10
|
-
method_option :host, type: :string, default: "localhost"
|
|
9
|
+
method_option :port, type: :numeric, default: 9292, desc: "Hostname to listen on"
|
|
10
|
+
method_option :host, type: :string, default: "localhost", desc: "Port to listen on"
|
|
11
|
+
method_option :threads, type: :string, default: "0:16", desc: "min:max threads to use"
|
|
12
|
+
method_option :verbose, type: :boolean, default: true, desc: "Report each request"
|
|
11
13
|
method_option :config, type: :string, desc: "Path to the config file"
|
|
12
14
|
def web
|
|
13
|
-
port = options["port"]
|
|
14
|
-
host = options["host"]
|
|
15
|
+
port = options["port"]
|
|
16
|
+
host = options["host"]
|
|
17
|
+
threads = options["threads"]
|
|
18
|
+
verbose = options["verbose"]
|
|
15
19
|
|
|
16
20
|
load_configuration
|
|
17
21
|
|
|
18
22
|
# set rack env as production
|
|
19
23
|
ENV["RACK_ENV"] ||= "production"
|
|
20
24
|
|
|
21
|
-
Mihari::App.run!(port: port, host: host)
|
|
25
|
+
Mihari::App.run!(port: port, host: host, threads: threads, verbose: verbose)
|
|
22
26
|
end
|
|
23
27
|
end
|
|
24
28
|
end
|
data/lib/mihari/database.rb
CHANGED
data/lib/mihari/models/alert.rb
CHANGED
|
@@ -13,36 +13,20 @@ module Mihari
|
|
|
13
13
|
#
|
|
14
14
|
# Search alerts
|
|
15
15
|
#
|
|
16
|
-
# @param [
|
|
17
|
-
# @param [String, nil] description
|
|
18
|
-
# @param [String, nil] source
|
|
19
|
-
# @param [String, nil] tag_name
|
|
20
|
-
# @param [String, nil] title
|
|
21
|
-
# @param [DateTime, nil] from_at
|
|
22
|
-
# @param [DateTime, nil] to_at
|
|
23
|
-
# @param [Integer, nil] limit
|
|
24
|
-
# @param [Integer, nil] page
|
|
16
|
+
# @param [Structs::Alert::SearchFilterWithPagination] filter
|
|
25
17
|
#
|
|
26
18
|
# @return [Array<Hash>]
|
|
27
19
|
#
|
|
28
|
-
def search(
|
|
29
|
-
limit = limit.to_i
|
|
20
|
+
def search(filter)
|
|
21
|
+
limit = filter.limit.to_i
|
|
30
22
|
raise ArgumentError, "limit should be bigger than zero" unless limit.positive?
|
|
31
23
|
|
|
32
|
-
page = page.to_i
|
|
24
|
+
page = filter.page.to_i
|
|
33
25
|
raise ArgumentError, "page should be bigger than zero" unless page.positive?
|
|
34
26
|
|
|
35
27
|
offset = (page - 1) * limit
|
|
36
28
|
|
|
37
|
-
relation = build_relation(
|
|
38
|
-
artifact_data: artifact_data,
|
|
39
|
-
title: title,
|
|
40
|
-
description: description,
|
|
41
|
-
source: source,
|
|
42
|
-
tag_name: tag_name,
|
|
43
|
-
from_at: from_at,
|
|
44
|
-
to_at: to_at
|
|
45
|
-
)
|
|
29
|
+
relation = build_relation(filter.without_pagination)
|
|
46
30
|
|
|
47
31
|
# TODO: improve queires
|
|
48
32
|
alert_ids = relation.limit(limit).offset(offset).order(id: :desc).pluck(:id).uniq
|
|
@@ -60,45 +44,43 @@ module Mihari
|
|
|
60
44
|
# Count alerts
|
|
61
45
|
#
|
|
62
46
|
# @param [String, nil] artifact_data
|
|
63
|
-
# @param [String, nil] description
|
|
64
|
-
# @param [String, nil] source
|
|
65
|
-
# @param [String, nil] tag_name
|
|
66
|
-
# @param [String, nil] title
|
|
67
|
-
# @param [DateTime, nil] from_at
|
|
68
|
-
# @param [DateTime, nil] to_at
|
|
69
47
|
#
|
|
70
48
|
# @return [Integer]
|
|
71
49
|
#
|
|
72
|
-
def count(
|
|
73
|
-
relation = build_relation(
|
|
74
|
-
artifact_data: artifact_data,
|
|
75
|
-
title: title,
|
|
76
|
-
description: description,
|
|
77
|
-
source: source,
|
|
78
|
-
tag_name: tag_name,
|
|
79
|
-
from_at: from_at,
|
|
80
|
-
to_at: to_at
|
|
81
|
-
)
|
|
50
|
+
def count(filter)
|
|
51
|
+
relation = build_relation(filter)
|
|
82
52
|
relation.distinct("alerts.id").count
|
|
83
53
|
end
|
|
84
54
|
|
|
85
55
|
private
|
|
86
56
|
|
|
87
|
-
def build_relation(
|
|
88
|
-
|
|
57
|
+
def build_relation(filter)
|
|
58
|
+
artifact_ids = []
|
|
59
|
+
artifact = Artifact.includes(:autonomous_system, :dns_records, :reverse_dns_names)
|
|
60
|
+
artifact = artifact.where(data: filter.artifact_data) if filter.artifact_data
|
|
61
|
+
artifact = artifact.where(autonomous_system: { asn: filter.asn }) if filter.asn
|
|
62
|
+
artifact = artifact.where(dns_records: { value: filter.dns_record }) if filter.dns_record
|
|
63
|
+
artifact = artifact.where(reverse_dns_names: { name: filter.reverse_dns_name }) if filter.reverse_dns_name
|
|
64
|
+
# get artifact ids if there is any valid filter for artifact
|
|
65
|
+
if filter.has_valid_artifact_filters
|
|
66
|
+
artifact_ids = artifact.pluck(:id)
|
|
67
|
+
# set invalid ID if nothing is matched with the filters
|
|
68
|
+
artifact_ids = [-1] if artifact_ids.empty?
|
|
69
|
+
end
|
|
89
70
|
|
|
71
|
+
relation = self
|
|
90
72
|
relation = relation.includes(:artifacts, :tags)
|
|
91
73
|
|
|
92
|
-
relation = relation.where(artifacts: {
|
|
93
|
-
relation = relation.where(tags: { name: tag_name }) if tag_name
|
|
74
|
+
relation = relation.where(artifacts: { id: artifact_ids }) unless artifact_ids.empty?
|
|
75
|
+
relation = relation.where(tags: { name: filter.tag_name }) if filter.tag_name
|
|
94
76
|
|
|
95
|
-
relation = relation.where(source: source) if source
|
|
96
|
-
relation = relation.where(title: title) if title
|
|
77
|
+
relation = relation.where(source: filter.source) if filter.source
|
|
78
|
+
relation = relation.where(title: filter.title) if filter.title
|
|
97
79
|
|
|
98
|
-
relation = relation.filter(description: { like: "%#{description}%" }) if description
|
|
80
|
+
relation = relation.filter(description: { like: "%#{filter.description}%" }) if filter.description
|
|
99
81
|
|
|
100
|
-
relation = relation.filter(created_at: { gte: from_at }) if from_at
|
|
101
|
-
relation = relation.filter(created_at: { lte: to_at }) if to_at
|
|
82
|
+
relation = relation.filter(created_at: { gte: filter.from_at }) if filter.from_at
|
|
83
|
+
relation = relation.filter(created_at: { lte: filter.to_at }) if filter.to_at
|
|
102
84
|
|
|
103
85
|
relation
|
|
104
86
|
end
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
require "json"
|
|
2
|
+
require "dry/struct"
|
|
3
|
+
|
|
4
|
+
module Mihari
|
|
5
|
+
module Structs
|
|
6
|
+
module Alert
|
|
7
|
+
class SearchFilter < Dry::Struct
|
|
8
|
+
attribute? :artifact_data, Types::String.optional
|
|
9
|
+
attribute? :description, Types::String.optional
|
|
10
|
+
attribute? :source, Types::String.optional
|
|
11
|
+
attribute? :tag_name, Types::String.optional
|
|
12
|
+
attribute? :title, Types::String.optional
|
|
13
|
+
attribute? :from_at, Types::DateTime.optional
|
|
14
|
+
attribute? :to_at, Types::DateTime.optional
|
|
15
|
+
attribute? :asn, Types::Int.optional
|
|
16
|
+
attribute? :dns_record, Types::String.optional
|
|
17
|
+
attribute? :reverse_dns_name, Types::String.optional
|
|
18
|
+
|
|
19
|
+
def has_valid_artifact_filters
|
|
20
|
+
!(artifact_data || asn || dns_record || reverse_dns_name).nil?
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
class SearchFilterWithPagination < SearchFilter
|
|
25
|
+
attribute? :page, Types::Int.default(1)
|
|
26
|
+
attribute? :limit, Types::Int.default(10)
|
|
27
|
+
|
|
28
|
+
def without_pagination
|
|
29
|
+
SearchFilter.new(
|
|
30
|
+
artifact_data: artifact_data,
|
|
31
|
+
description: description,
|
|
32
|
+
from_at: from_at,
|
|
33
|
+
source: source,
|
|
34
|
+
tag_name: tag_name,
|
|
35
|
+
title: title,
|
|
36
|
+
to_at: to_at,
|
|
37
|
+
asn: asn,
|
|
38
|
+
dns_record: dns_record,
|
|
39
|
+
reverse_dns_name: reverse_dns_name
|
|
40
|
+
)
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
data/lib/mihari/types.rb
CHANGED
data/lib/mihari/version.rb
CHANGED
data/lib/mihari/web/app.rb
CHANGED
|
@@ -37,10 +37,10 @@ module Mihari
|
|
|
37
37
|
use Mihari::Controllers::TagsController
|
|
38
38
|
|
|
39
39
|
class << self
|
|
40
|
-
def run!(port: 9292, host: "localhost")
|
|
40
|
+
def run!(port: 9292, host: "localhost", threads: "0:16", verbose: false)
|
|
41
41
|
url = "http://#{host}:#{port}"
|
|
42
42
|
|
|
43
|
-
Rack::Handler::Puma.run
|
|
43
|
+
Rack::Handler::Puma.run(self, Port: port, Host: host, Threads: threads, Verbose: verbose) do |server|
|
|
44
44
|
Launchy.open url
|
|
45
45
|
|
|
46
46
|
[:INT, :TERM].each do |sig|
|
|
@@ -15,39 +15,32 @@ module Mihari
|
|
|
15
15
|
param :to_at, DateTime
|
|
16
16
|
param :toAt, DateTime
|
|
17
17
|
|
|
18
|
+
param :asn, Integer
|
|
19
|
+
param :dns_record, String
|
|
20
|
+
param :dnsRecord, String
|
|
21
|
+
param :reverse_dns_name, String
|
|
22
|
+
param :reverseDnsName, String
|
|
23
|
+
|
|
24
|
+
# set page & limit
|
|
18
25
|
page = params["page"] || 1
|
|
19
|
-
page = page.to_i
|
|
26
|
+
params["page"] = page.to_i
|
|
27
|
+
|
|
20
28
|
limit = 10
|
|
29
|
+
params["limit"] = 10
|
|
21
30
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
31
|
+
# normalize keys
|
|
32
|
+
params["artifact_data"] = params["artifact"]
|
|
33
|
+
params["from_at"] = params["from_at"] || params["fromAt"]
|
|
34
|
+
params["to_at"] = params["to_at"] || params["toAt"]
|
|
35
|
+
params["dns_record"] = params["dns_record"] || params["dnsRecord"]
|
|
36
|
+
params["reverse_dns_name"] = params["reverse_dns_name"] || params["reverseDnsName"]
|
|
27
37
|
|
|
28
|
-
|
|
29
|
-
|
|
38
|
+
# symbolize hash keys
|
|
39
|
+
filter = params.to_h.transform_keys(&:to_sym)
|
|
30
40
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
from_at: from_at,
|
|
35
|
-
limit: limit,
|
|
36
|
-
page: page,
|
|
37
|
-
source: source,
|
|
38
|
-
tag_name: tag_name,
|
|
39
|
-
title: title,
|
|
40
|
-
to_at: to_at
|
|
41
|
-
)
|
|
42
|
-
total = Mihari::Alert.count(
|
|
43
|
-
artifact_data: artifact_data,
|
|
44
|
-
description: description,
|
|
45
|
-
from_at: from_at,
|
|
46
|
-
source: source,
|
|
47
|
-
tag_name: tag_name,
|
|
48
|
-
title: title,
|
|
49
|
-
to_at: to_at
|
|
50
|
-
)
|
|
41
|
+
search_filter_with_pagenation = Structs::Alert::SearchFilterWithPagination.new(**filter)
|
|
42
|
+
alerts = Mihari::Alert.search(search_filter_with_pagenation)
|
|
43
|
+
total = Mihari::Alert.count(search_filter_with_pagenation.without_pagination)
|
|
51
44
|
|
|
52
45
|
json({ alerts: alerts, total: total, current_page: page, page_size: limit })
|
|
53
46
|
end
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/static/favicon.ico"><title>Mihari</title><link href="/static/js/app.
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/static/favicon.ico"><title>Mihari</title><link href="/static/js/app.378da3dc.js" rel="preload" as="script"></head><body><noscript><strong>We're sorry but Mihari doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="/static/js/app.378da3dc.js"></script></body></html>
|
|
@@ -374,7 +374,7 @@ data-styled.g140[id="sc-amkrK"]{content:"icZuVc,"}/*!sc*/
|
|
|
374
374
|
55.627 l 55.6165,55.627 -231.245496,231.24803 c -127.185,127.1864
|
|
375
375
|
-231.5279,231.248 -231.873,231.248 -0.3451,0 -104.688,
|
|
376
376
|
-104.0616 -231.873,-231.248 z
|
|
377
|
-
" fill="currentColor"></path></g></svg></div></div><div class="sc-kizEQm eWToXe api-content"><div class="sc-eCApnc fxZJZV"><div class="sc-iCoGMd KWWXd"><div class="sc-hKFxyN egQuEZ api-info"><h1 class="sc-fujyAs sc-fcmMJX cTueGk ikafbi">Mihari API<!-- --> <span>(<!-- -->1.0<!-- -->)</span></h1><p>Download OpenAPI specification<!-- -->:<a download="swagger.json" target="_blank" class="sc-GvhzO ksfJAW">Download</a></p><div class="sc-iBzEeX sc-cOifOu dFWqin bHzJuy"></div><div class="sc-iBzEeX sc-cOifOu dFWqin bHzJuy" data-role="redoc-summary"></div><div class="sc-iBzEeX sc-cOifOu dFWqin bHzJuy" data-role="redoc-description"></div></div></div></div><div id="tag/alerts" data-section-id="tag/alerts" class="sc-eCApnc fxZJZV"><div class="sc-iCoGMd KWWXd"><div class="sc-hKFxyN egQuEZ"><h1 class="sc-fujyAs cTueGk"><a class="sc-crzoAE iUxAWq" href="#tag/alerts" aria-label="tag/alerts"></a>alerts</h1></div></div></div><div id="tag/alerts/paths/~1api~1alerts/get" data-section-id="tag/alerts/paths/~1api~1alerts/get" class="sc-eCApnc bJnWIW"><div class="sc-iCoGMd sc-irKDMX KWWXd kBgcMI"><div class="sc-hKFxyN egQuEZ"><h2 class="sc-pNWdM euRMgx"><a class="sc-crzoAE iUxAWq" href="#tag/alerts/paths/~1api~1alerts/get" aria-label="tag/alerts/paths/~1api~1alerts/get"></a>Get alerts<!-- --> </h2><div><h5 class="sc-iqAclL eONCmm">query<!-- --> Parameters</h5><table class="sc-hHEiqL dYlGyN"><tbody><tr><td class="sc-hBMUJo sc-fFSPTT fABPTr eQzShU" kind="field" title="page"><span class="sc-iemWCZ bcnRwz"></span><span>page</span></td><td class="sc-bkbkJK gWxDzL"><div><div><span class="sc-fbIWvP sc-FRrlG CMpTe bBFKjV"></span><span class="sc-fbIWvP sc-fXazdy CMpTe gJKPGC">integer</span></div><div><span class="sc-fbIWvP CMpTe"> <!-- -->Default:<!-- --> </span> <span class="sc-fbIWvP sc-hmbstg CMpTe cfctgs">0</span></div> <div><div class="sc-iBzEeX sc-cOifOu dFWqin cJyzuM"></div></div></div></td></tr><tr><td class="sc-hBMUJo sc-fFSPTT fABPTr eQzShU" kind="field" title="artifact"><span class="sc-iemWCZ bcnRwz"></span><span>artifact</span></td><td class="sc-bkbkJK gWxDzL"><div><div><span class="sc-fbIWvP sc-FRrlG CMpTe bBFKjV"></span><span class="sc-fbIWvP sc-fXazdy CMpTe gJKPGC">string</span></div> <div><div class="sc-iBzEeX sc-cOifOu dFWqin cJyzuM"></div></div></div></td></tr><tr><td class="sc-hBMUJo sc-fFSPTT fABPTr eQzShU" kind="field" title="description"><span class="sc-iemWCZ bcnRwz"></span><span>description</span></td><td class="sc-bkbkJK gWxDzL"><div><div><span class="sc-fbIWvP sc-FRrlG CMpTe bBFKjV"></span><span class="sc-fbIWvP sc-fXazdy CMpTe gJKPGC">string</span></div> <div><div class="sc-iBzEeX sc-cOifOu dFWqin cJyzuM"></div></div></div></td></tr><tr><td class="sc-hBMUJo sc-fFSPTT fABPTr eQzShU" kind="field" title="source"><span class="sc-iemWCZ bcnRwz"></span><span>source</span></td><td class="sc-bkbkJK gWxDzL"><div><div><span class="sc-fbIWvP sc-FRrlG CMpTe bBFKjV"></span><span class="sc-fbIWvP sc-fXazdy CMpTe gJKPGC">string</span></div> <div><div class="sc-iBzEeX sc-cOifOu dFWqin cJyzuM"></div></div></div></td></tr><tr><td class="sc-hBMUJo sc-fFSPTT fABPTr eQzShU" kind="field" title="tag"><span class="sc-iemWCZ bcnRwz"></span><span>tag</span></td><td class="sc-bkbkJK gWxDzL"><div><div><span class="sc-fbIWvP sc-FRrlG CMpTe bBFKjV"></span><span class="sc-fbIWvP sc-fXazdy CMpTe gJKPGC">string</span></div> <div><div class="sc-iBzEeX sc-cOifOu dFWqin cJyzuM"></div></div></div></td></tr><tr><td class="sc-hBMUJo sc-fFSPTT fABPTr eQzShU" kind="field" title="title"><span class="sc-iemWCZ bcnRwz"></span><span>title</span></td><td class="sc-bkbkJK gWxDzL"><div><div><span class="sc-fbIWvP sc-FRrlG CMpTe bBFKjV"></span><span class="sc-fbIWvP sc-fXazdy CMpTe gJKPGC">string</span></div> <div><div class="sc-iBzEeX sc-cOifOu dFWqin cJyzuM"></div></div></div></td></tr><tr><td class="sc-hBMUJo sc-fFSPTT fABPTr eQzShU" kind="field" title="toAt"><span class="sc-iemWCZ bcnRwz"></span><span>toAt</span></td><td class="sc-bkbkJK gWxDzL"><div><div><span class="sc-fbIWvP sc-FRrlG CMpTe bBFKjV"></span><span class="sc-fbIWvP sc-fXazdy CMpTe gJKPGC">string</span></div> <div><div class="sc-iBzEeX sc-cOifOu dFWqin cJyzuM"></div></div></div></td></tr><tr class="last undefined"><td class="sc-hBMUJo sc-fFSPTT fABPTr eQzShU" kind="field" title="
|
|
377
|
+
" fill="currentColor"></path></g></svg></div></div><div class="sc-kizEQm eWToXe api-content"><div class="sc-eCApnc fxZJZV"><div class="sc-iCoGMd KWWXd"><div class="sc-hKFxyN egQuEZ api-info"><h1 class="sc-fujyAs sc-fcmMJX cTueGk ikafbi">Mihari API<!-- --> <span>(<!-- -->1.0<!-- -->)</span></h1><p>Download OpenAPI specification<!-- -->:<a download="swagger.json" target="_blank" class="sc-GvhzO ksfJAW">Download</a></p><div class="sc-iBzEeX sc-cOifOu dFWqin bHzJuy"></div><div class="sc-iBzEeX sc-cOifOu dFWqin bHzJuy" data-role="redoc-summary"></div><div class="sc-iBzEeX sc-cOifOu dFWqin bHzJuy" data-role="redoc-description"></div></div></div></div><div id="tag/alerts" data-section-id="tag/alerts" class="sc-eCApnc fxZJZV"><div class="sc-iCoGMd KWWXd"><div class="sc-hKFxyN egQuEZ"><h1 class="sc-fujyAs cTueGk"><a class="sc-crzoAE iUxAWq" href="#tag/alerts" aria-label="tag/alerts"></a>alerts</h1></div></div></div><div id="tag/alerts/paths/~1api~1alerts/get" data-section-id="tag/alerts/paths/~1api~1alerts/get" class="sc-eCApnc bJnWIW"><div class="sc-iCoGMd sc-irKDMX KWWXd kBgcMI"><div class="sc-hKFxyN egQuEZ"><h2 class="sc-pNWdM euRMgx"><a class="sc-crzoAE iUxAWq" href="#tag/alerts/paths/~1api~1alerts/get" aria-label="tag/alerts/paths/~1api~1alerts/get"></a>Get alerts<!-- --> </h2><div><h5 class="sc-iqAclL eONCmm">query<!-- --> Parameters</h5><table class="sc-hHEiqL dYlGyN"><tbody><tr><td class="sc-hBMUJo sc-fFSPTT fABPTr eQzShU" kind="field" title="page"><span class="sc-iemWCZ bcnRwz"></span><span>page</span></td><td class="sc-bkbkJK gWxDzL"><div><div><span class="sc-fbIWvP sc-FRrlG CMpTe bBFKjV"></span><span class="sc-fbIWvP sc-fXazdy CMpTe gJKPGC">integer</span></div><div><span class="sc-fbIWvP CMpTe"> <!-- -->Default:<!-- --> </span> <span class="sc-fbIWvP sc-hmbstg CMpTe cfctgs">0</span></div> <div><div class="sc-iBzEeX sc-cOifOu dFWqin cJyzuM"></div></div></div></td></tr><tr><td class="sc-hBMUJo sc-fFSPTT fABPTr eQzShU" kind="field" title="artifact"><span class="sc-iemWCZ bcnRwz"></span><span>artifact</span></td><td class="sc-bkbkJK gWxDzL"><div><div><span class="sc-fbIWvP sc-FRrlG CMpTe bBFKjV"></span><span class="sc-fbIWvP sc-fXazdy CMpTe gJKPGC">string</span></div> <div><div class="sc-iBzEeX sc-cOifOu dFWqin cJyzuM"></div></div></div></td></tr><tr><td class="sc-hBMUJo sc-fFSPTT fABPTr eQzShU" kind="field" title="description"><span class="sc-iemWCZ bcnRwz"></span><span>description</span></td><td class="sc-bkbkJK gWxDzL"><div><div><span class="sc-fbIWvP sc-FRrlG CMpTe bBFKjV"></span><span class="sc-fbIWvP sc-fXazdy CMpTe gJKPGC">string</span></div> <div><div class="sc-iBzEeX sc-cOifOu dFWqin cJyzuM"></div></div></div></td></tr><tr><td class="sc-hBMUJo sc-fFSPTT fABPTr eQzShU" kind="field" title="source"><span class="sc-iemWCZ bcnRwz"></span><span>source</span></td><td class="sc-bkbkJK gWxDzL"><div><div><span class="sc-fbIWvP sc-FRrlG CMpTe bBFKjV"></span><span class="sc-fbIWvP sc-fXazdy CMpTe gJKPGC">string</span></div> <div><div class="sc-iBzEeX sc-cOifOu dFWqin cJyzuM"></div></div></div></td></tr><tr><td class="sc-hBMUJo sc-fFSPTT fABPTr eQzShU" kind="field" title="tag"><span class="sc-iemWCZ bcnRwz"></span><span>tag</span></td><td class="sc-bkbkJK gWxDzL"><div><div><span class="sc-fbIWvP sc-FRrlG CMpTe bBFKjV"></span><span class="sc-fbIWvP sc-fXazdy CMpTe gJKPGC">string</span></div> <div><div class="sc-iBzEeX sc-cOifOu dFWqin cJyzuM"></div></div></div></td></tr><tr><td class="sc-hBMUJo sc-fFSPTT fABPTr eQzShU" kind="field" title="title"><span class="sc-iemWCZ bcnRwz"></span><span>title</span></td><td class="sc-bkbkJK gWxDzL"><div><div><span class="sc-fbIWvP sc-FRrlG CMpTe bBFKjV"></span><span class="sc-fbIWvP sc-fXazdy CMpTe gJKPGC">string</span></div> <div><div class="sc-iBzEeX sc-cOifOu dFWqin cJyzuM"></div></div></div></td></tr><tr><td class="sc-hBMUJo sc-fFSPTT fABPTr eQzShU" kind="field" title="toAt"><span class="sc-iemWCZ bcnRwz"></span><span>toAt</span></td><td class="sc-bkbkJK gWxDzL"><div><div><span class="sc-fbIWvP sc-FRrlG CMpTe bBFKjV"></span><span class="sc-fbIWvP sc-fXazdy CMpTe gJKPGC">string</span></div> <div><div class="sc-iBzEeX sc-cOifOu dFWqin cJyzuM"></div></div></div></td></tr><tr><td class="sc-hBMUJo sc-fFSPTT fABPTr eQzShU" kind="field" title="fromAt"><span class="sc-iemWCZ bcnRwz"></span><span>fromAt</span></td><td class="sc-bkbkJK gWxDzL"><div><div><span class="sc-fbIWvP sc-FRrlG CMpTe bBFKjV"></span><span class="sc-fbIWvP sc-fXazdy CMpTe gJKPGC">string</span></div> <div><div class="sc-iBzEeX sc-cOifOu dFWqin cJyzuM"></div></div></div></td></tr><tr><td class="sc-hBMUJo sc-fFSPTT fABPTr eQzShU" kind="field" title="asn"><span class="sc-iemWCZ bcnRwz"></span><span>asn</span></td><td class="sc-bkbkJK gWxDzL"><div><div><span class="sc-fbIWvP sc-FRrlG CMpTe bBFKjV"></span><span class="sc-fbIWvP sc-fXazdy CMpTe gJKPGC">integer</span></div> <div><div class="sc-iBzEeX sc-cOifOu dFWqin cJyzuM"></div></div></div></td></tr><tr><td class="sc-hBMUJo sc-fFSPTT fABPTr eQzShU" kind="field" title="dnsRecord"><span class="sc-iemWCZ bcnRwz"></span><span>dnsRecord</span></td><td class="sc-bkbkJK gWxDzL"><div><div><span class="sc-fbIWvP sc-FRrlG CMpTe bBFKjV"></span><span class="sc-fbIWvP sc-fXazdy CMpTe gJKPGC">string</span></div> <div><div class="sc-iBzEeX sc-cOifOu dFWqin cJyzuM"></div></div></div></td></tr><tr class="last undefined"><td class="sc-hBMUJo sc-fFSPTT fABPTr eQzShU" kind="field" title="reverseDnsName"><span class="sc-iemWCZ bcnRwz"></span><span>reverseDnsName</span></td><td class="sc-bkbkJK gWxDzL"><div><div><span class="sc-fbIWvP sc-FRrlG CMpTe bBFKjV"></span><span class="sc-fbIWvP sc-fXazdy CMpTe gJKPGC">string</span></div> <div><div class="sc-iBzEeX sc-cOifOu dFWqin cJyzuM"></div></div></div></td></tr></tbody></table></div><div><h3 class="sc-dTSzeu efuQZt">Responses</h3><div><button class="sc-jXcxbT bCvCHz"><svg class="sc-dIsUp jLtOTj" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-jlZJtj jSPrUM">200<!-- --> </strong><span class="sc-Arkif dXjyFC"><p>A list of matched alerts</p>
|
|
378
378
|
</span></button></div></div></div><div class="sc-jSFjdj sc-gKAaRy hsSsLr gcushC"><div class="sc-kYPZxB jdCbTS"><button class="sc-dWBRfb jnEbBv"><span type="get" class="sc-jHcXXw cAOCuf http-verb get">get</span><span class="sc-xGAEC jRjoAh">/api/alerts</span><svg class="sc-dIsUp gGvkZD" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-bQCEYZ gBwOdz"><div class="sc-fXgAZx fKFAhr"><div class="sc-iBzEeX sc-cOifOu dFWqin cJyzuM"></div><div tabindex="0" role="button"><div class="sc-EZqKI gjiGnZ"><span></span>/api/alerts</div></div></div></div></div><div><h3 class="sc-kEqXSa iXmHCl"> <!-- -->Response samples<!-- --> </h3><div class="sc-carFqZ evYMTo" data-tabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="react-tabs-0" aria-selected="true" aria-disabled="false" aria-controls="react-tabs-1" tabindex="0">200</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="react-tabs-1" aria-labelledby="react-tabs-0"><div><div class="sc-hhIiOg lhdonw"><span class="sc-oeezt bmwRob">Content type</span><div class="sc-eJocfa jzRrfm">application/json</div></div><div class="sc-gGLxEB hINeXe"><div class="sc-iNiQyp cVHUjN"><div class="sc-efHYUO eQQUSD"><button><div class="sc-khIgEk llGFDD">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div class="sc-iBzEeX dFWqin sc-jffHpj fqzhkP"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"alerts"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"id"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"title"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"description"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"source"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"createdAt"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"tags"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"id"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"name"</span>: <span class="token string">"string"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"artifacts"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"id"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"data"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"dataType"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"source"</span>: <span class="token string">"string"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"currentPage"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"pageSize"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"total"</span>: <span class="token number">0</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div></div></div></div></div><div id="tag/alerts/paths/~1api~1alerts~1{id}/delete" data-section-id="tag/alerts/paths/~1api~1alerts~1{id}/delete" class="sc-eCApnc bJnWIW"><div class="sc-iCoGMd sc-irKDMX KWWXd kBgcMI"><div class="sc-hKFxyN egQuEZ"><h2 class="sc-pNWdM euRMgx"><a class="sc-crzoAE iUxAWq" href="#tag/alerts/paths/~1api~1alerts~1{id}/delete" aria-label="tag/alerts/paths/~1api~1alerts~1{id}/delete"></a>Delete an alert<!-- --> </h2><div><h5 class="sc-iqAclL eONCmm">path<!-- --> Parameters</h5><table class="sc-hHEiqL dYlGyN"><tbody><tr class="last undefined"><td class="sc-hBMUJo sc-fFSPTT fABPTr eQzShU" kind="field" title="id"><span class="sc-iemWCZ bcnRwz"></span><span>id</span><div class="sc-TtZnY sc-jHNicF hUSnpT bsGeIE"> required </div></td><td class="sc-bkbkJK gWxDzL"><div><div><span class="sc-fbIWvP sc-FRrlG CMpTe bBFKjV"></span><span class="sc-fbIWvP sc-fXazdy CMpTe gJKPGC">integer</span></div> <div><div class="sc-iBzEeX sc-cOifOu dFWqin cJyzuM"></div></div></div></td></tr></tbody></table></div><div><h3 class="sc-dTSzeu efuQZt">Responses</h3><div><button class="sc-jXcxbT bjdvNh" disabled=""><strong class="sc-jlZJtj jSPrUM">204<!-- --> </strong><span class="sc-Arkif dXjyFC"><p>An alert is deleted</p>
|
|
379
379
|
</span></button></div></div></div><div class="sc-jSFjdj sc-gKAaRy hsSsLr gcushC"><div class="sc-kYPZxB jdCbTS"><button class="sc-dWBRfb jnEbBv"><span type="delete" class="sc-jHcXXw gemyvL http-verb delete">delete</span><span class="sc-xGAEC jRjoAh">/api/alerts/{id}</span><svg class="sc-dIsUp gGvkZD" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-bQCEYZ gBwOdz"><div class="sc-fXgAZx fKFAhr"><div class="sc-iBzEeX sc-cOifOu dFWqin cJyzuM"></div><div tabindex="0" role="button"><div class="sc-EZqKI gjiGnZ"><span></span>/api/alerts/{id}</div></div></div></div></div></div></div></div><div id="tag/tags" data-section-id="tag/tags" class="sc-eCApnc fxZJZV"><div class="sc-iCoGMd KWWXd"><div class="sc-hKFxyN egQuEZ"><h1 class="sc-fujyAs cTueGk"><a class="sc-crzoAE iUxAWq" href="#tag/tags" aria-label="tag/tags"></a>tags</h1></div></div></div><div id="tag/tags/paths/~1api~1tags~1/get" data-section-id="tag/tags/paths/~1api~1tags~1/get" class="sc-eCApnc bJnWIW"><div class="sc-iCoGMd sc-irKDMX KWWXd kBgcMI"><div class="sc-hKFxyN egQuEZ"><h2 class="sc-pNWdM euRMgx"><a class="sc-crzoAE iUxAWq" href="#tag/tags/paths/~1api~1tags~1/get" aria-label="tag/tags/paths/~1api~1tags~1/get"></a>Get tags<!-- --> </h2><div><h3 class="sc-dTSzeu efuQZt">Responses</h3><div><button class="sc-jXcxbT bCvCHz"><svg class="sc-dIsUp jLtOTj" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-jlZJtj jSPrUM">200<!-- --> </strong><span class="sc-Arkif dXjyFC"><p>A list of tags</p>
|
|
380
380
|
</span></button></div></div></div><div class="sc-jSFjdj sc-gKAaRy hsSsLr gcushC"><div class="sc-kYPZxB jdCbTS"><button class="sc-dWBRfb jnEbBv"><span type="get" class="sc-jHcXXw cAOCuf http-verb get">get</span><span class="sc-xGAEC jRjoAh">/api/tags/</span><svg class="sc-dIsUp gGvkZD" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-bQCEYZ gBwOdz"><div class="sc-fXgAZx fKFAhr"><div class="sc-iBzEeX sc-cOifOu dFWqin cJyzuM"></div><div tabindex="0" role="button"><div class="sc-EZqKI gjiGnZ"><span></span>/api/tags/</div></div></div></div></div><div><h3 class="sc-kEqXSa iXmHCl"> <!-- -->Response samples<!-- --> </h3><div class="sc-carFqZ evYMTo" data-tabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="react-tabs-2" aria-selected="true" aria-disabled="false" aria-controls="react-tabs-3" tabindex="0">200</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="react-tabs-3" aria-labelledby="react-tabs-2"><div><div class="sc-hhIiOg lhdonw"><span class="sc-oeezt bmwRob">Content type</span><div class="sc-eJocfa jzRrfm">application/json</div></div><div class="sc-gGLxEB hINeXe"><div class="sc-iNiQyp cVHUjN"><div class="sc-efHYUO eQQUSD"><button><div class="sc-khIgEk llGFDD">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div class="sc-iBzEeX dFWqin sc-jffHpj fqzhkP"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable "><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"id"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"name"</span>: <span class="token string">"string"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span></code></div></div></div></div></div></div></div></div></div></div></div><div id="tag/tags/paths/~1api~1tags~1{name}/delete" data-section-id="tag/tags/paths/~1api~1tags~1{name}/delete" class="sc-eCApnc bJnWIW"><div class="sc-iCoGMd sc-irKDMX KWWXd kBgcMI"><div class="sc-hKFxyN egQuEZ"><h2 class="sc-pNWdM euRMgx"><a class="sc-crzoAE iUxAWq" href="#tag/tags/paths/~1api~1tags~1{name}/delete" aria-label="tag/tags/paths/~1api~1tags~1{name}/delete"></a>Delete a tag<!-- --> </h2><div><h5 class="sc-iqAclL eONCmm">path<!-- --> Parameters</h5><table class="sc-hHEiqL dYlGyN"><tbody><tr class="last undefined"><td class="sc-hBMUJo sc-fFSPTT fABPTr eQzShU" kind="field" title="name"><span class="sc-iemWCZ bcnRwz"></span><span>name</span><div class="sc-TtZnY sc-jHNicF hUSnpT bsGeIE"> required </div></td><td class="sc-bkbkJK gWxDzL"><div><div><span class="sc-fbIWvP sc-FRrlG CMpTe bBFKjV"></span><span class="sc-fbIWvP sc-fXazdy CMpTe gJKPGC">string</span></div> <div><div class="sc-iBzEeX sc-cOifOu dFWqin cJyzuM"></div></div></div></td></tr></tbody></table></div><div><h3 class="sc-dTSzeu efuQZt">Responses</h3><div><button class="sc-jXcxbT bjdvNh" disabled=""><strong class="sc-jlZJtj jSPrUM">204<!-- --> </strong><span class="sc-Arkif dXjyFC"><p>A tag is deleted</p>
|
|
@@ -388,7 +388,7 @@ data-styled.g140[id="sc-amkrK"]{content:"icZuVc,"}/*!sc*/
|
|
|
388
388
|
</span></button></div></div></div><div class="sc-jSFjdj sc-gKAaRy hsSsLr gcushC"><div class="sc-kYPZxB jdCbTS"><button class="sc-dWBRfb jnEbBv"><span type="post" class="sc-jHcXXw bXnXQF http-verb post">post</span><span class="sc-xGAEC jRjoAh">/api/analyzer</span><svg class="sc-dIsUp gGvkZD" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-bQCEYZ gBwOdz"><div class="sc-fXgAZx fKFAhr"><div class="sc-iBzEeX sc-cOifOu dFWqin cJyzuM"></div><div tabindex="0" role="button"><div class="sc-EZqKI gjiGnZ"><span></span>/api/analyzer</div></div></div></div></div><div><h3 class="sc-kEqXSa iXmHCl"> <!-- -->Request samples<!-- --> </h3><div class="sc-carFqZ evYMTo" data-tabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="react-tabs-14" aria-selected="true" aria-disabled="false" aria-controls="react-tabs-15" tabindex="0">Payload</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="react-tabs-15" aria-labelledby="react-tabs-14"><div><div class="sc-hhIiOg lhdonw"><span class="sc-oeezt bmwRob">Content type</span><div class="sc-eJocfa jzRrfm">application/json</div></div><div class="sc-gGLxEB hINeXe"><div class="sc-iNiQyp cVHUjN"><div class="sc-efHYUO eQQUSD"><button><div class="sc-khIgEk llGFDD">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div class="sc-iBzEeX dFWqin sc-jffHpj fqzhkP"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"title"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"description"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"source"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"artifacts"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"tags"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"string"</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"ignoreOldArtifacts"</span>: <span class="token boolean">false</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"ignoreThreshold"</span>: <span class="token number">0</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div></div></div></div></div><div id="tag/ip-addresses" data-section-id="tag/ip-addresses" class="sc-eCApnc fxZJZV"><div class="sc-iCoGMd KWWXd"><div class="sc-hKFxyN egQuEZ"><h1 class="sc-fujyAs cTueGk"><a class="sc-crzoAE iUxAWq" href="#tag/ip-addresses" aria-label="tag/ip-addresses"></a>ip addresses</h1></div></div></div><div id="tag/ip-addresses/paths/~1api~1ip_addresses~1{ip}/get" data-section-id="tag/ip-addresses/paths/~1api~1ip_addresses~1{ip}/get" class="sc-eCApnc bJnWIW"><div class="sc-iCoGMd sc-irKDMX KWWXd kBgcMI"><div class="sc-hKFxyN egQuEZ"><h2 class="sc-pNWdM euRMgx"><a class="sc-crzoAE iUxAWq" href="#tag/ip-addresses/paths/~1api~1ip_addresses~1{ip}/get" aria-label="tag/ip-addresses/paths/~1api~1ip_addresses~1{ip}/get"></a>Get an IP address information<!-- --> </h2><div><h5 class="sc-iqAclL eONCmm">path<!-- --> Parameters</h5><table class="sc-hHEiqL dYlGyN"><tbody><tr class="last undefined"><td class="sc-hBMUJo sc-fFSPTT fABPTr eQzShU" kind="field" title="ip"><span class="sc-iemWCZ bcnRwz"></span><span>ip</span><div class="sc-TtZnY sc-jHNicF hUSnpT bsGeIE"> required </div></td><td class="sc-bkbkJK gWxDzL"><div><div><span class="sc-fbIWvP sc-FRrlG CMpTe bBFKjV"></span><span class="sc-fbIWvP sc-fXazdy CMpTe gJKPGC">string</span></div> <div><div class="sc-iBzEeX sc-cOifOu dFWqin cJyzuM"></div></div></div></td></tr></tbody></table></div><div><h3 class="sc-dTSzeu efuQZt">Responses</h3><div><button class="sc-jXcxbT bCvCHz"><svg class="sc-dIsUp jLtOTj" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-jlZJtj jSPrUM">200<!-- --> </strong><span class="sc-Arkif dXjyFC"><p>An IP address information</p>
|
|
389
389
|
</span></button></div></div></div><div class="sc-jSFjdj sc-gKAaRy hsSsLr gcushC"><div class="sc-kYPZxB jdCbTS"><button class="sc-dWBRfb jnEbBv"><span type="get" class="sc-jHcXXw cAOCuf http-verb get">get</span><span class="sc-xGAEC jRjoAh">/api/ip_addresses/{ip}</span><svg class="sc-dIsUp gGvkZD" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-bQCEYZ gBwOdz"><div class="sc-fXgAZx fKFAhr"><div class="sc-iBzEeX sc-cOifOu dFWqin cJyzuM"></div><div tabindex="0" role="button"><div class="sc-EZqKI gjiGnZ"><span></span>/api/ip_addresses/{ip}</div></div></div></div></div><div><h3 class="sc-kEqXSa iXmHCl"> <!-- -->Response samples<!-- --> </h3><div class="sc-carFqZ evYMTo" data-tabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="react-tabs-16" aria-selected="true" aria-disabled="false" aria-controls="react-tabs-17" tabindex="0">200</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="react-tabs-17" aria-labelledby="react-tabs-16"><div><div class="sc-hhIiOg lhdonw"><span class="sc-oeezt bmwRob">Content type</span><div class="sc-eJocfa jzRrfm">application/json</div></div><div class="sc-gGLxEB hINeXe"><div class="sc-iNiQyp cVHUjN"><div class="sc-efHYUO eQQUSD"><button><div class="sc-khIgEk llGFDD">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div class="sc-iBzEeX dFWqin sc-jffHpj fqzhkP"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"ip"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"country"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"city"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"postal"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"region"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"timezone"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"hostname"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"loc"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"org"</span>: <span class="token string">"string"</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div></div></div></div></div></div><div class="sc-cKRKFl gBTuHc"></div></div></div>
|
|
390
390
|
<script>
|
|
391
|
-
const __redoc_state = {"menu":{"activeItemIdx":-1},"spec":{"data":{"info":{"title":"Mihari API","version":"1.0"},"openapi":"3.0.0","paths":{"/api/alerts":{"get":{"summary":"Get alerts","tags":["alerts"],"parameters":[{"in":"query","name":"page","schema":{"type":"integer","default":0},"required":false},{"in":"query","name":"artifact","schema":{"type":"string"},"required":false},{"in":"query","name":"description","schema":{"type":"string"},"required":false},{"in":"query","name":"source","schema":{"type":"string"},"required":false},{"in":"query","name":"tag","schema":{"type":"string"},"required":false},{"in":"query","name":"title","schema":{"type":"string"},"required":false},{"in":"query","name":"toAt","schema":{"type":"string"},"required":false},{"in":"query","name":"fromAt","schema":{"type":"string"},"required":false}],"responses":{"200":{"description":"A list of matched alerts","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertSearchResults"}}}}}}},"/api/alerts/{id}":{"delete":{"summary":"Delete an alert","tags":["alerts"],"parameters":[{"in":"path","name":"id","schema":{"type":"integer"},"required":true}],"responses":{"204":{"description":"An alert is deleted"}}}},"/api/tags/":{"get":{"summary":"Get tags","tags":["tags"],"responses":{"200":{"description":"A list of tags","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Tags"}}}}}}},"/api/tags/{name}":{"delete":{"summary":"Delete a tag","tags":["tags"],"parameters":[{"in":"path","name":"name","schema":{"type":"string"},"required":true}],"responses":{"204":{"description":"A tag is deleted"}}}},"/api/sources":{"get":{"summary":"Get sources","tags":["sources"],"responses":{"200":{"description":"A list of sources","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Sources"}}}}}}},"/api/artifacts/{id}":{"get":{"summary":"Get an artifact","tags":["artifacts"],"parameters":[{"in":"path","name":"id","schema":{"type":"integer"},"required":true}],"responses":{"200":{"description":"An artifact","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactWithRelations"}}}}}},"delete":{"summary":"Delete an artifact","tags":["artifacts"],"parameters":[{"in":"path","name":"id","schema":{"type":"integer"},"required":true}],"responses":{"204":{"description":"An artifact is deleted"}}}},"/api/artifacts/{id}/enrich":{"get":{"summary":"Enrich an artifact","tags":["artifacts"],"parameters":[{"in":"path","name":"id","schema":{"type":"integer"},"required":true}],"responses":{"201":{"description":"An artifact is enriched"}}}},"/api/config":{"get":{"summary":"Get a config","tags":["config"],"responses":{"200":{"description":"A dictionary of configuration items","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Config"}}}}}}},"/api/command":{"post":{"summary":"Run a command","tags":["command"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommandRequest"}}}},"responses":{"200":{"description":"A result of a command","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommandResult"}}}}}}},"/api/analyzer":{"post":{"summary":"Run an analyzer","tags":["analyzers"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyzerRequest"}}}},"responses":{"201":{"description":"OK"}}}},"/api/ip_addresses/{ip}":{"get":{"summary":"Get an IP address information","tags":["ip addresses"],"parameters":[{"in":"path","name":"ip","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"An IP address information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPInfo"}}}}}}}},"components":{"schemas":{"Tag":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}}},"Tags":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/Tag"}]}},"Sources":{"type":"array","items":{"allOf":[{"type":"string"}]}},"DnsRecord":{"type":"object","properties":{"resource":{"type":"string"},"value":{"type":"string"}}},"WhoisRecord":{"type":"object","properties":{"domain":{"type":"string"},"createdOn":{"type":"string","nullable":true},"updatedOn":{"type":"string","nullable":true},"expiresOn":{"type":"string","nullable":true},"registrar":{"type":"object","nullable":true},"contacts":{"type":"array","items":{"type":"object"}}}},"Geolocation":{"type":"object","properties":{"country":{"type":"string"},"countryCode":{"type":"string","nullable":true}}},"AutonomousSystem":{"type":"object","properties":{"asn":{"type":"integer"}}},"Artifact":{"type":"object","properties":{"id":{"type":"integer"},"data":{"type":"string"},"dataType":{"type":"string"},"source":{"type":"string","nullable":true}}},"ArtifactWithRelations":{"allOf":[{"$ref":"#/components/schemas/Artifact"},{"type":"object","properties":{"tags":{"type":"array","items":{"type":"string"}},"reverseDnsNames":{"type":"array","items":{"type":"string"},"nullable":true},"autonomousSystem":{"$ref":"#/components/schemas/AutonomousSystem","nullable":true},"geolocation":{"$ref":"#/components/schemas/Geolocation","nullable":true},"whoisRecord":{"$ref":"#/components/schemas/WhoisRecord","nullable":true},"dnsRecords":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/DnsRecord"}]},"nullable":true}}}]},"Alert":{"type":"object","properties":{"id":{"type":"integer"},"title":{"type":"string"},"description":{"type":"string"},"source":{"type":"string"},"createdAt":{"type":"string"},"tags":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/Tag"}]}},"artifacts":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/Artifact"}]}}}},"AlertSearchResults":{"type":"object","properties":{"alerts":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/Alert"}]}},"currentPage":{"type":"integer"},"pageSize":{"type":"integer"},"total":{"type":"integer"}}},"ConfigItemValue":{"type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}}},"ConfigItem":{"type":"object","properties":{"isConfigured":{"type":"boolean"},"type":{"type":"string"},"values":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/ConfigItemValue"}]}}}},"Config":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/ConfigItem"}},"CommandRequest":{"type":"object","properties":{"command":{"type":"string"}}},"CommandResult":{"type":"object","properties":{"output":{"type":"string"},"success":{"type":"boolean"}}},"AnalyzerRequest":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":"string"},"source":{"type":"string"},"artifacts":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"ignoreOldArtifacts":{"type":"boolean","default":false},"ignoreThreshold":{"type":"integer","default":0}},"required":["title","description","source","artifacts"]},"IPInfo":{"type":"object","properties":{"ip":{"type":"string"},"country":{"type":"string"},"city":{"type":"string"},"postal":{"type":"string"},"region":{"type":"string"},"timezone":{"type":"string"},"hostname":{"type":"string"},"loc":{"type":"string"},"org":{"type":"string"}}}}}}},"searchIndex":{"store":["tag/alerts","tag/alerts/paths/~1api~1alerts/get","tag/alerts/paths/~1api~1alerts~1{id}/delete","tag/tags","tag/tags/paths/~1api~1tags~1/get","tag/tags/paths/~1api~1tags~1{name}/delete","tag/sources","tag/sources/paths/~1api~1sources/get","tag/artifacts","tag/artifacts/paths/~1api~1artifacts~1{id}/get","tag/artifacts/paths/~1api~1artifacts~1{id}/delete","tag/artifacts/paths/~1api~1artifacts~1{id}~1enrich/get","tag/config","tag/config/paths/~1api~1config/get","tag/command","tag/command/paths/~1api~1command/post","tag/analyzers","tag/analyzers/paths/~1api~1analyzer/post","tag/ip-addresses","tag/ip-addresses/paths/~1api~1ip_addresses~1{ip}/get"],"index":{"version":"2.3.9","fields":["title","description"],"fieldVectors":[["title/0",[0,2.052]],["description/0",[]],["title/1",[0,2.052]],["description/1",[]],["title/2",[0,1.551,1,1.551]],["description/2",[]],["title/3",[2,2.052]],["description/3",[]],["title/4",[2,2.052]],["description/4",[]],["title/5",[1,1.551,2,1.551]],["description/5",[]],["title/6",[3,2.438]],["description/6",[]],["title/7",[3,2.438]],["description/7",[]],["title/8",[4,1.764]],["description/8",[]],["title/9",[4,1.764]],["description/9",[]],["title/10",[1,1.551,4,1.334]],["description/10",[]],["title/11",[4,1.334,5,2.285]],["description/11",[]],["title/12",[6,2.438]],["description/12",[]],["title/13",[6,2.438]],["description/13",[]],["title/14",[7,2.438]],["description/14",[]],["title/15",[7,1.842,8,1.842]],["description/15",[]],["title/16",[9,2.438]],["description/16",[]],["title/17",[8,1.842,9,1.842]],["description/17",[]],["title/18",[10,1.842,11,1.842]],["description/18",[]],["title/19",[10,1.481,11,1.481,12,1.836]],["description/19",[]]],"invertedIndex":[["address",{"_index":11,"title":{"18":{},"19":{}},"description":{}}],["alert",{"_index":0,"title":{"0":{},"1":{},"2":{}},"description":{}}],["analyz",{"_index":9,"title":{"16":{},"17":{}},"description":{}}],["artifact",{"_index":4,"title":{"8":{},"9":{},"10":{},"11":{}},"description":{}}],["command",{"_index":7,"title":{"14":{},"15":{}},"description":{}}],["config",{"_index":6,"title":{"12":{},"13":{}},"description":{}}],["delet",{"_index":1,"title":{"2":{},"5":{},"10":{}},"description":{}}],["enrich",{"_index":5,"title":{"11":{}},"description":{}}],["inform",{"_index":12,"title":{"19":{}},"description":{}}],["ip",{"_index":10,"title":{"18":{},"19":{}},"description":{}}],["run",{"_index":8,"title":{"15":{},"17":{}},"description":{}}],["sourc",{"_index":3,"title":{"6":{},"7":{}},"description":{}}],["tag",{"_index":2,"title":{"3":{},"4":{},"5":{}},"description":{}}]],"pipeline":[]}},"options":{}};
|
|
391
|
+
const __redoc_state = {"menu":{"activeItemIdx":-1},"spec":{"data":{"info":{"title":"Mihari API","version":"1.0"},"openapi":"3.0.0","paths":{"/api/alerts":{"get":{"summary":"Get alerts","tags":["alerts"],"parameters":[{"in":"query","name":"page","schema":{"type":"integer","default":0},"required":false},{"in":"query","name":"artifact","schema":{"type":"string"},"required":false},{"in":"query","name":"description","schema":{"type":"string"},"required":false},{"in":"query","name":"source","schema":{"type":"string"},"required":false},{"in":"query","name":"tag","schema":{"type":"string"},"required":false},{"in":"query","name":"title","schema":{"type":"string"},"required":false},{"in":"query","name":"toAt","schema":{"type":"string"},"required":false},{"in":"query","name":"fromAt","schema":{"type":"string"},"required":false},{"in":"query","name":"asn","schema":{"type":"integer"},"required":false},{"in":"query","name":"dnsRecord","schema":{"type":"string"},"required":false},{"in":"query","name":"reverseDnsName","schema":{"type":"string"},"required":false}],"responses":{"200":{"description":"A list of matched alerts","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertSearchResults"}}}}}}},"/api/alerts/{id}":{"delete":{"summary":"Delete an alert","tags":["alerts"],"parameters":[{"in":"path","name":"id","schema":{"type":"integer"},"required":true}],"responses":{"204":{"description":"An alert is deleted"}}}},"/api/tags/":{"get":{"summary":"Get tags","tags":["tags"],"responses":{"200":{"description":"A list of tags","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Tags"}}}}}}},"/api/tags/{name}":{"delete":{"summary":"Delete a tag","tags":["tags"],"parameters":[{"in":"path","name":"name","schema":{"type":"string"},"required":true}],"responses":{"204":{"description":"A tag is deleted"}}}},"/api/sources":{"get":{"summary":"Get sources","tags":["sources"],"responses":{"200":{"description":"A list of sources","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Sources"}}}}}}},"/api/artifacts/{id}":{"get":{"summary":"Get an artifact","tags":["artifacts"],"parameters":[{"in":"path","name":"id","schema":{"type":"integer"},"required":true}],"responses":{"200":{"description":"An artifact","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactWithRelations"}}}}}},"delete":{"summary":"Delete an artifact","tags":["artifacts"],"parameters":[{"in":"path","name":"id","schema":{"type":"integer"},"required":true}],"responses":{"204":{"description":"An artifact is deleted"}}}},"/api/artifacts/{id}/enrich":{"get":{"summary":"Enrich an artifact","tags":["artifacts"],"parameters":[{"in":"path","name":"id","schema":{"type":"integer"},"required":true}],"responses":{"201":{"description":"An artifact is enriched"}}}},"/api/config":{"get":{"summary":"Get a config","tags":["config"],"responses":{"200":{"description":"A dictionary of configuration items","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Config"}}}}}}},"/api/command":{"post":{"summary":"Run a command","tags":["command"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommandRequest"}}}},"responses":{"200":{"description":"A result of a command","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommandResult"}}}}}}},"/api/analyzer":{"post":{"summary":"Run an analyzer","tags":["analyzers"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyzerRequest"}}}},"responses":{"201":{"description":"OK"}}}},"/api/ip_addresses/{ip}":{"get":{"summary":"Get an IP address information","tags":["ip addresses"],"parameters":[{"in":"path","name":"ip","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"An IP address information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPInfo"}}}}}}}},"components":{"schemas":{"Tag":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}}},"Tags":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/Tag"}]}},"Sources":{"type":"array","items":{"allOf":[{"type":"string"}]}},"DnsRecord":{"type":"object","properties":{"resource":{"type":"string"},"value":{"type":"string"}}},"WhoisRecord":{"type":"object","properties":{"domain":{"type":"string"},"createdOn":{"type":"string","nullable":true},"updatedOn":{"type":"string","nullable":true},"expiresOn":{"type":"string","nullable":true},"registrar":{"type":"object","nullable":true},"contacts":{"type":"array","items":{"type":"object"}}}},"Geolocation":{"type":"object","properties":{"country":{"type":"string"},"countryCode":{"type":"string","nullable":true}}},"AutonomousSystem":{"type":"object","properties":{"asn":{"type":"integer"}}},"Artifact":{"type":"object","properties":{"id":{"type":"integer"},"data":{"type":"string"},"dataType":{"type":"string"},"source":{"type":"string","nullable":true}}},"ArtifactWithRelations":{"allOf":[{"$ref":"#/components/schemas/Artifact"},{"type":"object","properties":{"tags":{"type":"array","items":{"type":"string"}},"reverseDnsNames":{"type":"array","items":{"type":"string"},"nullable":true},"autonomousSystem":{"$ref":"#/components/schemas/AutonomousSystem","nullable":true},"geolocation":{"$ref":"#/components/schemas/Geolocation","nullable":true},"whoisRecord":{"$ref":"#/components/schemas/WhoisRecord","nullable":true},"dnsRecords":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/DnsRecord"}]},"nullable":true}}}]},"Alert":{"type":"object","properties":{"id":{"type":"integer"},"title":{"type":"string"},"description":{"type":"string"},"source":{"type":"string"},"createdAt":{"type":"string"},"tags":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/Tag"}]}},"artifacts":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/Artifact"}]}}}},"AlertSearchResults":{"type":"object","properties":{"alerts":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/Alert"}]}},"currentPage":{"type":"integer"},"pageSize":{"type":"integer"},"total":{"type":"integer"}}},"ConfigItemValue":{"type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}}},"ConfigItem":{"type":"object","properties":{"isConfigured":{"type":"boolean"},"type":{"type":"string"},"values":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/ConfigItemValue"}]}}}},"Config":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/ConfigItem"}},"CommandRequest":{"type":"object","properties":{"command":{"type":"string"}}},"CommandResult":{"type":"object","properties":{"output":{"type":"string"},"success":{"type":"boolean"}}},"AnalyzerRequest":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":"string"},"source":{"type":"string"},"artifacts":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"ignoreOldArtifacts":{"type":"boolean","default":false},"ignoreThreshold":{"type":"integer","default":0}},"required":["title","description","source","artifacts"]},"IPInfo":{"type":"object","properties":{"ip":{"type":"string"},"country":{"type":"string"},"city":{"type":"string"},"postal":{"type":"string"},"region":{"type":"string"},"timezone":{"type":"string"},"hostname":{"type":"string"},"loc":{"type":"string"},"org":{"type":"string"}}}}}}},"searchIndex":{"store":["tag/alerts","tag/alerts/paths/~1api~1alerts/get","tag/alerts/paths/~1api~1alerts~1{id}/delete","tag/tags","tag/tags/paths/~1api~1tags~1/get","tag/tags/paths/~1api~1tags~1{name}/delete","tag/sources","tag/sources/paths/~1api~1sources/get","tag/artifacts","tag/artifacts/paths/~1api~1artifacts~1{id}/get","tag/artifacts/paths/~1api~1artifacts~1{id}/delete","tag/artifacts/paths/~1api~1artifacts~1{id}~1enrich/get","tag/config","tag/config/paths/~1api~1config/get","tag/command","tag/command/paths/~1api~1command/post","tag/analyzers","tag/analyzers/paths/~1api~1analyzer/post","tag/ip-addresses","tag/ip-addresses/paths/~1api~1ip_addresses~1{ip}/get"],"index":{"version":"2.3.9","fields":["title","description"],"fieldVectors":[["title/0",[0,2.052]],["description/0",[]],["title/1",[0,2.052]],["description/1",[]],["title/2",[0,1.551,1,1.551]],["description/2",[]],["title/3",[2,2.052]],["description/3",[]],["title/4",[2,2.052]],["description/4",[]],["title/5",[1,1.551,2,1.551]],["description/5",[]],["title/6",[3,2.438]],["description/6",[]],["title/7",[3,2.438]],["description/7",[]],["title/8",[4,1.764]],["description/8",[]],["title/9",[4,1.764]],["description/9",[]],["title/10",[1,1.551,4,1.334]],["description/10",[]],["title/11",[4,1.334,5,2.285]],["description/11",[]],["title/12",[6,2.438]],["description/12",[]],["title/13",[6,2.438]],["description/13",[]],["title/14",[7,2.438]],["description/14",[]],["title/15",[7,1.842,8,1.842]],["description/15",[]],["title/16",[9,2.438]],["description/16",[]],["title/17",[8,1.842,9,1.842]],["description/17",[]],["title/18",[10,1.842,11,1.842]],["description/18",[]],["title/19",[10,1.481,11,1.481,12,1.836]],["description/19",[]]],"invertedIndex":[["address",{"_index":11,"title":{"18":{},"19":{}},"description":{}}],["alert",{"_index":0,"title":{"0":{},"1":{},"2":{}},"description":{}}],["analyz",{"_index":9,"title":{"16":{},"17":{}},"description":{}}],["artifact",{"_index":4,"title":{"8":{},"9":{},"10":{},"11":{}},"description":{}}],["command",{"_index":7,"title":{"14":{},"15":{}},"description":{}}],["config",{"_index":6,"title":{"12":{},"13":{}},"description":{}}],["delet",{"_index":1,"title":{"2":{},"5":{},"10":{}},"description":{}}],["enrich",{"_index":5,"title":{"11":{}},"description":{}}],["inform",{"_index":12,"title":{"19":{}},"description":{}}],["ip",{"_index":10,"title":{"18":{},"19":{}},"description":{}}],["run",{"_index":8,"title":{"15":{},"17":{}},"description":{}}],["sourc",{"_index":3,"title":{"6":{},"7":{}},"description":{}}],["tag",{"_index":2,"title":{"3":{},"4":{},"5":{}},"description":{}}]],"pipeline":[]}},"options":{}};
|
|
392
392
|
|
|
393
393
|
var container = document.getElementById('redoc');
|
|
394
394
|
Redoc.hydrate(__redoc_state, container);
|