mihari 6.0.0 → 6.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +4 -0
  3. data/lib/mihari/actor.rb +4 -6
  4. data/lib/mihari/analyzers/base.rb +10 -3
  5. data/lib/mihari/analyzers/circl.rb +1 -1
  6. data/lib/mihari/analyzers/dnstwister.rb +1 -1
  7. data/lib/mihari/analyzers/hunterhow.rb +1 -1
  8. data/lib/mihari/analyzers/otx.rb +1 -1
  9. data/lib/mihari/analyzers/passivetotal.rb +1 -1
  10. data/lib/mihari/analyzers/pulsedive.rb +1 -1
  11. data/lib/mihari/analyzers/securitytrails.rb +1 -1
  12. data/lib/mihari/analyzers/virustotal.rb +1 -1
  13. data/lib/mihari/clients/google_public_dns.rb +31 -0
  14. data/lib/mihari/config.rb +10 -2
  15. data/lib/mihari/{type_checker.rb → data_type.rb} +32 -37
  16. data/lib/mihari/database.rb +8 -4
  17. data/lib/mihari/emitters/misp.rb +2 -2
  18. data/lib/mihari/emitters/slack.rb +5 -5
  19. data/lib/mihari/emitters/the_hive.rb +2 -2
  20. data/lib/mihari/enrichers/base.rb +2 -0
  21. data/lib/mihari/enrichers/google_public_dns.rb +4 -21
  22. data/lib/mihari/enrichers/ipinfo.rb +1 -0
  23. data/lib/mihari/enrichers/shodan.rb +1 -0
  24. data/lib/mihari/enrichers/whois.rb +11 -16
  25. data/lib/mihari/entities/artifact.rb +1 -0
  26. data/lib/mihari/mixins/falsepositive.rb +2 -2
  27. data/lib/mihari/models/artifact.rb +14 -6
  28. data/lib/mihari/models/dns.rb +3 -8
  29. data/lib/mihari/rule.rb +20 -7
  30. data/lib/mihari/schemas/options.rb +5 -1
  31. data/lib/mihari/structs/google_public_dns.rb +4 -8
  32. data/lib/mihari/version.rb +1 -1
  33. data/lib/mihari/web/app.rb +2 -2
  34. data/lib/mihari/web/public/assets/index-1d77cd61.js +1756 -0
  35. data/lib/mihari/web/public/assets/{index-56fc2187.css → index-4c8509ee.css} +1 -1
  36. data/lib/mihari/web/public/index.html +2 -2
  37. data/lib/mihari/web/public/redoc-static.html +5 -5
  38. data/lib/mihari.rb +10 -10
  39. data/mihari.gemspec +5 -4
  40. data/mkdocs.yml +1 -0
  41. data/requirements.txt +1 -1
  42. metadata +23 -50
  43. data/lib/mihari/web/public/assets/index-07cddfcd.js +0 -1750
@@ -6,8 +6,8 @@
6
6
  <meta name="viewport" content="width=device-width,initial-scale=1.0" />
7
7
  <link rel="icon" href="/favicon.ico" />
8
8
  <title>Mihari</title>
9
- <script type="module" crossorigin src="/assets/index-07cddfcd.js"></script>
10
- <link rel="stylesheet" href="/assets/index-56fc2187.css">
9
+ <script type="module" crossorigin src="/assets/index-1d77cd61.js"></script>
10
+ <link rel="stylesheet" href="/assets/index-4c8509ee.css">
11
11
  </head>
12
12
  <body>
13
13
  <noscript>
@@ -12,7 +12,7 @@
12
12
  margin: 0;
13
13
  }
14
14
  </style>
15
- <script src="https://cdn.redoc.ly/redoc/v2.1.2/bundles/redoc.standalone.js"></script><style data-styled="true" data-styled-version="6.1.1">.gvoNGN{width:calc(100% - 40%);padding:0 40px;}/*!sc*/
15
+ <script src="https://cdn.redoc.ly/redoc/v2.1.3/bundles/redoc.standalone.js"></script><style data-styled="true" data-styled-version="6.1.1">.gvoNGN{width:calc(100% - 40%);padding:0 40px;}/*!sc*/
16
16
  @media print,screen and (max-width: 75rem){.gvoNGN{width:100%;padding:40px 40px;}}/*!sc*/
17
17
  .jIkZBx{width:calc(100% - 40%);padding:0 40px;}/*!sc*/
18
18
  @media print,screen and (max-width: 75rem){.jIkZBx{width:100%;padding:0px 40px;}}/*!sc*/
@@ -359,11 +359,11 @@ data-styled.g137[id="sc-cKZHtR"]{content:"lcoFQc,"}/*!sc*/
359
359
  " class="sc-iJuWdM sc-cBNeRQ gpkGbA casAkG"><p>Create an alert</p>
360
360
  </div></div><h5 class="sc-iqHXzD bRzaSI">Request Body schema: <span class="sc-gWHiUp duVBEA">application/json</span><div class="sc-gTgyBf sc-eJMOVy sc-jmhEHb ihUpGF giWqTo gpLUhw">required</div></h5><div html="" class="sc-iJuWdM sc-cBNeRQ gpkGbA casAkG"></div><table class="sc-hHftZz buUaAP"><tbody><tr class=""><td kind="field" title="ruleId" class="sc-hBEZvw sc-fFubCH gPUvwc gXIfsF"><span class="sc-idOjMB jwsifT"></span><span class="property-name">ruleId</span><div class="sc-gTgyBf sc-eJMOVy ihUpGF giWqTo">required</div></td><td class="sc-bkzXAi kMAhqG"><div><div><span class="sc-gTgyBf sc-laRQQM ihUpGF cREGdc"></span><span class="sc-gTgyBf sc-iNqNmV ihUpGF iPuJRj">string</span></div> <div><div html="" class="sc-iJuWdM sc-cBNeRQ gpkGbA dujygE"></div></div></div></td></tr><tr class="last "><td kind="field" title="artifacts" class="sc-hBEZvw sc-fFubCH gPUvwc gXIfsF"><span class="sc-idOjMB jwsifT"></span><span class="property-name">artifacts</span><div class="sc-gTgyBf sc-eJMOVy ihUpGF giWqTo">required</div></td><td class="sc-bkzXAi kMAhqG"><div><div><span class="sc-gTgyBf sc-laRQQM ihUpGF cREGdc">Array of </span><span class="sc-gTgyBf sc-iNqNmV ihUpGF iPuJRj">strings</span></div> <div><div html="" class="sc-iJuWdM sc-cBNeRQ gpkGbA dujygE"></div></div></div></td></tr></tbody></table><div><h3 class="sc-fWPdKs fCsSHf">Responses</h3><div><button class="sc-httZfN iePdRD"><svg class="sc-dQpIV iHKCKT" 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-gVgoeb goojcW">201<!-- --> </strong><div html="&lt;p&gt;Create an alert&lt;/p&gt;
361
361
  " class="sc-iJuWdM sc-cBNeRQ gpkGbA casAkG sc-citwID bzkUsW"><p>Create an alert</p>
362
- </div></button></div><div><button class="sc-httZfN jEuzUJ"><svg class="sc-dQpIV bbipPn" 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-gVgoeb goojcW">404<!-- --> </strong><div html="" class="sc-iJuWdM sc-cBNeRQ gpkGbA casAkG sc-citwID bzkUsW"></div></button></div></div></div><div class="sc-jSguLX sc-gKsecS QymcT bZqtR"><div class="sc-bQdSiB bhuodb"><button class="sc-FyfbU jlriCd"><span type="post" class="sc-jXkspL coiChI http-verb post">post</span><span class="sc-fXoxOd jzevEV">/api/alerts</span><svg class="sc-dQpIV hHbBnT" 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-eFtZDC ciRGmD"><div class="sc-fmlKft buTZbL"><div html="" class="sc-iJuWdM sc-cBNeRQ gpkGbA dujygE"></div><div tabindex="0" role="button"><div class="sc-ljRaSg uePtT"><span></span>/api/alerts</div></div></div></div></div><div><h3 class="sc-kEjbdu jmifsN"> <!-- -->Request samples<!-- --> </h3><div class="sc-cxFKTC jVRsAZ" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="react-tabs-0" aria-selected="true" aria-disabled="false" aria-controls="react-tabs-1" tabindex="0" data-rttab="true">Payload</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-cOaiZO eDzWuJ"><span class="sc-bBrOHt etjuEr">Content type</span><div class="sc-dOSSlk bAzVww">application/json</div></div><div class="sc-hTZhMB kTaCsY"><div class="sc-cTkyaV gLzJQv"><div class="sc-giInvV bIDavi"><button><div class="sc-jcVcfa iVrxDL">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div class="sc-iJuWdM gpkGbA sc-jNMdxs jXmkAn"><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">"ruleId"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"artifacts"</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">&quot;string&quot;</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><h3 class="sc-kEjbdu jmifsN"> <!-- -->Response samples<!-- --> </h3><div class="sc-cxFKTC jVRsAZ" data-rttabs="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" data-rttab="true">201</li><li class="tab-error" role="tab" id="react-tabs-4" aria-selected="false" aria-disabled="false" aria-controls="react-tabs-5" data-rttab="true">404</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-cOaiZO eDzWuJ"><span class="sc-bBrOHt etjuEr">Content type</span><div class="sc-dOSSlk bAzVww">application/json</div></div><div class="sc-hTZhMB kTaCsY"><div class="sc-cTkyaV gLzJQv"><div class="sc-giInvV bIDavi"><button><div class="sc-jcVcfa iVrxDL">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div class="sc-iJuWdM gpkGbA sc-jNMdxs jXmkAn"><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">"id"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"ruleId"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"createdAt"</span>: <span class="token string">&quot;2019-08-24T14:15:22Z&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"artifacts"</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 string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"data"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"dataType"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"source"</span>: <span class="token string">&quot;string&quot;</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"><span class="token string">&quot;string&quot;</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">"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"><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">&quot;string&quot;</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></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="react-tabs-5" aria-labelledby="react-tabs-4"></div></div></div></div></div></div><div id="tag/alerts/paths/~1api~1alerts/get" data-section-id="tag/alerts/paths/~1api~1alerts/get" class="sc-eCstZk bCpIRB"><div class="sc-iBPTVF keMybc"><div class="sc-hKgKIp gvoNGN"><h2 class="sc-pGaPU biKwui"><a class="sc-crrtmM jGBpue" href="#tag/alerts/paths/~1api~1alerts/get" aria-label="tag/alerts/paths/~1api~1alerts/get"></a>Search alerts<!-- --> </h2><div class="sc-eWVLZl fgfjUV"><div html="&lt;p&gt;Search alerts&lt;/p&gt;
362
+ </div></button></div><div><button class="sc-httZfN jEuzUJ"><svg class="sc-dQpIV bbipPn" 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-gVgoeb goojcW">404<!-- --> </strong><div html="" class="sc-iJuWdM sc-cBNeRQ gpkGbA casAkG sc-citwID bzkUsW"></div></button></div></div></div><div class="sc-jSguLX sc-gKsecS QymcT bZqtR"><div class="sc-bQdSiB bhuodb"><button class="sc-FyfbU jlriCd"><span type="post" class="sc-jXkspL coiChI http-verb post">post</span><span class="sc-fXoxOd jzevEV">/api/alerts</span><svg class="sc-dQpIV hHbBnT" 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-eFtZDC ciRGmD"><div class="sc-fmlKft buTZbL"><div html="" class="sc-iJuWdM sc-cBNeRQ gpkGbA dujygE"></div><div tabindex="0" role="button"><div class="sc-ljRaSg uePtT"><span></span>/api/alerts</div></div></div></div></div><div><h3 class="sc-kEjbdu jmifsN"> <!-- -->Request samples<!-- --> </h3><div class="sc-cxFKTC jVRsAZ" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="react-tabs-0" aria-selected="true" aria-disabled="false" aria-controls="react-tabs-1" tabindex="0" data-rttab="true">Payload</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-cOaiZO eDzWuJ"><span class="sc-bBrOHt etjuEr">Content type</span><div class="sc-dOSSlk bAzVww">application/json</div></div><div class="sc-hTZhMB kTaCsY"><div class="sc-cTkyaV gLzJQv"><div class="sc-giInvV bIDavi"><button><div class="sc-jcVcfa iVrxDL">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div class="sc-iJuWdM gpkGbA sc-jNMdxs jXmkAn"><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">"ruleId"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"artifacts"</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">&quot;string&quot;</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><h3 class="sc-kEjbdu jmifsN"> <!-- -->Response samples<!-- --> </h3><div class="sc-cxFKTC jVRsAZ" data-rttabs="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" data-rttab="true">201</li><li class="tab-error" role="tab" id="react-tabs-4" aria-selected="false" aria-disabled="false" aria-controls="react-tabs-5" data-rttab="true">404</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-cOaiZO eDzWuJ"><span class="sc-bBrOHt etjuEr">Content type</span><div class="sc-dOSSlk bAzVww">application/json</div></div><div class="sc-hTZhMB kTaCsY"><div class="sc-cTkyaV gLzJQv"><div class="sc-giInvV bIDavi"><button><div class="sc-jcVcfa iVrxDL">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div class="sc-iJuWdM gpkGbA sc-jNMdxs jXmkAn"><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">"id"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"ruleId"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"createdAt"</span>: <span class="token string">&quot;2019-08-24T14:15:22Z&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"artifacts"</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 string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"data"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"dataType"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"source"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"query"</span>: <span class="token string">&quot;string&quot;</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"><span class="token string">&quot;string&quot;</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">"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"><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">&quot;string&quot;</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></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="react-tabs-5" aria-labelledby="react-tabs-4"></div></div></div></div></div></div><div id="tag/alerts/paths/~1api~1alerts/get" data-section-id="tag/alerts/paths/~1api~1alerts/get" class="sc-eCstZk bCpIRB"><div class="sc-iBPTVF keMybc"><div class="sc-hKgKIp gvoNGN"><h2 class="sc-pGaPU biKwui"><a class="sc-crrtmM jGBpue" href="#tag/alerts/paths/~1api~1alerts/get" aria-label="tag/alerts/paths/~1api~1alerts/get"></a>Search alerts<!-- --> </h2><div class="sc-eWVLZl fgfjUV"><div html="&lt;p&gt;Search alerts&lt;/p&gt;
363
363
  " class="sc-iJuWdM sc-cBNeRQ gpkGbA casAkG"><p>Search alerts</p>
364
364
  </div></div><div><h5 class="sc-iqHXzD bRzaSI">query<!-- --> Parameters</h5><table class="sc-hHftZz buUaAP"><tbody><tr class=""><td kind="field" title="page" class="sc-hBEZvw sc-fFubCH gPUvwc gXIfsF"><span class="sc-idOjMB jwsifT"></span><span class="property-name">page</span></td><td class="sc-bkzXAi kMAhqG"><div><div><span class="sc-gTgyBf sc-laRQQM ihUpGF cREGdc"></span><span class="sc-gTgyBf sc-iNqNmV ihUpGF iPuJRj">integer</span><span class="sc-gTgyBf sc-iNqNmV ihUpGF iPuJRj"> <!-- -->&lt;<!-- -->int32<!-- -->&gt;<!-- --> </span></div><div><span class="sc-gTgyBf ihUpGF"> <!-- -->Default:<!-- --> </span> <span class="sc-gTgyBf sc-lcuiaG ihUpGF cEfEOv">1</span></div> <div><div html="" class="sc-iJuWdM sc-cBNeRQ gpkGbA dujygE"></div></div></div></td></tr><tr class=""><td kind="field" title="limit" class="sc-hBEZvw sc-fFubCH gPUvwc gXIfsF"><span class="sc-idOjMB jwsifT"></span><span class="property-name">limit</span></td><td class="sc-bkzXAi kMAhqG"><div><div><span class="sc-gTgyBf sc-laRQQM ihUpGF cREGdc"></span><span class="sc-gTgyBf sc-iNqNmV ihUpGF iPuJRj">integer</span><span class="sc-gTgyBf sc-iNqNmV ihUpGF iPuJRj"> <!-- -->&lt;<!-- -->int32<!-- -->&gt;<!-- --> </span></div><div><span class="sc-gTgyBf ihUpGF"> <!-- -->Default:<!-- --> </span> <span class="sc-gTgyBf sc-lcuiaG ihUpGF cEfEOv">10</span></div> <div><div html="" class="sc-iJuWdM sc-cBNeRQ gpkGbA dujygE"></div></div></div></td></tr><tr class=""><td kind="field" title="artifact" class="sc-hBEZvw sc-fFubCH gPUvwc gXIfsF"><span class="sc-idOjMB jwsifT"></span><span class="property-name">artifact</span></td><td class="sc-bkzXAi kMAhqG"><div><div><span class="sc-gTgyBf sc-laRQQM ihUpGF cREGdc"></span><span class="sc-gTgyBf sc-iNqNmV ihUpGF iPuJRj">string</span></div> <div><div html="" class="sc-iJuWdM sc-cBNeRQ gpkGbA dujygE"></div></div></div></td></tr><tr class=""><td kind="field" title="rule_id" class="sc-hBEZvw sc-fFubCH gPUvwc gXIfsF"><span class="sc-idOjMB jwsifT"></span><span class="property-name">rule_id</span></td><td class="sc-bkzXAi kMAhqG"><div><div><span class="sc-gTgyBf sc-laRQQM ihUpGF cREGdc"></span><span class="sc-gTgyBf sc-iNqNmV ihUpGF iPuJRj">string</span></div> <div><div html="" class="sc-iJuWdM sc-cBNeRQ gpkGbA dujygE"></div></div></div></td></tr><tr class=""><td kind="field" title="tag" class="sc-hBEZvw sc-fFubCH gPUvwc gXIfsF"><span class="sc-idOjMB jwsifT"></span><span class="property-name">tag</span></td><td class="sc-bkzXAi kMAhqG"><div><div><span class="sc-gTgyBf sc-laRQQM ihUpGF cREGdc"></span><span class="sc-gTgyBf sc-iNqNmV ihUpGF iPuJRj">string</span></div> <div><div html="" class="sc-iJuWdM sc-cBNeRQ gpkGbA dujygE"></div></div></div></td></tr><tr class=""><td kind="field" title="fromAt" class="sc-hBEZvw sc-fFubCH gPUvwc gXIfsF"><span class="sc-idOjMB jwsifT"></span><span class="property-name">fromAt</span></td><td class="sc-bkzXAi kMAhqG"><div><div><span class="sc-gTgyBf sc-laRQQM ihUpGF cREGdc"></span><span class="sc-gTgyBf sc-iNqNmV ihUpGF iPuJRj">string</span><span class="sc-gTgyBf sc-iNqNmV ihUpGF iPuJRj"> <!-- -->&lt;<!-- -->date-time<!-- -->&gt;<!-- --> </span></div> <div><div html="" class="sc-iJuWdM sc-cBNeRQ gpkGbA dujygE"></div></div></div></td></tr><tr class="last "><td kind="field" title="toAt" class="sc-hBEZvw sc-fFubCH gPUvwc gXIfsF"><span class="sc-idOjMB jwsifT"></span><span class="property-name">toAt</span></td><td class="sc-bkzXAi kMAhqG"><div><div><span class="sc-gTgyBf sc-laRQQM ihUpGF cREGdc"></span><span class="sc-gTgyBf sc-iNqNmV ihUpGF iPuJRj">string</span><span class="sc-gTgyBf sc-iNqNmV ihUpGF iPuJRj"> <!-- -->&lt;<!-- -->date-time<!-- -->&gt;<!-- --> </span></div> <div><div html="" class="sc-iJuWdM sc-cBNeRQ gpkGbA dujygE"></div></div></div></td></tr></tbody></table></div><div><h3 class="sc-fWPdKs fCsSHf">Responses</h3><div><button class="sc-httZfN iePdRD"><svg class="sc-dQpIV iHKCKT" 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-gVgoeb goojcW">200<!-- --> </strong><div html="&lt;p&gt;Search alerts&lt;/p&gt;
365
365
  " class="sc-iJuWdM sc-cBNeRQ gpkGbA casAkG sc-citwID bzkUsW"><p>Search alerts</p>
366
- </div></button></div></div></div><div class="sc-jSguLX sc-gKsecS QymcT bZqtR"><div class="sc-bQdSiB bhuodb"><button class="sc-FyfbU jlriCd"><span type="get" class="sc-jXkspL gDPfwK http-verb get">get</span><span class="sc-fXoxOd jzevEV">/api/alerts</span><svg class="sc-dQpIV hHbBnT" 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-eFtZDC ciRGmD"><div class="sc-fmlKft buTZbL"><div html="" class="sc-iJuWdM sc-cBNeRQ gpkGbA dujygE"></div><div tabindex="0" role="button"><div class="sc-ljRaSg uePtT"><span></span>/api/alerts</div></div></div></div></div><div><h3 class="sc-kEjbdu jmifsN"> <!-- -->Response samples<!-- --> </h3><div class="sc-cxFKTC jVRsAZ" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="react-tabs-6" aria-selected="true" aria-disabled="false" aria-controls="react-tabs-7" tabindex="0" data-rttab="true">200</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="react-tabs-7" aria-labelledby="react-tabs-6"><div><div class="sc-cOaiZO eDzWuJ"><span class="sc-bBrOHt etjuEr">Content type</span><div class="sc-dOSSlk bAzVww">application/json</div></div><div class="sc-hTZhMB kTaCsY"><div class="sc-cTkyaV gLzJQv"><div class="sc-giInvV bIDavi"><button><div class="sc-jcVcfa iVrxDL">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div class="sc-iJuWdM gpkGbA sc-jNMdxs jXmkAn"><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">"alerts"</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 string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ruleId"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"createdAt"</span>: <span class="token string">&quot;2019-08-24T14:15:22Z&quot;</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 string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"data"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"dataType"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"source"</span>: <span class="token string">&quot;string&quot;</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"><span class="token string">&quot;string&quot;</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 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">&quot;string&quot;</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 collapsed"><span class="property token string">"total"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"currentPage"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"pageSize"</span>: <span class="token number">0</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/alerts/paths/~1api~1alerts~1{id}/delete" data-section-id="tag/alerts/paths/~1api~1alerts~1{id}/delete" class="sc-eCstZk bCpIRB"><div class="sc-iBPTVF keMybc"><div class="sc-hKgKIp gvoNGN"><h2 class="sc-pGaPU biKwui"><a class="sc-crrtmM jGBpue" 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 class="sc-eWVLZl fgfjUV"><div html="&lt;p&gt;Delete an alert&lt;/p&gt;
366
+ </div></button></div></div></div><div class="sc-jSguLX sc-gKsecS QymcT bZqtR"><div class="sc-bQdSiB bhuodb"><button class="sc-FyfbU jlriCd"><span type="get" class="sc-jXkspL gDPfwK http-verb get">get</span><span class="sc-fXoxOd jzevEV">/api/alerts</span><svg class="sc-dQpIV hHbBnT" 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-eFtZDC ciRGmD"><div class="sc-fmlKft buTZbL"><div html="" class="sc-iJuWdM sc-cBNeRQ gpkGbA dujygE"></div><div tabindex="0" role="button"><div class="sc-ljRaSg uePtT"><span></span>/api/alerts</div></div></div></div></div><div><h3 class="sc-kEjbdu jmifsN"> <!-- -->Response samples<!-- --> </h3><div class="sc-cxFKTC jVRsAZ" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="react-tabs-6" aria-selected="true" aria-disabled="false" aria-controls="react-tabs-7" tabindex="0" data-rttab="true">200</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="react-tabs-7" aria-labelledby="react-tabs-6"><div><div class="sc-cOaiZO eDzWuJ"><span class="sc-bBrOHt etjuEr">Content type</span><div class="sc-dOSSlk bAzVww">application/json</div></div><div class="sc-hTZhMB kTaCsY"><div class="sc-cTkyaV gLzJQv"><div class="sc-giInvV bIDavi"><button><div class="sc-jcVcfa iVrxDL">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div class="sc-iJuWdM gpkGbA sc-jNMdxs jXmkAn"><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">"alerts"</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 string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"ruleId"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"createdAt"</span>: <span class="token string">&quot;2019-08-24T14:15:22Z&quot;</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 string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"data"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"dataType"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"source"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"query"</span>: <span class="token string">&quot;string&quot;</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"><span class="token string">&quot;string&quot;</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 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">&quot;string&quot;</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 collapsed"><span class="property token string">"total"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"currentPage"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"pageSize"</span>: <span class="token number">0</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/alerts/paths/~1api~1alerts~1{id}/delete" data-section-id="tag/alerts/paths/~1api~1alerts~1{id}/delete" class="sc-eCstZk bCpIRB"><div class="sc-iBPTVF keMybc"><div class="sc-hKgKIp gvoNGN"><h2 class="sc-pGaPU biKwui"><a class="sc-crrtmM jGBpue" 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 class="sc-eWVLZl fgfjUV"><div html="&lt;p&gt;Delete an alert&lt;/p&gt;
367
367
  " class="sc-iJuWdM sc-cBNeRQ gpkGbA casAkG"><p>Delete an alert</p>
368
368
  </div></div><div><h5 class="sc-iqHXzD bRzaSI">path<!-- --> Parameters</h5><table class="sc-hHftZz buUaAP"><tbody><tr class="last "><td kind="field" title="id" class="sc-hBEZvw sc-fFubCH gPUvwc gXIfsF"><span class="sc-idOjMB jwsifT"></span><span class="property-name">id</span><div class="sc-gTgyBf sc-eJMOVy ihUpGF giWqTo">required</div></td><td class="sc-bkzXAi kMAhqG"><div><div><span class="sc-gTgyBf sc-laRQQM ihUpGF cREGdc"></span><span class="sc-gTgyBf sc-iNqNmV ihUpGF iPuJRj">integer</span><span class="sc-gTgyBf sc-iNqNmV ihUpGF iPuJRj"> <!-- -->&lt;<!-- -->int32<!-- -->&gt;<!-- --> </span></div> <div><div html="" class="sc-iJuWdM sc-cBNeRQ gpkGbA dujygE"></div></div></div></td></tr></tbody></table></div><div><h3 class="sc-fWPdKs fCsSHf">Responses</h3><div><button class="sc-httZfN iePdRD"><svg class="sc-dQpIV iHKCKT" 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-gVgoeb goojcW">204<!-- --> </strong><div html="&lt;p&gt;Delete an alert&lt;/p&gt;
369
369
  " class="sc-iJuWdM sc-cBNeRQ gpkGbA casAkG sc-citwID bzkUsW"><p>Delete an alert</p>
@@ -377,7 +377,7 @@ data-styled.g137[id="sc-cKZHtR"]{content:"lcoFQc,"}/*!sc*/
377
377
  " class="sc-iJuWdM sc-cBNeRQ gpkGbA casAkG"><p>Get an artifact</p>
378
378
  </div></div><div><h5 class="sc-iqHXzD bRzaSI">path<!-- --> Parameters</h5><table class="sc-hHftZz buUaAP"><tbody><tr class="last "><td kind="field" title="id" class="sc-hBEZvw sc-fFubCH gPUvwc gXIfsF"><span class="sc-idOjMB jwsifT"></span><span class="property-name">id</span><div class="sc-gTgyBf sc-eJMOVy ihUpGF giWqTo">required</div></td><td class="sc-bkzXAi kMAhqG"><div><div><span class="sc-gTgyBf sc-laRQQM ihUpGF cREGdc"></span><span class="sc-gTgyBf sc-iNqNmV ihUpGF iPuJRj">integer</span><span class="sc-gTgyBf sc-iNqNmV ihUpGF iPuJRj"> <!-- -->&lt;<!-- -->int32<!-- -->&gt;<!-- --> </span></div> <div><div html="" class="sc-iJuWdM sc-cBNeRQ gpkGbA dujygE"></div></div></div></td></tr></tbody></table></div><div><h3 class="sc-fWPdKs fCsSHf">Responses</h3><div><button class="sc-httZfN iePdRD"><svg class="sc-dQpIV iHKCKT" 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-gVgoeb goojcW">200<!-- --> </strong><div html="&lt;p&gt;Get an artifact&lt;/p&gt;
379
379
  " class="sc-iJuWdM sc-cBNeRQ gpkGbA casAkG sc-citwID bzkUsW"><p>Get an artifact</p>
380
- </div></button></div><div><button class="sc-httZfN jEuzUJ"><svg class="sc-dQpIV bbipPn" 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-gVgoeb goojcW">404<!-- --> </strong><div html="" class="sc-iJuWdM sc-cBNeRQ gpkGbA casAkG sc-citwID bzkUsW"></div></button></div></div></div><div class="sc-jSguLX sc-gKsecS QymcT bZqtR"><div class="sc-bQdSiB bhuodb"><button class="sc-FyfbU jlriCd"><span type="get" class="sc-jXkspL gDPfwK http-verb get">get</span><span class="sc-fXoxOd jzevEV">/api/artifacts/{id}</span><svg class="sc-dQpIV hHbBnT" 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-eFtZDC ciRGmD"><div class="sc-fmlKft buTZbL"><div html="" class="sc-iJuWdM sc-cBNeRQ gpkGbA dujygE"></div><div tabindex="0" role="button"><div class="sc-ljRaSg uePtT"><span></span>/api/artifacts/{id}</div></div></div></div></div><div><h3 class="sc-kEjbdu jmifsN"> <!-- -->Response samples<!-- --> </h3><div class="sc-cxFKTC jVRsAZ" data-rttabs="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" data-rttab="true">200</li><li class="tab-error" role="tab" id="react-tabs-18" aria-selected="false" aria-disabled="false" aria-controls="react-tabs-19" data-rttab="true">404</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-cOaiZO eDzWuJ"><span class="sc-bBrOHt etjuEr">Content type</span><div class="sc-dOSSlk bAzVww">application/json</div></div><div class="sc-hTZhMB kTaCsY"><div class="sc-cTkyaV gLzJQv"><div class="sc-giInvV bIDavi"><button><div class="sc-jcVcfa iVrxDL">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div class="sc-iJuWdM gpkGbA sc-jNMdxs jXmkAn"><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">"id"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"data"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"dataType"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"source"</span>: <span class="token string">&quot;string&quot;</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">&quot;string&quot;</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">"metadata"</span>: <span class="token punctuation">{ }</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"autonomousSystem"</span>: <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">"asn"</span>: <span class="token number">0</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">"geolocation"</span>: <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">"country"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"countryCode"</span>: <span class="token string">&quot;string&quot;</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">"whoisRecord"</span>: <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">"domain"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"createdOn"</span>: <span class="token string">&quot;2019-08-24&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"updatedOn"</span>: <span class="token string">&quot;2019-08-24&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"expiresOn"</span>: <span class="token string">&quot;2019-08-24&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"registrar"</span>: <span class="token punctuation">{ }</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"contacts"</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"><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">"reverseDnsNames"</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">"name"</span>: <span class="token string">&quot;string&quot;</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">"dnsRecords"</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">"resource"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token string">&quot;string&quot;</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">"cpes"</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">"cpe"</span>: <span class="token string">&quot;string&quot;</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">"ports"</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">"port"</span>: <span class="token number">0</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></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="react-tabs-19" aria-labelledby="react-tabs-18"></div></div></div></div></div></div><div id="tag/artifacts/paths/~1api~1artifacts~1{id}~1enrich/get" data-section-id="tag/artifacts/paths/~1api~1artifacts~1{id}~1enrich/get" class="sc-eCstZk bCpIRB"><div class="sc-iBPTVF keMybc"><div class="sc-hKgKIp gvoNGN"><h2 class="sc-pGaPU biKwui"><a class="sc-crrtmM jGBpue" href="#tag/artifacts/paths/~1api~1artifacts~1{id}~1enrich/get" aria-label="tag/artifacts/paths/~1api~1artifacts~1{id}~1enrich/get"></a>Enrich an artifact<!-- --> </h2><div class="sc-eWVLZl fgfjUV"><div html="&lt;p&gt;Enrich an artifact&lt;/p&gt;
380
+ </div></button></div><div><button class="sc-httZfN jEuzUJ"><svg class="sc-dQpIV bbipPn" 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-gVgoeb goojcW">404<!-- --> </strong><div html="" class="sc-iJuWdM sc-cBNeRQ gpkGbA casAkG sc-citwID bzkUsW"></div></button></div></div></div><div class="sc-jSguLX sc-gKsecS QymcT bZqtR"><div class="sc-bQdSiB bhuodb"><button class="sc-FyfbU jlriCd"><span type="get" class="sc-jXkspL gDPfwK http-verb get">get</span><span class="sc-fXoxOd jzevEV">/api/artifacts/{id}</span><svg class="sc-dQpIV hHbBnT" 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-eFtZDC ciRGmD"><div class="sc-fmlKft buTZbL"><div html="" class="sc-iJuWdM sc-cBNeRQ gpkGbA dujygE"></div><div tabindex="0" role="button"><div class="sc-ljRaSg uePtT"><span></span>/api/artifacts/{id}</div></div></div></div></div><div><h3 class="sc-kEjbdu jmifsN"> <!-- -->Response samples<!-- --> </h3><div class="sc-cxFKTC jVRsAZ" data-rttabs="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" data-rttab="true">200</li><li class="tab-error" role="tab" id="react-tabs-18" aria-selected="false" aria-disabled="false" aria-controls="react-tabs-19" data-rttab="true">404</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-cOaiZO eDzWuJ"><span class="sc-bBrOHt etjuEr">Content type</span><div class="sc-dOSSlk bAzVww">application/json</div></div><div class="sc-hTZhMB kTaCsY"><div class="sc-cTkyaV gLzJQv"><div class="sc-giInvV bIDavi"><button><div class="sc-jcVcfa iVrxDL">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div class="sc-iJuWdM gpkGbA sc-jNMdxs jXmkAn"><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">"id"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"data"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"dataType"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"source"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"query"</span>: <span class="token string">&quot;string&quot;</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">&quot;string&quot;</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">"metadata"</span>: <span class="token punctuation">{ }</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"autonomousSystem"</span>: <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">"asn"</span>: <span class="token number">0</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">"geolocation"</span>: <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">"country"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"countryCode"</span>: <span class="token string">&quot;string&quot;</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">"whoisRecord"</span>: <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">"domain"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"createdOn"</span>: <span class="token string">&quot;2019-08-24&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"updatedOn"</span>: <span class="token string">&quot;2019-08-24&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"expiresOn"</span>: <span class="token string">&quot;2019-08-24&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"registrar"</span>: <span class="token punctuation">{ }</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"contacts"</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"><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">"reverseDnsNames"</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">"name"</span>: <span class="token string">&quot;string&quot;</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">"dnsRecords"</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">"resource"</span>: <span class="token string">&quot;string&quot;</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token string">&quot;string&quot;</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">"cpes"</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">"cpe"</span>: <span class="token string">&quot;string&quot;</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">"ports"</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">"port"</span>: <span class="token number">0</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></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="react-tabs-19" aria-labelledby="react-tabs-18"></div></div></div></div></div></div><div id="tag/artifacts/paths/~1api~1artifacts~1{id}~1enrich/get" data-section-id="tag/artifacts/paths/~1api~1artifacts~1{id}~1enrich/get" class="sc-eCstZk bCpIRB"><div class="sc-iBPTVF keMybc"><div class="sc-hKgKIp gvoNGN"><h2 class="sc-pGaPU biKwui"><a class="sc-crrtmM jGBpue" href="#tag/artifacts/paths/~1api~1artifacts~1{id}~1enrich/get" aria-label="tag/artifacts/paths/~1api~1artifacts~1{id}~1enrich/get"></a>Enrich an artifact<!-- --> </h2><div class="sc-eWVLZl fgfjUV"><div html="&lt;p&gt;Enrich an artifact&lt;/p&gt;
381
381
  " class="sc-iJuWdM sc-cBNeRQ gpkGbA casAkG"><p>Enrich an artifact</p>
382
382
  </div></div><div><h5 class="sc-iqHXzD bRzaSI">path<!-- --> Parameters</h5><table class="sc-hHftZz buUaAP"><tbody><tr class="last "><td kind="field" title="id" class="sc-hBEZvw sc-fFubCH gPUvwc gXIfsF"><span class="sc-idOjMB jwsifT"></span><span class="property-name">id</span><div class="sc-gTgyBf sc-eJMOVy ihUpGF giWqTo">required</div></td><td class="sc-bkzXAi kMAhqG"><div><div><span class="sc-gTgyBf sc-laRQQM ihUpGF cREGdc"></span><span class="sc-gTgyBf sc-iNqNmV ihUpGF iPuJRj">integer</span><span class="sc-gTgyBf sc-iNqNmV ihUpGF iPuJRj"> <!-- -->&lt;<!-- -->int32<!-- -->&gt;<!-- --> </span></div> <div><div html="" class="sc-iJuWdM sc-cBNeRQ gpkGbA dujygE"></div></div></div></td></tr></tbody></table></div><div><h3 class="sc-fWPdKs fCsSHf">Responses</h3><div><button class="sc-httZfN iePdRD"><svg class="sc-dQpIV iHKCKT" 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-gVgoeb goojcW">201<!-- --> </strong><div html="&lt;p&gt;Enrich an artifact&lt;/p&gt;
383
383
  " class="sc-iJuWdM sc-cBNeRQ gpkGbA casAkG sc-citwID bzkUsW"><p>Enrich an artifact</p>
@@ -435,7 +435,7 @@ data-styled.g137[id="sc-cKZHtR"]{content:"lcoFQc,"}/*!sc*/
435
435
  " class="sc-iJuWdM sc-cBNeRQ gpkGbA casAkG sc-citwID bzkUsW"><p>Get tags</p>
436
436
  </div></button></div></div></div><div class="sc-jSguLX sc-gKsecS QymcT bZqtR"><div class="sc-bQdSiB bhuodb"><button class="sc-FyfbU jlriCd"><span type="get" class="sc-jXkspL gDPfwK http-verb get">get</span><span class="sc-fXoxOd jzevEV">/api/tags</span><svg class="sc-dQpIV hHbBnT" 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-eFtZDC ciRGmD"><div class="sc-fmlKft buTZbL"><div html="" class="sc-iJuWdM sc-cBNeRQ gpkGbA dujygE"></div><div tabindex="0" role="button"><div class="sc-ljRaSg uePtT"><span></span>/api/tags</div></div></div></div></div><div><h3 class="sc-kEjbdu jmifsN"> <!-- -->Response samples<!-- --> </h3><div class="sc-cxFKTC jVRsAZ" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="react-tabs-62" aria-selected="true" aria-disabled="false" aria-controls="react-tabs-63" tabindex="0" data-rttab="true">200</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="react-tabs-63" aria-labelledby="react-tabs-62"><div><div class="sc-cOaiZO eDzWuJ"><span class="sc-bBrOHt etjuEr">Content type</span><div class="sc-dOSSlk bAzVww">application/json</div></div><div class="sc-hTZhMB kTaCsY"><div class="sc-cTkyaV gLzJQv"><div class="sc-giInvV bIDavi"><button><div class="sc-jcVcfa iVrxDL">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div class="sc-iJuWdM gpkGbA sc-jNMdxs jXmkAn"><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">"tags"</span>: <span class="token string">&quot;string&quot;</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><div class="sc-jtHLPo gfiMgB"></div></div></div>
437
437
  <script>
438
- const __redoc_state = {"menu":{"activeItemIdx":-1},"spec":{"data":{"openapi":"3.0.0","info":{"title":"Mihari API","version":"0.0.1"},"tags":[{"name":"alerts","description":"Operations about alerts"},{"name":"artifacts","description":"Operations about artifacts"},{"name":"configs","description":"Operations about configs"},{"name":"ip_addresses","description":"Operations about ip_addresses"},{"name":"rules","description":"Operations about rules"},{"name":"tags","description":"Operations about tags"}],"paths":{"/api/alerts":{"post":{"summary":"Create an alert","description":"Create an alert","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/postApiAlerts"}}},"required":true},"responses":{"201":{"description":"Create an alert","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Alert"}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Message"}}}}},"tags":["alerts"]},"get":{"summary":"Search alerts","description":"Search alerts","parameters":[{"in":"query","name":"page","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"in":"query","name":"limit","required":false,"schema":{"type":"integer","format":"int32","default":10}},{"in":"query","name":"artifact","required":false,"schema":{"type":"string"}},{"in":"query","name":"rule_id","required":false,"schema":{"type":"string"}},{"in":"query","name":"tag","required":false,"schema":{"type":"string"}},{"in":"query","name":"fromAt","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"toAt","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"Search alerts","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Mihari_Entities_AlertsWithPagination"}}}}}},"tags":["alerts"]}},"/api/alerts/{id}":{"delete":{"summary":"Delete an alert","description":"Delete an alert","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"204":{"description":"Delete an alert","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Message"}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Message"}}}}},"tags":["alerts"]}},"/api/artifacts/{id}":{"delete":{"summary":"Delete an artifact","description":"Delete an artifact","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"204":{"description":"Delete an artifact","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Message"}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Message"}}}}},"tags":["artifacts"]},"get":{"summary":"Get an artifact","description":"Get an artifact","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Get an artifact","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Artifact"}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Message"}}}}},"tags":["artifacts"]}},"/api/artifacts/{id}/enrich":{"get":{"summary":"Enrich an artifact","description":"Enrich an artifact","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"201":{"description":"Enrich an artifact","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Message"}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Message"}}}}},"tags":["artifacts"]}},"/api/configs":{"get":{"summary":"Get configs","description":"Get configs","responses":{"200":{"description":"Get configs","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Mihari_Entities_Config"}}}}}},"tags":["configs"]}},"/api/ip_addresses/{ip}":{"get":{"summary":"Get an IP address","description":"Get an IP address","parameters":[{"in":"path","name":"ip","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Get an IP address","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_IPAddress"}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Message"}}}}},"tags":["ip_addresses"]}},"/api/rules/{id}":{"delete":{"summary":"Delete a rule","description":"Delete a rule","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Delete a rule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Message"}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Message"}}}}},"tags":["rules"]},"get":{"summary":"Get a rule","description":"Get a rule","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Get a rule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Rule"}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Message"}}}}},"tags":["rules"]}},"/api/rules":{"put":{"summary":"Update a rule","description":"Update a rule","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/putApiRules"}}},"required":true},"responses":{"201":{"description":"Update a rule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Rule"}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Message"}}}}},"tags":["rules"]},"post":{"summary":"Create a rule","description":"Create a rule","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/postApiRules"}}},"required":true},"responses":{"201":{"description":"Create a rule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Rule"}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Message"}}}}},"tags":["rules"]},"get":{"summary":"Search rules","description":"Search rules","parameters":[{"in":"query","name":"page","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"in":"query","name":"limit","required":false,"schema":{"type":"integer","format":"int32","default":10}},{"in":"query","name":"title","required":false,"schema":{"type":"string"}},{"in":"query","name":"description","required":false,"schema":{"type":"string"}},{"in":"query","name":"tag","required":false,"schema":{"type":"string"}},{"in":"query","name":"fromAt","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"toAt","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"Search rules","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Mihari_Entities_RulesWithPagination"}}}}}},"tags":["rules"]}},"/api/rules/{id}/run":{"get":{"summary":"Run a rule","description":"Run a rule","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":"Run a rule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Message"}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Message"}}}}},"tags":["rules"]}},"/api/rules/ids":{"get":{"summary":"Get rule IDs","description":"Get Rule IDs","responses":{"200":{"description":"Get Rule IDs","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Mihari_Entities_RuleIDs"}}}}}},"tags":["rules"]}},"/api/tags/{id}":{"delete":{"summary":"Delete a tag","description":"Delete a tag","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"204":{"description":"Delete a tag","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Message"}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Message"}}}}},"tags":["tags"]}},"/api/tags":{"get":{"summary":"Get tags","description":"Get tags","responses":{"200":{"description":"Get tags","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Mihari_Entities_Tags"}}}}}},"tags":["tags"]}}},"components":{"schemas":{"postApiAlerts":{"type":"object","properties":{"ruleId":{"type":"string"},"artifacts":{"type":"array","items":{"type":"string"}}},"required":["ruleId","artifacts"],"description":"Create an alert"},"Mihari_Entities_Alert":{"type":"object","properties":{"id":{"type":"string","description":"String representation of the ID"},"ruleId":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"artifacts":{"type":"array","items":{"$ref":"#/components/schemas/Mihari_Entities_BaseArtifact"}},"tags":{"type":"array","items":{"$ref":"#/components/schemas/Mihari_Entities_Tag"}}},"required":["id","ruleId","createdAt","tags"],"description":"Mihari_Entities_Alert model"},"Mihari_Entities_BaseArtifact":{"type":"object","properties":{"id":{"type":"string","description":"String representation of the ID"},"data":{"type":"string"},"dataType":{"type":"string"},"source":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}}},"required":["id","data","dataType","source"]},"Mihari_Entities_Tag":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"name":{"type":"string"}},"required":["id","name"]},"Mihari_Entities_Message":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"description":"Mihari_Entities_Message model"},"Mihari_Entities_AlertsWithPagination":{"type":"object","properties":{"alerts":{"type":"array","items":{"$ref":"#/components/schemas/Mihari_Entities_Alert"}},"total":{"type":"integer","format":"int32"},"currentPage":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"}},"required":["alerts","total","currentPage","pageSize"],"description":"Mihari_Entities_AlertsWithPagination model"},"Mihari_Entities_Artifact":{"type":"object","properties":{"id":{"type":"string","description":"String representation of the ID"},"data":{"type":"string"},"dataType":{"type":"string"},"source":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"metadata":{"type":"object"},"autonomousSystem":{"$ref":"#/components/schemas/Mihari_Entities_AutonomousSystem"},"geolocation":{"$ref":"#/components/schemas/Mihari_Entities_Geolocation"},"whoisRecord":{"$ref":"#/components/schemas/Mihari_Entities_WhoisRecord"},"reverseDnsNames":{"type":"array","items":{"$ref":"#/components/schemas/Mihari_Entities_ReverseDnsName"}},"dnsRecords":{"type":"array","items":{"$ref":"#/components/schemas/Mihari_Entities_DnsRecord"}},"cpes":{"type":"array","items":{"$ref":"#/components/schemas/Mihari_Entities_CPE"}},"ports":{"type":"array","items":{"$ref":"#/components/schemas/Mihari_Entities_Port"}}},"required":["id","data","dataType","source"],"description":"Mihari_Entities_Artifact model"},"Mihari_Entities_AutonomousSystem":{"type":"object","properties":{"asn":{"type":"integer","format":"int32"}},"required":["asn"]},"Mihari_Entities_Geolocation":{"type":"object","properties":{"country":{"type":"string"},"countryCode":{"type":"string"}},"required":["country","countryCode"]},"Mihari_Entities_WhoisRecord":{"type":"object","properties":{"domain":{"type":"string"},"createdOn":{"type":"string","format":"date"},"updatedOn":{"type":"string","format":"date"},"expiresOn":{"type":"string","format":"date"},"registrar":{"type":"object"},"contacts":{"type":"array","items":{"type":"object"}}},"required":["domain","contacts"]},"Mihari_Entities_ReverseDnsName":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]},"Mihari_Entities_DnsRecord":{"type":"object","properties":{"resource":{"type":"string"},"value":{"type":"string"}},"required":["resource","value"]},"Mihari_Entities_CPE":{"type":"object","properties":{"cpe":{"type":"string"}},"required":["cpe"]},"Mihari_Entities_Port":{"type":"object","properties":{"port":{"type":"integer","format":"int32"}},"required":["port"]},"Mihari_Entities_Config":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"values":{"type":"array","items":{"type":"string"}},"isConfigured":{"type":"boolean"}},"required":["name","type","values","isConfigured"],"description":"Mihari_Entities_Config model"},"Mihari_Entities_IPAddress":{"type":"object","properties":{"ip":{"type":"string"},"countryCode":{"type":"string"},"hostname":{"type":"string"},"loc":{"type":"string"},"asn":{"type":"integer","format":"int32"}},"required":["ip","countryCode","loc"],"description":"Mihari_Entities_IPAddress model"},"putApiRules":{"type":"object","properties":{"id":{"type":"string"},"yaml":{"type":"string"}},"required":["id","yaml"],"description":"Update a rule"},"Mihari_Entities_Rule":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"yaml":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"tags":{"type":"array","items":{"$ref":"#/components/schemas/Mihari_Entities_Tag"}}},"required":["id","title","description","yaml","createdAt","updatedAt","tags"],"description":"Mihari_Entities_Rule model"},"postApiRules":{"type":"object","properties":{"yaml":{"type":"string"}},"required":["yaml"],"description":"Create a rule"},"Mihari_Entities_RulesWithPagination":{"type":"object","properties":{"rules":{"type":"array","items":{"$ref":"#/components/schemas/Mihari_Entities_Rule"}},"total":{"type":"integer","format":"int32"},"currentPage":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"}},"required":["rules","total","currentPage","pageSize"],"description":"Mihari_Entities_RulesWithPagination model"},"Mihari_Entities_RuleIDs":{"type":"object","properties":{"ruleIds":{"type":"string"}},"required":["ruleIds"],"description":"Mihari_Entities_RuleIDs model"},"Mihari_Entities_Tags":{"type":"object","properties":{"tags":{"type":"string"}},"required":["tags"],"description":"Mihari_Entities_Tags model"}}}}},"searchIndex":{"store":["tag/alerts","tag/alerts/paths/~1api~1alerts/post","tag/alerts/paths/~1api~1alerts/get","tag/alerts/paths/~1api~1alerts~1{id}/delete","tag/artifacts","tag/artifacts/paths/~1api~1artifacts~1{id}/delete","tag/artifacts/paths/~1api~1artifacts~1{id}/get","tag/artifacts/paths/~1api~1artifacts~1{id}~1enrich/get","tag/configs","tag/configs/paths/~1api~1configs/get","tag/ip_addresses","tag/ip_addresses/paths/~1api~1ip_addresses~1{ip}/get","tag/rules","tag/rules/paths/~1api~1rules~1{id}/delete","tag/rules/paths/~1api~1rules~1{id}/get","tag/rules/paths/~1api~1rules/put","tag/rules/paths/~1api~1rules/post","tag/rules/paths/~1api~1rules/get","tag/rules/paths/~1api~1rules~1{id}~1run/get","tag/rules/paths/~1api~1rules~1ids/get","tag/tags","tag/tags/paths/~1api~1tags~1{id}/delete","tag/tags/paths/~1api~1tags/get"],"index":{"version":"2.3.9","fields":["title","description"],"fieldVectors":[["title/0",[0,1.218]],["description/0",[0,1.141,1,1.436]],["title/1",[0,0.932,2,1.503]],["description/1",[0,0.971,2,1.565,3,2.115]],["title/2",[0,0.932,4,1.503]],["description/2",[0,0.971,3,2.115,4,1.565]],["title/3",[0,0.932,5,0.932]],["description/3",[0,0.971,5,0.971,6,2.593]],["title/4",[7,1.218]],["description/4",[1,1.436,7,1.141]],["title/5",[5,0.932,7,0.932]],["description/5",[5,0.971,7,0.971,8,2.115]],["title/6",[7,1.218]],["description/6",[7,1.141,8,2.486]],["title/7",[7,0.932,9,2.031]],["description/7",[7,0.971,9,2.115,10,2.593]],["title/8",[11,1.964]],["description/8",[1,1.436,11,1.84]],["title/9",[11,1.964]],["description/9",[11,1.84,12,3.047]],["title/10",[13,2.654]],["description/10",[1,1.436,13,2.486]],["title/11",[14,2.031,15,2.031]],["description/11",[14,2.115,15,2.115,16,2.593]],["title/12",[17,0.44]],["description/12",[1,1.436,17,0.412]],["title/13",[5,0.932,17,0.336]],["description/13",[5,0.971,17,0.35,18,2.115]],["title/14",[17,0.44]],["description/14",[17,0.412,18,2.486]],["title/15",[17,0.336,19,2.031]],["description/15",[17,0.35,19,2.115,20,1.8]],["title/16",[2,1.503,17,0.336]],["description/16",[2,1.565,17,0.35,20,1.8]],["title/17",[4,1.503,17,0.336]],["description/17",[4,1.565,17,0.35,20,1.8]],["title/18",[17,0.336,21,2.031]],["description/18",[17,0.35,21,2.115,22,2.593]],["title/19",[17,0.336,23,2.031]],["description/19",[17,0.35,23,2.115,24,2.593]],["title/20",[25,1.533]],["description/20",[1,1.436,25,1.436]],["title/21",[5,0.932,25,1.173]],["description/21",[5,0.971,25,1.222,26,2.593]],["title/22",[25,1.533]],["description/22",[25,1.436,27,3.047]]],"invertedIndex":[["address",{"_index":15,"title":{"11":{}},"description":{"11":{}}}],["alert",{"_index":0,"title":{"0":{},"1":{},"2":{},"3":{}},"description":{"0":{},"1":{},"2":{},"3":{}}}],["api/alert",{"_index":3,"title":{},"description":{"1":{},"2":{}}}],["api/alerts/{id",{"_index":6,"title":{},"description":{"3":{}}}],["api/artifacts/{id",{"_index":8,"title":{},"description":{"5":{},"6":{}}}],["api/artifacts/{id}/enrich",{"_index":10,"title":{},"description":{"7":{}}}],["api/config",{"_index":12,"title":{},"description":{"9":{}}}],["api/ip_addresses/{ip",{"_index":16,"title":{},"description":{"11":{}}}],["api/rul",{"_index":20,"title":{},"description":{"15":{},"16":{},"17":{}}}],["api/rules/id",{"_index":24,"title":{},"description":{"19":{}}}],["api/rules/{id",{"_index":18,"title":{},"description":{"13":{},"14":{}}}],["api/rules/{id}/run",{"_index":22,"title":{},"description":{"18":{}}}],["api/tag",{"_index":27,"title":{},"description":{"22":{}}}],["api/tags/{id",{"_index":26,"title":{},"description":{"21":{}}}],["artifact",{"_index":7,"title":{"4":{},"5":{},"6":{},"7":{}},"description":{"4":{},"5":{},"6":{},"7":{}}}],["config",{"_index":11,"title":{"8":{},"9":{}},"description":{"8":{},"9":{}}}],["creat",{"_index":2,"title":{"1":{},"16":{}},"description":{"1":{},"16":{}}}],["delet",{"_index":5,"title":{"3":{},"5":{},"13":{},"21":{}},"description":{"3":{},"5":{},"13":{},"21":{}}}],["enrich",{"_index":9,"title":{"7":{}},"description":{"7":{}}}],["id",{"_index":23,"title":{"19":{}},"description":{"19":{}}}],["ip",{"_index":14,"title":{"11":{}},"description":{"11":{}}}],["ip_address",{"_index":13,"title":{"10":{}},"description":{"10":{}}}],["oper",{"_index":1,"title":{},"description":{"0":{},"4":{},"8":{},"10":{},"12":{},"20":{}}}],["rule",{"_index":17,"title":{"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{}},"description":{"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{}}}],["run",{"_index":21,"title":{"18":{}},"description":{"18":{}}}],["search",{"_index":4,"title":{"2":{},"17":{}},"description":{"2":{},"17":{}}}],["tag",{"_index":25,"title":{"20":{},"21":{},"22":{}},"description":{"20":{},"21":{},"22":{}}}],["updat",{"_index":19,"title":{"15":{}},"description":{"15":{}}}]],"pipeline":[]}},"options":{}};
438
+ const __redoc_state = {"menu":{"activeItemIdx":-1},"spec":{"data":{"openapi":"3.0.0","info":{"title":"Mihari API","version":"0.0.1"},"tags":[{"name":"alerts","description":"Operations about alerts"},{"name":"artifacts","description":"Operations about artifacts"},{"name":"configs","description":"Operations about configs"},{"name":"ip_addresses","description":"Operations about ip_addresses"},{"name":"rules","description":"Operations about rules"},{"name":"tags","description":"Operations about tags"}],"paths":{"/api/alerts":{"post":{"summary":"Create an alert","description":"Create an alert","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/postApiAlerts"}}},"required":true},"responses":{"201":{"description":"Create an alert","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Alert"}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Message"}}}}},"tags":["alerts"]},"get":{"summary":"Search alerts","description":"Search alerts","parameters":[{"in":"query","name":"page","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"in":"query","name":"limit","required":false,"schema":{"type":"integer","format":"int32","default":10}},{"in":"query","name":"artifact","required":false,"schema":{"type":"string"}},{"in":"query","name":"rule_id","required":false,"schema":{"type":"string"}},{"in":"query","name":"tag","required":false,"schema":{"type":"string"}},{"in":"query","name":"fromAt","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"toAt","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"Search alerts","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Mihari_Entities_AlertsWithPagination"}}}}}},"tags":["alerts"]}},"/api/alerts/{id}":{"delete":{"summary":"Delete an alert","description":"Delete an alert","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"204":{"description":"Delete an alert","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Message"}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Message"}}}}},"tags":["alerts"]}},"/api/artifacts/{id}":{"delete":{"summary":"Delete an artifact","description":"Delete an artifact","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"204":{"description":"Delete an artifact","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Message"}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Message"}}}}},"tags":["artifacts"]},"get":{"summary":"Get an artifact","description":"Get an artifact","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Get an artifact","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Artifact"}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Message"}}}}},"tags":["artifacts"]}},"/api/artifacts/{id}/enrich":{"get":{"summary":"Enrich an artifact","description":"Enrich an artifact","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"201":{"description":"Enrich an artifact","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Message"}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Message"}}}}},"tags":["artifacts"]}},"/api/configs":{"get":{"summary":"Get configs","description":"Get configs","responses":{"200":{"description":"Get configs","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Mihari_Entities_Config"}}}}}},"tags":["configs"]}},"/api/ip_addresses/{ip}":{"get":{"summary":"Get an IP address","description":"Get an IP address","parameters":[{"in":"path","name":"ip","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Get an IP address","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_IPAddress"}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Message"}}}}},"tags":["ip_addresses"]}},"/api/rules/{id}":{"delete":{"summary":"Delete a rule","description":"Delete a rule","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Delete a rule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Message"}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Message"}}}}},"tags":["rules"]},"get":{"summary":"Get a rule","description":"Get a rule","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Get a rule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Rule"}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Message"}}}}},"tags":["rules"]}},"/api/rules":{"put":{"summary":"Update a rule","description":"Update a rule","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/putApiRules"}}},"required":true},"responses":{"201":{"description":"Update a rule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Rule"}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Message"}}}}},"tags":["rules"]},"post":{"summary":"Create a rule","description":"Create a rule","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/postApiRules"}}},"required":true},"responses":{"201":{"description":"Create a rule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Rule"}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Message"}}}}},"tags":["rules"]},"get":{"summary":"Search rules","description":"Search rules","parameters":[{"in":"query","name":"page","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"in":"query","name":"limit","required":false,"schema":{"type":"integer","format":"int32","default":10}},{"in":"query","name":"title","required":false,"schema":{"type":"string"}},{"in":"query","name":"description","required":false,"schema":{"type":"string"}},{"in":"query","name":"tag","required":false,"schema":{"type":"string"}},{"in":"query","name":"fromAt","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"toAt","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"Search rules","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Mihari_Entities_RulesWithPagination"}}}}}},"tags":["rules"]}},"/api/rules/{id}/run":{"get":{"summary":"Run a rule","description":"Run a rule","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":"Run a rule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Message"}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Message"}}}}},"tags":["rules"]}},"/api/rules/ids":{"get":{"summary":"Get rule IDs","description":"Get Rule IDs","responses":{"200":{"description":"Get Rule IDs","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Mihari_Entities_RuleIDs"}}}}}},"tags":["rules"]}},"/api/tags/{id}":{"delete":{"summary":"Delete a tag","description":"Delete a tag","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"204":{"description":"Delete a tag","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Message"}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mihari_Entities_Message"}}}}},"tags":["tags"]}},"/api/tags":{"get":{"summary":"Get tags","description":"Get tags","responses":{"200":{"description":"Get tags","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Mihari_Entities_Tags"}}}}}},"tags":["tags"]}}},"components":{"schemas":{"postApiAlerts":{"type":"object","properties":{"ruleId":{"type":"string"},"artifacts":{"type":"array","items":{"type":"string"}}},"required":["ruleId","artifacts"],"description":"Create an alert"},"Mihari_Entities_Alert":{"type":"object","properties":{"id":{"type":"string","description":"String representation of the ID"},"ruleId":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"artifacts":{"type":"array","items":{"$ref":"#/components/schemas/Mihari_Entities_BaseArtifact"}},"tags":{"type":"array","items":{"$ref":"#/components/schemas/Mihari_Entities_Tag"}}},"required":["id","ruleId","createdAt","tags"],"description":"Mihari_Entities_Alert model"},"Mihari_Entities_BaseArtifact":{"type":"object","properties":{"id":{"type":"string","description":"String representation of the ID"},"data":{"type":"string"},"dataType":{"type":"string"},"source":{"type":"string"},"query":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}}},"required":["id","data","dataType","source"]},"Mihari_Entities_Tag":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"name":{"type":"string"}},"required":["id","name"]},"Mihari_Entities_Message":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"description":"Mihari_Entities_Message model"},"Mihari_Entities_AlertsWithPagination":{"type":"object","properties":{"alerts":{"type":"array","items":{"$ref":"#/components/schemas/Mihari_Entities_Alert"}},"total":{"type":"integer","format":"int32"},"currentPage":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"}},"required":["alerts","total","currentPage","pageSize"],"description":"Mihari_Entities_AlertsWithPagination model"},"Mihari_Entities_Artifact":{"type":"object","properties":{"id":{"type":"string","description":"String representation of the ID"},"data":{"type":"string"},"dataType":{"type":"string"},"source":{"type":"string"},"query":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"metadata":{"type":"object"},"autonomousSystem":{"$ref":"#/components/schemas/Mihari_Entities_AutonomousSystem"},"geolocation":{"$ref":"#/components/schemas/Mihari_Entities_Geolocation"},"whoisRecord":{"$ref":"#/components/schemas/Mihari_Entities_WhoisRecord"},"reverseDnsNames":{"type":"array","items":{"$ref":"#/components/schemas/Mihari_Entities_ReverseDnsName"}},"dnsRecords":{"type":"array","items":{"$ref":"#/components/schemas/Mihari_Entities_DnsRecord"}},"cpes":{"type":"array","items":{"$ref":"#/components/schemas/Mihari_Entities_CPE"}},"ports":{"type":"array","items":{"$ref":"#/components/schemas/Mihari_Entities_Port"}}},"required":["id","data","dataType","source"],"description":"Mihari_Entities_Artifact model"},"Mihari_Entities_AutonomousSystem":{"type":"object","properties":{"asn":{"type":"integer","format":"int32"}},"required":["asn"]},"Mihari_Entities_Geolocation":{"type":"object","properties":{"country":{"type":"string"},"countryCode":{"type":"string"}},"required":["country","countryCode"]},"Mihari_Entities_WhoisRecord":{"type":"object","properties":{"domain":{"type":"string"},"createdOn":{"type":"string","format":"date"},"updatedOn":{"type":"string","format":"date"},"expiresOn":{"type":"string","format":"date"},"registrar":{"type":"object"},"contacts":{"type":"array","items":{"type":"object"}}},"required":["domain","contacts"]},"Mihari_Entities_ReverseDnsName":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]},"Mihari_Entities_DnsRecord":{"type":"object","properties":{"resource":{"type":"string"},"value":{"type":"string"}},"required":["resource","value"]},"Mihari_Entities_CPE":{"type":"object","properties":{"cpe":{"type":"string"}},"required":["cpe"]},"Mihari_Entities_Port":{"type":"object","properties":{"port":{"type":"integer","format":"int32"}},"required":["port"]},"Mihari_Entities_Config":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"values":{"type":"array","items":{"type":"string"}},"isConfigured":{"type":"boolean"}},"required":["name","type","values","isConfigured"],"description":"Mihari_Entities_Config model"},"Mihari_Entities_IPAddress":{"type":"object","properties":{"ip":{"type":"string"},"countryCode":{"type":"string"},"hostname":{"type":"string"},"loc":{"type":"string"},"asn":{"type":"integer","format":"int32"}},"required":["ip","countryCode","loc"],"description":"Mihari_Entities_IPAddress model"},"putApiRules":{"type":"object","properties":{"id":{"type":"string"},"yaml":{"type":"string"}},"required":["id","yaml"],"description":"Update a rule"},"Mihari_Entities_Rule":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"yaml":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"tags":{"type":"array","items":{"$ref":"#/components/schemas/Mihari_Entities_Tag"}}},"required":["id","title","description","yaml","createdAt","updatedAt","tags"],"description":"Mihari_Entities_Rule model"},"postApiRules":{"type":"object","properties":{"yaml":{"type":"string"}},"required":["yaml"],"description":"Create a rule"},"Mihari_Entities_RulesWithPagination":{"type":"object","properties":{"rules":{"type":"array","items":{"$ref":"#/components/schemas/Mihari_Entities_Rule"}},"total":{"type":"integer","format":"int32"},"currentPage":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"}},"required":["rules","total","currentPage","pageSize"],"description":"Mihari_Entities_RulesWithPagination model"},"Mihari_Entities_RuleIDs":{"type":"object","properties":{"ruleIds":{"type":"string"}},"required":["ruleIds"],"description":"Mihari_Entities_RuleIDs model"},"Mihari_Entities_Tags":{"type":"object","properties":{"tags":{"type":"string"}},"required":["tags"],"description":"Mihari_Entities_Tags model"}}}}},"searchIndex":{"store":["tag/alerts","tag/alerts/paths/~1api~1alerts/post","tag/alerts/paths/~1api~1alerts/get","tag/alerts/paths/~1api~1alerts~1{id}/delete","tag/artifacts","tag/artifacts/paths/~1api~1artifacts~1{id}/delete","tag/artifacts/paths/~1api~1artifacts~1{id}/get","tag/artifacts/paths/~1api~1artifacts~1{id}~1enrich/get","tag/configs","tag/configs/paths/~1api~1configs/get","tag/ip_addresses","tag/ip_addresses/paths/~1api~1ip_addresses~1{ip}/get","tag/rules","tag/rules/paths/~1api~1rules~1{id}/delete","tag/rules/paths/~1api~1rules~1{id}/get","tag/rules/paths/~1api~1rules/put","tag/rules/paths/~1api~1rules/post","tag/rules/paths/~1api~1rules/get","tag/rules/paths/~1api~1rules~1{id}~1run/get","tag/rules/paths/~1api~1rules~1ids/get","tag/tags","tag/tags/paths/~1api~1tags~1{id}/delete","tag/tags/paths/~1api~1tags/get"],"index":{"version":"2.3.9","fields":["title","description"],"fieldVectors":[["title/0",[0,1.218]],["description/0",[0,1.141,1,1.436]],["title/1",[0,0.932,2,1.503]],["description/1",[0,0.971,2,1.565,3,2.115]],["title/2",[0,0.932,4,1.503]],["description/2",[0,0.971,3,2.115,4,1.565]],["title/3",[0,0.932,5,0.932]],["description/3",[0,0.971,5,0.971,6,2.593]],["title/4",[7,1.218]],["description/4",[1,1.436,7,1.141]],["title/5",[5,0.932,7,0.932]],["description/5",[5,0.971,7,0.971,8,2.115]],["title/6",[7,1.218]],["description/6",[7,1.141,8,2.486]],["title/7",[7,0.932,9,2.031]],["description/7",[7,0.971,9,2.115,10,2.593]],["title/8",[11,1.964]],["description/8",[1,1.436,11,1.84]],["title/9",[11,1.964]],["description/9",[11,1.84,12,3.047]],["title/10",[13,2.654]],["description/10",[1,1.436,13,2.486]],["title/11",[14,2.031,15,2.031]],["description/11",[14,2.115,15,2.115,16,2.593]],["title/12",[17,0.44]],["description/12",[1,1.436,17,0.412]],["title/13",[5,0.932,17,0.336]],["description/13",[5,0.971,17,0.35,18,2.115]],["title/14",[17,0.44]],["description/14",[17,0.412,18,2.486]],["title/15",[17,0.336,19,2.031]],["description/15",[17,0.35,19,2.115,20,1.8]],["title/16",[2,1.503,17,0.336]],["description/16",[2,1.565,17,0.35,20,1.8]],["title/17",[4,1.503,17,0.336]],["description/17",[4,1.565,17,0.35,20,1.8]],["title/18",[17,0.336,21,2.031]],["description/18",[17,0.35,21,2.115,22,2.593]],["title/19",[17,0.336,23,2.031]],["description/19",[17,0.35,23,2.115,24,2.593]],["title/20",[25,1.533]],["description/20",[1,1.436,25,1.436]],["title/21",[5,0.932,25,1.173]],["description/21",[5,0.971,25,1.222,26,2.593]],["title/22",[25,1.533]],["description/22",[25,1.436,27,3.047]]],"invertedIndex":[["address",{"_index":15,"title":{"11":{}},"description":{"11":{}}}],["alert",{"_index":0,"title":{"0":{},"1":{},"2":{},"3":{}},"description":{"0":{},"1":{},"2":{},"3":{}}}],["api/alert",{"_index":3,"title":{},"description":{"1":{},"2":{}}}],["api/alerts/{id",{"_index":6,"title":{},"description":{"3":{}}}],["api/artifacts/{id",{"_index":8,"title":{},"description":{"5":{},"6":{}}}],["api/artifacts/{id}/enrich",{"_index":10,"title":{},"description":{"7":{}}}],["api/config",{"_index":12,"title":{},"description":{"9":{}}}],["api/ip_addresses/{ip",{"_index":16,"title":{},"description":{"11":{}}}],["api/rul",{"_index":20,"title":{},"description":{"15":{},"16":{},"17":{}}}],["api/rules/id",{"_index":24,"title":{},"description":{"19":{}}}],["api/rules/{id",{"_index":18,"title":{},"description":{"13":{},"14":{}}}],["api/rules/{id}/run",{"_index":22,"title":{},"description":{"18":{}}}],["api/tag",{"_index":27,"title":{},"description":{"22":{}}}],["api/tags/{id",{"_index":26,"title":{},"description":{"21":{}}}],["artifact",{"_index":7,"title":{"4":{},"5":{},"6":{},"7":{}},"description":{"4":{},"5":{},"6":{},"7":{}}}],["config",{"_index":11,"title":{"8":{},"9":{}},"description":{"8":{},"9":{}}}],["creat",{"_index":2,"title":{"1":{},"16":{}},"description":{"1":{},"16":{}}}],["delet",{"_index":5,"title":{"3":{},"5":{},"13":{},"21":{}},"description":{"3":{},"5":{},"13":{},"21":{}}}],["enrich",{"_index":9,"title":{"7":{}},"description":{"7":{}}}],["id",{"_index":23,"title":{"19":{}},"description":{"19":{}}}],["ip",{"_index":14,"title":{"11":{}},"description":{"11":{}}}],["ip_address",{"_index":13,"title":{"10":{}},"description":{"10":{}}}],["oper",{"_index":1,"title":{},"description":{"0":{},"4":{},"8":{},"10":{},"12":{},"20":{}}}],["rule",{"_index":17,"title":{"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{}},"description":{"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{}}}],["run",{"_index":21,"title":{"18":{}},"description":{"18":{}}}],["search",{"_index":4,"title":{"2":{},"17":{}},"description":{"2":{},"17":{}}}],["tag",{"_index":25,"title":{"20":{},"21":{},"22":{}},"description":{"20":{},"21":{},"22":{}}}],["updat",{"_index":19,"title":{"15":{}},"description":{"15":{}}}]],"pipeline":[]}},"options":{}};
439
439
 
440
440
  var container = document.getElementById('redoc');
441
441
  Redoc.hydrate(__redoc_state, container);
data/lib/mihari.rb CHANGED
@@ -32,7 +32,7 @@ require "grape-entity"
32
32
  require "addressable/uri"
33
33
  require "awrence"
34
34
  require "email_address"
35
- require "memist"
35
+ require "memo_wise"
36
36
  require "parallel"
37
37
  require "plissken"
38
38
  require "public_suffix"
@@ -62,7 +62,7 @@ require "mihari/mixins/unwrap_error"
62
62
  #
63
63
  module Mihari
64
64
  class << self
65
- include Memist::Memoizable
65
+ prepend MemoWise
66
66
 
67
67
  #
68
68
  # @return [Array<Mihari::Emitters::Base>]
@@ -70,7 +70,7 @@ module Mihari
70
70
  def emitters
71
71
  []
72
72
  end
73
- memoize :emitters
73
+ memo_wise :emitters
74
74
 
75
75
  #
76
76
  # @return [Hash{String => Mihari::Enrichers::Base}]
@@ -87,7 +87,7 @@ module Mihari
87
87
  def analyzers
88
88
  []
89
89
  end
90
- memoize :analyzers
90
+ memo_wise :analyzers
91
91
 
92
92
  #
93
93
  # @return [Hash{String => Mihari::Analyzers::Base}]
@@ -104,7 +104,7 @@ module Mihari
104
104
  def enrichers
105
105
  []
106
106
  end
107
- memoize :enrichers
107
+ memo_wise :enrichers
108
108
 
109
109
  #
110
110
  # @return [Hash{String => Mihari::Enrichers::Base}]
@@ -127,7 +127,7 @@ module Mihari
127
127
  SemanticLogger.add_appender(io: $stderr, formatter: :color)
128
128
  SemanticLogger["Mihari"]
129
129
  end
130
- memoize :logger
130
+ memo_wise :logger
131
131
 
132
132
  def initialize_sentry
133
133
  return if Mihari.config.sentry_dsn.nil?
@@ -135,8 +135,7 @@ module Mihari
135
135
 
136
136
  Sentry.init do |config|
137
137
  config.dsn = Mihari.config.sentry_dsn
138
-
139
- config.traces_sample_rate = 0.5
138
+ config.traces_sample_rate = Mihari.config.sentry_trace_sample_rate
140
139
  end
141
140
  end
142
141
  end
@@ -149,7 +148,7 @@ require "mihari/actor"
149
148
 
150
149
  require "mihari/database"
151
150
  require "mihari/http"
152
- require "mihari/type_checker"
151
+ require "mihari/data_type"
153
152
  require "mihari/rule"
154
153
 
155
154
  # Enrichers
@@ -191,6 +190,7 @@ require "mihari/clients/circl"
191
190
  require "mihari/clients/crtsh"
192
191
  require "mihari/clients/dnstwister"
193
192
  require "mihari/clients/fofa"
193
+ require "mihari/clients/google_public_dns"
194
194
  require "mihari/clients/greynoise"
195
195
  require "mihari/clients/hunterhow"
196
196
  require "mihari/clients/misp"
@@ -291,5 +291,5 @@ require "mihari/web/app"
291
291
  # CLIs
292
292
  require "mihari/cli/main"
293
293
 
294
- # initialize Sentry
294
+ # initialize Sentry (if it's possible)
295
295
  Mihari.initialize_sentry
data/mihari.gemspec CHANGED
@@ -55,13 +55,14 @@ Gem::Specification.new do |spec|
55
55
  spec.add_development_dependency "rubocop-yard", "~> 0.8"
56
56
  spec.add_development_dependency "simplecov-lcov", "~> 0.8"
57
57
  spec.add_development_dependency "standard", "~> 1.32"
58
- spec.add_development_dependency "test-prof", "~> 1.2"
58
+ spec.add_development_dependency "test-prof", "~> 1.3"
59
59
  spec.add_development_dependency "timecop", "~> 0.9"
60
60
  spec.add_development_dependency "vcr", "~> 6.2"
61
61
  spec.add_development_dependency "webmock", "~> 3.19"
62
62
 
63
63
  unless ci_env?
64
64
  spec.add_development_dependency "lefthook", "~> 1.5"
65
+ spec.add_development_dependency "ruby-lsp-rspec", "~> 0.1"
65
66
  spec.add_development_dependency "solargraph", "~> 0.49"
66
67
  end
67
68
 
@@ -84,7 +85,7 @@ Gem::Specification.new do |spec|
84
85
  spec.add_dependency "http", "5.1.1"
85
86
  spec.add_dependency "jr-cli", "0.6.0"
86
87
  spec.add_dependency "launchy", "2.5.2"
87
- spec.add_dependency "memist", "2.0.2"
88
+ spec.add_dependency "memo_wise", "1.8.0"
88
89
  spec.add_dependency "normalize_country", "0.3.2"
89
90
  spec.add_dependency "parallel", "1.23.0"
90
91
  spec.add_dependency "plissken", "2.0.1"
@@ -94,9 +95,9 @@ Gem::Specification.new do |spec|
94
95
  spec.add_dependency "rack-cors", "2.0.1"
95
96
  spec.add_dependency "rackup", "2.1.0"
96
97
  spec.add_dependency "semantic_logger", "4.15.0"
97
- spec.add_dependency "sentry-ruby", "5.13.0"
98
+ spec.add_dependency "sentry-ruby", "~> 5.14"
98
99
  spec.add_dependency "slack-notifier", "2.4.0"
99
- spec.add_dependency "sqlite3", "1.6.8"
100
+ spec.add_dependency "sqlite3", "~> 1.6"
100
101
  spec.add_dependency "thor", "1.3.0"
101
102
  spec.add_dependency "thor-hollaback", "0.2.1"
102
103
  spec.add_dependency "uuidtools", "2.2.0"
data/mkdocs.yml CHANGED
@@ -19,6 +19,7 @@ nav:
19
19
  - Docker: tips/docker.md
20
20
  - GitHub Actions: tips/github_actions.md
21
21
  - Superset: tips/superset.md
22
+ - Sentry: tips/sentry.md
22
23
  - Alternatives: tips/alternatives.md
23
24
  - References:
24
25
  - Analyzers: analyzers/index.md
data/requirements.txt CHANGED
@@ -1,2 +1,2 @@
1
1
  mkdocs==1.5.3
2
- mkdocs-material==9.4.8
2
+ mkdocs-material==9.4.14