mihari 5.2.4 → 5.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (126) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +4 -1
  3. data/README.md +0 -10
  4. data/Rakefile +7 -1
  5. data/build_frontend.sh +1 -1
  6. data/frontend/.eslintrc.cjs +22 -0
  7. data/frontend/.gitignore +18 -12
  8. data/frontend/.prettierrc.json +8 -0
  9. data/frontend/env.d.ts +5 -0
  10. data/frontend/package-lock.json +5095 -9661
  11. data/frontend/package.json +34 -24
  12. data/frontend/src/App.vue +5 -5
  13. data/frontend/src/api-helper.ts +38 -40
  14. data/frontend/src/api.ts +40 -40
  15. data/frontend/src/components/ErrorMessage.vue +8 -8
  16. data/frontend/src/components/Loading.vue +3 -3
  17. data/frontend/src/components/Navbar.vue +10 -27
  18. data/frontend/src/components/Pagination.vue +35 -42
  19. data/frontend/src/components/alert/Alert.vue +21 -26
  20. data/frontend/src/components/alert/Alerts.vue +23 -25
  21. data/frontend/src/components/alert/AlertsWithPagination.vue +34 -34
  22. data/frontend/src/components/alert/AlertsWrapper.vue +42 -49
  23. data/frontend/src/components/alert/Form.vue +39 -40
  24. data/frontend/src/components/artifact/AS.vue +7 -7
  25. data/frontend/src/components/artifact/Artifact.vue +66 -83
  26. data/frontend/src/components/artifact/ArtifactTag.vue +21 -27
  27. data/frontend/src/components/artifact/ArtifactTags.vue +8 -8
  28. data/frontend/src/components/artifact/ArtifactWrapper.vue +22 -25
  29. data/frontend/src/components/artifact/CPEs.vue +6 -6
  30. data/frontend/src/components/artifact/DnsRecords.vue +9 -9
  31. data/frontend/src/components/artifact/Ports.vue +6 -6
  32. data/frontend/src/components/artifact/ReverseDnsNames.vue +7 -7
  33. data/frontend/src/components/artifact/Tags.vue +6 -6
  34. data/frontend/src/components/artifact/WhoisRecord.vue +7 -9
  35. data/frontend/src/components/config/Configs.vue +7 -10
  36. data/frontend/src/components/config/ConfigsWrapper.vue +14 -20
  37. data/frontend/src/components/link/Link.vue +7 -7
  38. data/frontend/src/components/link/Links.vue +16 -21
  39. data/frontend/src/components/rule/EditRule.vue +22 -22
  40. data/frontend/src/components/rule/EditRuleWrapper.vue +22 -28
  41. data/frontend/src/components/rule/Form.vue +28 -28
  42. data/frontend/src/components/rule/InputForm.vue +31 -25
  43. data/frontend/src/components/rule/NewRule.vue +18 -18
  44. data/frontend/src/components/rule/Rule.vue +25 -27
  45. data/frontend/src/components/rule/RuleWrapper.vue +24 -31
  46. data/frontend/src/components/rule/Rules.vue +26 -30
  47. data/frontend/src/components/rule/RulesWrapper.vue +39 -42
  48. data/frontend/src/components/rule/YAML.vue +19 -22
  49. data/frontend/src/components/tag/Tag.vue +24 -32
  50. data/frontend/src/components/tag/Tags.vue +11 -11
  51. data/frontend/src/countries.ts +23 -23
  52. data/frontend/src/index.ts +9 -12
  53. data/frontend/src/links/anyrun.ts +10 -10
  54. data/frontend/src/links/base.ts +3 -3
  55. data/frontend/src/links/censys.ts +10 -10
  56. data/frontend/src/links/crtsh.ts +10 -10
  57. data/frontend/src/links/dnslytics.ts +18 -18
  58. data/frontend/src/links/greynoise.ts +10 -10
  59. data/frontend/src/links/index.ts +15 -15
  60. data/frontend/src/links/intezer.ts +10 -10
  61. data/frontend/src/links/otx.ts +14 -14
  62. data/frontend/src/links/securitytrails.ts +15 -15
  63. data/frontend/src/links/shodan.ts +10 -10
  64. data/frontend/src/links/urlscan.ts +19 -19
  65. data/frontend/src/links/virustotal.ts +27 -27
  66. data/frontend/src/main.ts +8 -8
  67. data/frontend/src/router/index.ts +20 -20
  68. data/frontend/src/rule.ts +6 -6
  69. data/frontend/src/shims-vue.d.ts +2 -2
  70. data/frontend/src/types.ts +91 -91
  71. data/frontend/src/utils.ts +23 -29
  72. data/frontend/src/views/Alerts.vue +7 -7
  73. data/frontend/src/views/Artifact.vue +17 -17
  74. data/frontend/src/views/Configs.vue +7 -7
  75. data/frontend/src/views/EditRule.vue +17 -17
  76. data/frontend/src/views/NewRule.vue +10 -10
  77. data/frontend/src/views/Rule.vue +17 -17
  78. data/frontend/src/views/Rules.vue +7 -7
  79. data/frontend/tests/utils.spec.ts +9 -0
  80. data/frontend/tsconfig.app.json +21 -0
  81. data/frontend/tsconfig.json +10 -36
  82. data/frontend/tsconfig.node.json +13 -0
  83. data/frontend/tsconfig.vitest.json +12 -0
  84. data/frontend/vite.config.ts +24 -0
  85. data/frontend/vitest.config.ts +21 -0
  86. data/lefthook.yml +4 -2
  87. data/lib/mihari/analyzers/base.rb +48 -14
  88. data/lib/mihari/analyzers/binaryedge.rb +10 -15
  89. data/lib/mihari/analyzers/censys.rb +12 -15
  90. data/lib/mihari/analyzers/circl.rb +10 -10
  91. data/lib/mihari/analyzers/crtsh.rb +10 -6
  92. data/lib/mihari/analyzers/dnstwister.rb +6 -8
  93. data/lib/mihari/analyzers/feed.rb +21 -10
  94. data/lib/mihari/analyzers/greynoise.rb +10 -20
  95. data/lib/mihari/analyzers/onyphe.rb +9 -14
  96. data/lib/mihari/analyzers/otx.rb +8 -9
  97. data/lib/mihari/analyzers/passivetotal.rb +10 -10
  98. data/lib/mihari/analyzers/pulsedive.rb +21 -31
  99. data/lib/mihari/analyzers/securitytrails.rb +8 -6
  100. data/lib/mihari/analyzers/shodan.rb +8 -13
  101. data/lib/mihari/analyzers/urlscan.rb +15 -20
  102. data/lib/mihari/analyzers/virustotal.rb +16 -26
  103. data/lib/mihari/analyzers/virustotal_intelligence.rb +11 -17
  104. data/lib/mihari/analyzers/zoomeye.rb +12 -17
  105. data/lib/mihari/config.rb +133 -0
  106. data/lib/mihari/constants.rb +3 -0
  107. data/lib/mihari/emitters/slack.rb +13 -3
  108. data/lib/mihari/errors.rb +1 -1
  109. data/lib/mihari/http.rb +2 -3
  110. data/lib/mihari/schemas/analyzer.rb +2 -0
  111. data/lib/mihari/type_checker.rb +6 -6
  112. data/lib/mihari/version.rb +1 -1
  113. data/lib/mihari/web/endpoints/configs.rb +5 -1
  114. data/lib/mihari/web/public/assets/{index-eed1bcd8.css → index-2ba8f0a6.css} +1 -1
  115. data/lib/mihari/web/public/assets/{index-ac4e5ffa.js → index-71285b15.js} +16 -16
  116. data/lib/mihari/web/public/index.html +2 -2
  117. data/lib/mihari/web/public/redoc-static.html +388 -2193
  118. data/lib/mihari.rb +9 -59
  119. data/mihari.gemspec +8 -8
  120. metadata +24 -62
  121. data/frontend/.browserslistrc +0 -3
  122. data/frontend/.eslintrc.js +0 -33
  123. data/frontend/babel.config.js +0 -3
  124. data/frontend/jest.config.js +0 -9
  125. data/frontend/tests/unit/utils.spec.ts +0 -7
  126. data/frontend/vite.config.js +0 -24
@@ -1,4 +1,4 @@
1
- import { Country } from "@/types";
1
+ import type { Country } from "@/types"
2
2
 
3
3
  const COUNTRIES: Country[] = [
4
4
  { name: "Afghanistan", lat: 33.93911, long: 67.709953, code: "AF" },
@@ -35,7 +35,7 @@ const COUNTRIES: Country[] = [
35
35
  name: "British Indian Ocean Territory",
36
36
  lat: -6.343194,
37
37
  long: 71.876519,
38
- code: "IO",
38
+ code: "IO"
39
39
  },
40
40
  { name: "Brunei", lat: 4.535277, long: 114.727669, code: "BN" },
41
41
  { name: "Bulgaria", lat: 42.733883, long: 25.48583, code: "BG" },
@@ -50,7 +50,7 @@ const COUNTRIES: Country[] = [
50
50
  name: "Central African Republic",
51
51
  lat: 6.611111,
52
52
  long: 20.939444,
53
- code: "CF",
53
+ code: "CF"
54
54
  },
55
55
  { name: "Caribbean Netherlands", lat: 12.2, long: -68.26, code: "BQ" },
56
56
  { name: "Chad", lat: 15.454166, long: 18.732207, code: "TD" },
@@ -61,7 +61,7 @@ const COUNTRIES: Country[] = [
61
61
  name: "Cocos (Keeling) Islands",
62
62
  lat: -12.164165,
63
63
  long: 96.870956,
64
- code: "CC",
64
+ code: "CC"
65
65
  },
66
66
  { name: "Colombia", lat: 4.570868, long: -74.297333, code: "CO" },
67
67
  { name: "Comoros", lat: -11.875001, long: 43.872219, code: "KM" },
@@ -90,7 +90,7 @@ const COUNTRIES: Country[] = [
90
90
  name: "Falkland Islands (Malvinas)",
91
91
  lat: -51.796253,
92
92
  long: -59.523613,
93
- code: "FK",
93
+ code: "FK"
94
94
  },
95
95
  { name: "Faroe Islands", lat: 61.892635, long: -6.911806, code: "FO" },
96
96
  { name: "Fiji", lat: -16.578193, long: 179.414413, code: "FJ" },
@@ -102,7 +102,7 @@ const COUNTRIES: Country[] = [
102
102
  name: "French Southern Territories",
103
103
  lat: -49.280366,
104
104
  long: 69.348557,
105
- code: "TF",
105
+ code: "TF"
106
106
  },
107
107
  { name: "Gabon", lat: -0.803689, long: 11.609444, code: "GA" },
108
108
  { name: "Gambia", lat: 13.443182, long: -15.310139, code: "GM" },
@@ -125,13 +125,13 @@ const COUNTRIES: Country[] = [
125
125
  name: "Heard Island and McDonald Islands",
126
126
  lat: -53.08181,
127
127
  long: 73.504158,
128
- code: "HM",
128
+ code: "HM"
129
129
  },
130
130
  {
131
131
  name: "Holy See (Vatican City State)",
132
132
  lat: 41.902916,
133
133
  long: 12.453389,
134
- code: "VA",
134
+ code: "VA"
135
135
  },
136
136
  { name: "Honduras", lat: 15.199999, long: -86.241905, code: "HN" },
137
137
  { name: "Hong Kong", lat: 22.396428, long: 114.109497, code: "HK" },
@@ -161,7 +161,7 @@ const COUNTRIES: Country[] = [
161
161
  name: 'Lao People"s Democratic Republic',
162
162
  lat: 19.85627,
163
163
  long: 102.495496,
164
- code: "LA",
164
+ code: "LA"
165
165
  },
166
166
  { name: "Latvia", lat: 56.879635, long: 24.603189, code: "LV" },
167
167
  { name: "Lebanon", lat: 33.854721, long: 35.862285, code: "LB" },
@@ -203,7 +203,7 @@ const COUNTRIES: Country[] = [
203
203
  name: "Netherlands Antilles",
204
204
  lat: 12.226079,
205
205
  long: -69.060087,
206
- code: "AN",
206
+ code: "AN"
207
207
  },
208
208
  { name: "New Caledonia", lat: -20.904305, long: 165.618042, code: "NC" },
209
209
  { name: "New Zealand", lat: -40.900557, long: 174.885971, code: "NZ" },
@@ -216,7 +216,7 @@ const COUNTRIES: Country[] = [
216
216
  name: "Northern Mariana Islands",
217
217
  lat: 17.33083,
218
218
  long: 145.38469,
219
- code: "MP",
219
+ code: "MP"
220
220
  },
221
221
  { name: "Norway", lat: 60.472024, long: 8.468946, code: "NO" },
222
222
  { name: "Oman", lat: 21.512583, long: 55.923255, code: "OM" },
@@ -243,14 +243,14 @@ const COUNTRIES: Country[] = [
243
243
  name: "Saint Kitts and Nevis",
244
244
  lat: 17.357822,
245
245
  long: -62.782998,
246
- code: "KN",
246
+ code: "KN"
247
247
  },
248
248
  { name: "Saint Lucia", lat: 13.909444, long: -60.978893, code: "LC" },
249
249
  {
250
250
  name: "Saint Pierre Miquelon",
251
251
  lat: 46.941936,
252
252
  long: -56.27111,
253
- code: "PM",
253
+ code: "PM"
254
254
  },
255
255
  { name: "Saint Martin", lat: 18.11, long: -63.03, code: "MF" },
256
256
  { name: "Sint Maarten", lat: 18.02, long: -63.06, code: "SX" },
@@ -258,7 +258,7 @@ const COUNTRIES: Country[] = [
258
258
  name: "Saint Vincent and the Grenadines",
259
259
  lat: 12.984305,
260
260
  long: -61.287228,
261
- code: "VC",
261
+ code: "VC"
262
262
  },
263
263
  { name: "Samoa", lat: -13.759029, long: -172.104629, code: "WS" },
264
264
  { name: "San Marino", lat: 43.94236, long: 12.457777, code: "SM" },
@@ -278,7 +278,7 @@ const COUNTRIES: Country[] = [
278
278
  name: "South Georgia and the South Sandwich Islands",
279
279
  lat: -54.429579,
280
280
  long: -36.587909,
281
- code: "GS",
281
+ code: "GS"
282
282
  },
283
283
  { name: "South Sudan", lat: 6.8769, long: 31.3069, code: "SS" },
284
284
  { name: "Spain", lat: 40.463667, long: -3.74922, code: "ES" },
@@ -289,7 +289,7 @@ const COUNTRIES: Country[] = [
289
289
  name: "Svalbard and Jan Mayen",
290
290
  lat: 77.553604,
291
291
  long: 23.670272,
292
- code: "SJ",
292
+ code: "SJ"
293
293
  },
294
294
  { name: "Swaziland", lat: -26.522503, long: 31.465866, code: "SZ" },
295
295
  { name: "Sweden", lat: 60.128161, long: 18.643501, code: "SE" },
@@ -311,7 +311,7 @@ const COUNTRIES: Country[] = [
311
311
  name: "Turks and Caicos Islands",
312
312
  lat: 21.694025,
313
313
  long: -71.797928,
314
- code: "TC",
314
+ code: "TC"
315
315
  },
316
316
  { name: "Tuvalu", lat: -7.109535, long: 177.64933, code: "TV" },
317
317
  { name: "Uganda", lat: 1.373333, long: 32.290275, code: "UG" },
@@ -323,7 +323,7 @@ const COUNTRIES: Country[] = [
323
323
  name: "United States Minor Outlying Islands",
324
324
  lat: 0.0,
325
325
  long: 0.0,
326
- code: "UM",
326
+ code: "UM"
327
327
  },
328
328
  { name: "Uruguay", lat: -32.522779, long: -55.765835, code: "UY" },
329
329
  { name: "Uzbekistan", lat: 41.377491, long: 64.585262, code: "UZ" },
@@ -334,17 +334,17 @@ const COUNTRIES: Country[] = [
334
334
  name: "British Virgin Islands",
335
335
  lat: 18.420695,
336
336
  long: -64.639968,
337
- code: "VG",
337
+ code: "VG"
338
338
  },
339
339
  { name: "U.S. Virgin Islands", lat: 18.335765, long: -64.896335, code: "VI" },
340
340
  { name: "Wallis and Futuna", lat: -13.768752, long: -177.156097, code: "WF" },
341
341
  { name: "Western Sahara", lat: 24.215527, long: -12.885834, code: "EH" },
342
342
  { name: "Yemen", lat: 15.552727, long: 48.516388, code: "YE" },
343
343
  { name: "Zambia", lat: -13.133897, long: 27.849332, code: "ZM" },
344
- { name: "Zimbabwe", lat: -19.015438, long: 29.154857, code: "ZW" },
345
- ];
344
+ { name: "Zimbabwe", lat: -19.015438, long: 29.154857, code: "ZW" }
345
+ ]
346
346
 
347
347
  export function getCountryByCode(code: string): Country | undefined {
348
- const country = COUNTRIES.find((country) => country.code === code);
349
- return country;
348
+ const country = COUNTRIES.find((country) => country.code === code)
349
+ return country
350
350
  }
@@ -1,14 +1,11 @@
1
- import { Link } from "@/types";
1
+ import type { Link } from "@/types"
2
2
 
3
- import { Censys } from "./links/censys";
4
- import { Crtsh } from "./links/crtsh";
5
- import {
6
- SecurityTrailsForDomain,
7
- SecurityTrailsForIP,
8
- } from "./links/securitytrails";
9
- import { Shodan } from "./links/shodan";
10
- import { UrlscanForDomain, UrlscanForIP } from "./links/urlscan";
11
- import { VirusTotalForDomain, VirusTotalForIP } from "./links/virustotal";
3
+ import { Censys } from "./links/censys"
4
+ import { Crtsh } from "./links/crtsh"
5
+ import { SecurityTrailsForDomain, SecurityTrailsForIP } from "./links/securitytrails"
6
+ import { Shodan } from "./links/shodan"
7
+ import { UrlscanForDomain, UrlscanForIP } from "./links/urlscan"
8
+ import { VirusTotalForDomain, VirusTotalForIP } from "./links/virustotal"
12
9
 
13
10
  export const Links: Link[] = [
14
11
  new Censys(),
@@ -19,5 +16,5 @@ export const Links: Link[] = [
19
16
  new UrlscanForDomain(),
20
17
  new UrlscanForIP(),
21
18
  new VirusTotalForDomain(),
22
- new VirusTotalForIP(),
23
- ];
19
+ new VirusTotalForIP()
20
+ ]
@@ -1,19 +1,19 @@
1
- import { BaseLink } from "@/links/base";
2
- import { Link, LinkType } from "@/types";
1
+ import { BaseLink } from "@/links/base"
2
+ import type { Link, LinkType } from "@/types"
3
3
 
4
4
  export class AnyRun extends BaseLink implements Link {
5
- public baseURL: string;
6
- public name: string;
7
- public type: LinkType;
5
+ public baseURL: string
6
+ public name: string
7
+ public type: LinkType
8
8
 
9
9
  public constructor() {
10
- super();
11
- this.baseURL = "https://app.any.run";
12
- this.name = "ANY.RUN";
13
- this.type = "hash";
10
+ super()
11
+ this.baseURL = "https://app.any.run"
12
+ this.name = "ANY.RUN"
13
+ this.type = "hash"
14
14
  }
15
15
 
16
16
  public href(data: string): string {
17
- return this.baseURL + `/submissions/#filehash:${data}`;
17
+ return this.baseURL + `/submissions/#filehash:${data}`
18
18
  }
19
19
  }
@@ -1,14 +1,14 @@
1
1
  export class BaseLink {
2
- public baseURL: string;
2
+ public baseURL: string
3
3
 
4
4
  public constructor() {
5
- this.baseURL = "https://example.com";
5
+ this.baseURL = "https://example.com"
6
6
  }
7
7
 
8
8
  public favicon(): string {
9
9
  return (
10
10
  "https://t0.gstatic.com/faviconV2?client=SOCIAL&type=FAVICON&fallback_opts=TYPE,SIZE,URL&url=" +
11
11
  this.baseURL
12
- );
12
+ )
13
13
  }
14
14
  }
@@ -1,20 +1,20 @@
1
- import { BaseLink } from "@/links/base";
2
- import { Link, LinkType } from "@/types";
1
+ import { BaseLink } from "@/links/base"
2
+ import type { Link, LinkType } from "@/types"
3
3
 
4
4
  export class Censys extends BaseLink implements Link {
5
- public baseURL: string;
6
- public name: string;
7
- public type: LinkType;
5
+ public baseURL: string
6
+ public name: string
7
+ public type: LinkType
8
8
 
9
9
  public constructor() {
10
- super();
10
+ super()
11
11
 
12
- this.baseURL = "https://search.censys.io";
13
- this.name = "Censys";
14
- this.type = "ip";
12
+ this.baseURL = "https://search.censys.io"
13
+ this.name = "Censys"
14
+ this.type = "ip"
15
15
  }
16
16
 
17
17
  public href(data: string): string {
18
- return this.baseURL + `/hosts/${data}`;
18
+ return this.baseURL + `/hosts/${data}`
19
19
  }
20
20
  }
@@ -1,20 +1,20 @@
1
- import { BaseLink } from "@/links/base";
2
- import { Link, LinkType } from "@/types";
1
+ import { BaseLink } from "@/links/base"
2
+ import type { Link, LinkType } from "@/types"
3
3
 
4
4
  export class Crtsh extends BaseLink implements Link {
5
- public baseURL: string;
6
- public name: string;
7
- public type: LinkType;
5
+ public baseURL: string
6
+ public name: string
7
+ public type: LinkType
8
8
 
9
9
  public constructor() {
10
- super();
10
+ super()
11
11
 
12
- this.baseURL = "https://crt.sh";
13
- this.name = "crt.sh";
14
- this.type = "domain";
12
+ this.baseURL = "https://crt.sh"
13
+ this.name = "crt.sh"
14
+ this.type = "domain"
15
15
  }
16
16
 
17
17
  public href(data: string): string {
18
- return this.baseURL + `/?q=${data}`;
18
+ return this.baseURL + `/?q=${data}`
19
19
  }
20
20
  }
@@ -1,38 +1,38 @@
1
- import { BaseLink } from "@/links/base";
2
- import { Link, LinkType } from "@/types";
1
+ import { BaseLink } from "@/links/base"
2
+ import type { Link, LinkType } from "@/types"
3
3
 
4
4
  export class DNSlyticsForIP extends BaseLink implements Link {
5
- public baseURL: string;
6
- public name: string;
7
- public type: LinkType;
5
+ public baseURL: string
6
+ public name: string
7
+ public type: LinkType
8
8
 
9
9
  public constructor() {
10
- super();
10
+ super()
11
11
 
12
- this.baseURL = "https://dnslytics.com";
13
- this.name = "DNSlytics";
14
- this.type = "ip";
12
+ this.baseURL = "https://dnslytics.com"
13
+ this.name = "DNSlytics"
14
+ this.type = "ip"
15
15
  }
16
16
 
17
17
  public href(data: string): string {
18
- return this.baseURL + `/ip/${data}`;
18
+ return this.baseURL + `/ip/${data}`
19
19
  }
20
20
  }
21
21
 
22
22
  export class DNSlyticsForDomain extends BaseLink implements Link {
23
- public baseURL: string;
24
- public name: string;
25
- public type: LinkType;
23
+ public baseURL: string
24
+ public name: string
25
+ public type: LinkType
26
26
 
27
27
  public constructor() {
28
- super();
28
+ super()
29
29
 
30
- this.baseURL = "https://dnslytics.com";
31
- this.name = "DNSlytics";
32
- this.type = "domain";
30
+ this.baseURL = "https://dnslytics.com"
31
+ this.name = "DNSlytics"
32
+ this.type = "domain"
33
33
  }
34
34
 
35
35
  public href(data: string): string {
36
- return this.baseURL + `/domain/${data}`;
36
+ return this.baseURL + `/domain/${data}`
37
37
  }
38
38
  }
@@ -1,20 +1,20 @@
1
- import { BaseLink } from "@/links/base";
2
- import { Link, LinkType } from "@/types";
1
+ import { BaseLink } from "@/links/base"
2
+ import type { Link, LinkType } from "@/types"
3
3
 
4
4
  export class GreyNoise extends BaseLink implements Link {
5
- public baseURL: string;
6
- public name: string;
7
- public type: LinkType;
5
+ public baseURL: string
6
+ public name: string
7
+ public type: LinkType
8
8
 
9
9
  public constructor() {
10
- super();
10
+ super()
11
11
 
12
- this.baseURL = "https://www.greynoise.io";
13
- this.name = "GreyNoise";
14
- this.type = "ip";
12
+ this.baseURL = "https://www.greynoise.io"
13
+ this.name = "GreyNoise"
14
+ this.type = "ip"
15
15
  }
16
16
 
17
17
  public href(data: string): string {
18
- return this.baseURL + `/viz/query?gnql=ip:${data}`;
18
+ return this.baseURL + `/viz/query?gnql=ip:${data}`
19
19
  }
20
20
  }
@@ -1,21 +1,21 @@
1
- import { Link } from "@/types";
1
+ import type { Link } from "@/types"
2
2
 
3
- import { AnyRun } from "./anyrun";
4
- import { Censys } from "./censys";
5
- import { Crtsh } from "./crtsh";
6
- import { DNSlyticsForDomain, DNSlyticsForIP } from "./dnslytics";
7
- import { GreyNoise } from "./greynoise";
8
- import { Intezer } from "./intezer";
9
- import { OtxForDomain, OtxForIP } from "./otx";
10
- import { SecurityTrailsForDomain, SecurityTrailsForIP } from "./securitytrails";
11
- import { Shodan } from "./shodan";
12
- import { UrlscanForDomain, UrlscanForIP, UrlscanForURL } from "./urlscan";
3
+ import { AnyRun } from "./anyrun"
4
+ import { Censys } from "./censys"
5
+ import { Crtsh } from "./crtsh"
6
+ import { DNSlyticsForDomain, DNSlyticsForIP } from "./dnslytics"
7
+ import { GreyNoise } from "./greynoise"
8
+ import { Intezer } from "./intezer"
9
+ import { OtxForDomain, OtxForIP } from "./otx"
10
+ import { SecurityTrailsForDomain, SecurityTrailsForIP } from "./securitytrails"
11
+ import { Shodan } from "./shodan"
12
+ import { UrlscanForDomain, UrlscanForIP, UrlscanForURL } from "./urlscan"
13
13
  import {
14
14
  VirusTotalForDomain,
15
15
  VirusTotalForHash,
16
16
  VirusTotalForIP,
17
- VirusTotalForURL,
18
- } from "./virustotal";
17
+ VirusTotalForURL
18
+ } from "./virustotal"
19
19
 
20
20
  export const Links: Link[] = [
21
21
  new AnyRun(),
@@ -36,5 +36,5 @@ export const Links: Link[] = [
36
36
  new VirusTotalForDomain(),
37
37
  new VirusTotalForHash(),
38
38
  new VirusTotalForIP(),
39
- new VirusTotalForURL(),
40
- ];
39
+ new VirusTotalForURL()
40
+ ]
@@ -1,20 +1,20 @@
1
- import { BaseLink } from "@/links/base";
2
- import { Link, LinkType } from "@/types";
1
+ import { BaseLink } from "@/links/base"
2
+ import type { Link, LinkType } from "@/types"
3
3
 
4
4
  export class Intezer extends BaseLink implements Link {
5
- public baseURL: string;
6
- public name: string;
7
- public type: LinkType;
5
+ public baseURL: string
6
+ public name: string
7
+ public type: LinkType
8
8
 
9
9
  public constructor() {
10
- super();
10
+ super()
11
11
 
12
- this.baseURL = "https://analyze.intezer.com";
13
- this.name = "Intezer";
14
- this.type = "hash";
12
+ this.baseURL = "https://analyze.intezer.com"
13
+ this.name = "Intezer"
14
+ this.type = "hash"
15
15
  }
16
16
 
17
17
  public href(data: string): string {
18
- return this.baseURL + `/#/files/${data}`;
18
+ return this.baseURL + `/#/files/${data}`
19
19
  }
20
20
  }
@@ -1,33 +1,33 @@
1
- import { BaseLink } from "@/links/base";
2
- import { Link, LinkType } from "@/types";
1
+ import { BaseLink } from "@/links/base"
2
+ import type { Link, LinkType } from "@/types"
3
3
 
4
4
  export class OtxForIP extends BaseLink implements Link {
5
- public baseURL: string;
6
- public name: string;
7
- public type: LinkType;
5
+ public baseURL: string
6
+ public name: string
7
+ public type: LinkType
8
8
 
9
9
  public constructor() {
10
- super();
10
+ super()
11
11
 
12
- this.baseURL = "https://otx.alienvault.com";
13
- this.name = "OTX";
14
- this.type = "ip";
12
+ this.baseURL = "https://otx.alienvault.com"
13
+ this.name = "OTX"
14
+ this.type = "ip"
15
15
  }
16
16
 
17
17
  public href(data: string): string {
18
- return this.baseURL + `/indicator/ip/${data}`;
18
+ return this.baseURL + `/indicator/ip/${data}`
19
19
  }
20
20
  }
21
21
 
22
22
  export class OtxForDomain extends OtxForIP implements Link {
23
- public type: LinkType;
23
+ public type: LinkType
24
24
 
25
25
  public constructor() {
26
- super();
27
- this.type = "domain";
26
+ super()
27
+ this.type = "domain"
28
28
  }
29
29
 
30
30
  public href(data: string): string {
31
- return this.baseURL + `/indicator/domain/${data}`;
31
+ return this.baseURL + `/indicator/domain/${data}`
32
32
  }
33
33
  }
@@ -1,38 +1,38 @@
1
- import { BaseLink } from "@/links/base";
2
- import { Link, LinkType } from "@/types";
1
+ import { BaseLink } from "@/links/base"
2
+ import type { Link, LinkType } from "@/types"
3
3
 
4
4
  class SecurityTrails extends BaseLink {
5
- public baseURL: string;
6
- public name: string;
7
- public type: LinkType;
5
+ public baseURL: string
6
+ public name: string
7
+ public type: LinkType
8
8
 
9
9
  public constructor() {
10
- super();
10
+ super()
11
11
 
12
- this.baseURL = "https://securitytrails.com";
13
- this.name = "SecurityTrails";
14
- this.type = "domain";
12
+ this.baseURL = "https://securitytrails.com"
13
+ this.name = "SecurityTrails"
14
+ this.type = "domain"
15
15
  }
16
16
  }
17
17
 
18
18
  export class SecurityTrailsForDomain extends SecurityTrails implements Link {
19
19
  public constructor() {
20
- super();
21
- this.type = "domain";
20
+ super()
21
+ this.type = "domain"
22
22
  }
23
23
 
24
24
  public href(data: string): string {
25
- return this.baseURL + `/domain/${data}/dns`;
25
+ return this.baseURL + `/domain/${data}/dns`
26
26
  }
27
27
  }
28
28
 
29
29
  export class SecurityTrailsForIP extends SecurityTrails implements Link {
30
30
  public constructor() {
31
- super();
32
- this.type = "ip";
31
+ super()
32
+ this.type = "ip"
33
33
  }
34
34
 
35
35
  public href(data: string): string {
36
- return this.baseURL + `/list/ip/${data}`;
36
+ return this.baseURL + `/list/ip/${data}`
37
37
  }
38
38
  }
@@ -1,20 +1,20 @@
1
- import { BaseLink } from "@/links/base";
2
- import { Link, LinkType } from "@/types";
1
+ import { BaseLink } from "@/links/base"
2
+ import type { Link, LinkType } from "@/types"
3
3
 
4
4
  export class Shodan extends BaseLink implements Link {
5
- public baseURL: string;
6
- public name: string;
7
- public type: LinkType;
5
+ public baseURL: string
6
+ public name: string
7
+ public type: LinkType
8
8
 
9
9
  public constructor() {
10
- super();
10
+ super()
11
11
 
12
- this.baseURL = "https://www.shodan.io";
13
- this.name = "Shodan";
14
- this.type = "ip";
12
+ this.baseURL = "https://www.shodan.io"
13
+ this.name = "Shodan"
14
+ this.type = "ip"
15
15
  }
16
16
 
17
17
  public href(data: string): string {
18
- return this.baseURL + `/host/${data}`;
18
+ return this.baseURL + `/host/${data}`
19
19
  }
20
20
  }