mihari 6.1.0 → 6.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/lib/mihari/actor.rb +3 -5
  3. data/lib/mihari/analyzers/base.rb +7 -3
  4. data/lib/mihari/analyzers/circl.rb +1 -1
  5. data/lib/mihari/analyzers/dnstwister.rb +1 -1
  6. data/lib/mihari/analyzers/otx.rb +1 -1
  7. data/lib/mihari/analyzers/passivetotal.rb +1 -1
  8. data/lib/mihari/analyzers/pulsedive.rb +1 -1
  9. data/lib/mihari/analyzers/securitytrails.rb +1 -1
  10. data/lib/mihari/analyzers/virustotal.rb +1 -1
  11. data/lib/mihari/clients/google_public_dns.rb +31 -0
  12. data/lib/mihari/config.rb +5 -1
  13. data/lib/mihari/{type_checker.rb → data_type.rb} +32 -37
  14. data/lib/mihari/database.rb +1 -3
  15. data/lib/mihari/enrichers/google_public_dns.rb +4 -21
  16. data/lib/mihari/entities/artifact.rb +8 -0
  17. data/lib/mihari/models/alert.rb +4 -27
  18. data/lib/mihari/models/artifact.rb +65 -3
  19. data/lib/mihari/models/dns.rb +3 -8
  20. data/lib/mihari/models/rule.rb +2 -5
  21. data/lib/mihari/rule.rb +20 -7
  22. data/lib/mihari/schemas/options.rb +5 -1
  23. data/lib/mihari/structs/filters.rb +53 -9
  24. data/lib/mihari/structs/google_public_dns.rb +4 -8
  25. data/lib/mihari/version.rb +1 -1
  26. data/lib/mihari/web/endpoints/alerts.rb +2 -10
  27. data/lib/mihari/web/endpoints/artifacts.rb +64 -0
  28. data/lib/mihari/web/endpoints/exports.rb +0 -0
  29. data/lib/mihari/web/endpoints/rules.rb +1 -8
  30. data/lib/mihari/web/public/assets/index-81613_nX.js +1763 -0
  31. data/lib/mihari/web/public/assets/index-Wv6xUrTI.css +1 -0
  32. data/lib/mihari/web/public/index.html +2 -3
  33. data/lib/mihari/web/public/redoc-static.html +20 -16
  34. data/lib/mihari.rb +2 -1
  35. data/mihari.gemspec +8 -7
  36. data/requirements.txt +1 -1
  37. metadata +30 -56
  38. data/lib/mihari/web/public/assets/index-216d49d1.js +0 -1750
  39. data/lib/mihari/web/public/assets/index-4c8509ee.css +0 -1
  40. /data/lib/mihari/web/public/assets/{mode-yaml-24faa242.js → mode-yaml-BC4MIiYj.js} +0 -0
data/lib/mihari.rb CHANGED
@@ -148,7 +148,7 @@ require "mihari/actor"
148
148
 
149
149
  require "mihari/database"
150
150
  require "mihari/http"
151
- require "mihari/type_checker"
151
+ require "mihari/data_type"
152
152
  require "mihari/rule"
153
153
 
154
154
  # Enrichers
@@ -190,6 +190,7 @@ require "mihari/clients/circl"
190
190
  require "mihari/clients/crtsh"
191
191
  require "mihari/clients/dnstwister"
192
192
  require "mihari/clients/fofa"
193
+ require "mihari/clients/google_public_dns"
193
194
  require "mihari/clients/greynoise"
194
195
  require "mihari/clients/hunterhow"
195
196
  require "mihari/clients/misp"
data/mihari.gemspec CHANGED
@@ -38,7 +38,7 @@ Gem::Specification.new do |spec|
38
38
 
39
39
  spec.add_development_dependency "better_errors", "~> 2.10"
40
40
  spec.add_development_dependency "binding_of_caller", "~> 1.0"
41
- spec.add_development_dependency "bundler", "~> 2.4"
41
+ spec.add_development_dependency "bundler", "~> 2.5"
42
42
  spec.add_development_dependency "coveralls_reborn", "~> 0.28"
43
43
  spec.add_development_dependency "fakefs", "~> 2.5"
44
44
  spec.add_development_dependency "faker", "~> 3.2"
@@ -55,18 +55,19 @@ 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 "solargraph", "~> 0.49"
65
+ spec.add_development_dependency "ruby-lsp-rspec", "~> 0.1"
66
+ spec.add_development_dependency "solargraph", "~> 0.50"
66
67
  end
67
68
 
68
69
  spec.add_dependency "activerecord", "7.1.2"
69
- spec.add_dependency "addressable", "2.8.5"
70
+ spec.add_dependency "addressable", "~> 2.8"
70
71
  spec.add_dependency "anyway_config", "2.5.4"
71
72
  spec.add_dependency "awrence", "2.0.1"
72
73
  spec.add_dependency "dotenv", "2.8.1"
@@ -86,7 +87,7 @@ Gem::Specification.new do |spec|
86
87
  spec.add_dependency "launchy", "2.5.2"
87
88
  spec.add_dependency "memo_wise", "1.8.0"
88
89
  spec.add_dependency "normalize_country", "0.3.2"
89
- spec.add_dependency "parallel", "1.23.0"
90
+ spec.add_dependency "parallel", "1.24.0"
90
91
  spec.add_dependency "plissken", "2.0.1"
91
92
  spec.add_dependency "public_suffix", "5.0.4"
92
93
  spec.add_dependency "puma", "6.4.0"
@@ -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/requirements.txt CHANGED
@@ -1,2 +1,2 @@
1
1
  mkdocs==1.5.3
2
- mkdocs-material==9.4.10
2
+ mkdocs-material==9.5.1
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mihari
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.1.0
4
+ version: 6.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Manabu Niseki
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-11-25 00:00:00.000000000 Z
11
+ date: 2023-12-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: better_errors
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '2.4'
47
+ version: '2.5'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '2.4'
54
+ version: '2.5'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: coveralls_reborn
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -282,14 +282,14 @@ dependencies:
282
282
  requirements:
283
283
  - - "~>"
284
284
  - !ruby/object:Gem::Version
285
- version: '1.2'
285
+ version: '1.3'
286
286
  type: :development
287
287
  prerelease: false
288
288
  version_requirements: !ruby/object:Gem::Requirement
289
289
  requirements:
290
290
  - - "~>"
291
291
  - !ruby/object:Gem::Version
292
- version: '1.2'
292
+ version: '1.3'
293
293
  - !ruby/object:Gem::Dependency
294
294
  name: timecop
295
295
  requirement: !ruby/object:Gem::Requirement
@@ -332,34 +332,6 @@ dependencies:
332
332
  - - "~>"
333
333
  - !ruby/object:Gem::Version
334
334
  version: '3.19'
335
- - !ruby/object:Gem::Dependency
336
- name: lefthook
337
- requirement: !ruby/object:Gem::Requirement
338
- requirements:
339
- - - "~>"
340
- - !ruby/object:Gem::Version
341
- version: '1.5'
342
- type: :development
343
- prerelease: false
344
- version_requirements: !ruby/object:Gem::Requirement
345
- requirements:
346
- - - "~>"
347
- - !ruby/object:Gem::Version
348
- version: '1.5'
349
- - !ruby/object:Gem::Dependency
350
- name: solargraph
351
- requirement: !ruby/object:Gem::Requirement
352
- requirements:
353
- - - "~>"
354
- - !ruby/object:Gem::Version
355
- version: '0.49'
356
- type: :development
357
- prerelease: false
358
- version_requirements: !ruby/object:Gem::Requirement
359
- requirements:
360
- - - "~>"
361
- - !ruby/object:Gem::Version
362
- version: '0.49'
363
335
  - !ruby/object:Gem::Dependency
364
336
  name: activerecord
365
337
  requirement: !ruby/object:Gem::Requirement
@@ -378,16 +350,16 @@ dependencies:
378
350
  name: addressable
379
351
  requirement: !ruby/object:Gem::Requirement
380
352
  requirements:
381
- - - '='
353
+ - - "~>"
382
354
  - !ruby/object:Gem::Version
383
- version: 2.8.5
355
+ version: '2.8'
384
356
  type: :runtime
385
357
  prerelease: false
386
358
  version_requirements: !ruby/object:Gem::Requirement
387
359
  requirements:
388
- - - '='
360
+ - - "~>"
389
361
  - !ruby/object:Gem::Version
390
- version: 2.8.5
362
+ version: '2.8'
391
363
  - !ruby/object:Gem::Dependency
392
364
  name: anyway_config
393
365
  requirement: !ruby/object:Gem::Requirement
@@ -660,14 +632,14 @@ dependencies:
660
632
  requirements:
661
633
  - - '='
662
634
  - !ruby/object:Gem::Version
663
- version: 1.23.0
635
+ version: 1.24.0
664
636
  type: :runtime
665
637
  prerelease: false
666
638
  version_requirements: !ruby/object:Gem::Requirement
667
639
  requirements:
668
640
  - - '='
669
641
  - !ruby/object:Gem::Version
670
- version: 1.23.0
642
+ version: 1.24.0
671
643
  - !ruby/object:Gem::Dependency
672
644
  name: plissken
673
645
  requirement: !ruby/object:Gem::Requirement
@@ -770,16 +742,16 @@ dependencies:
770
742
  name: sentry-ruby
771
743
  requirement: !ruby/object:Gem::Requirement
772
744
  requirements:
773
- - - '='
745
+ - - "~>"
774
746
  - !ruby/object:Gem::Version
775
- version: 5.13.0
747
+ version: '5.14'
776
748
  type: :runtime
777
749
  prerelease: false
778
750
  version_requirements: !ruby/object:Gem::Requirement
779
751
  requirements:
780
- - - '='
752
+ - - "~>"
781
753
  - !ruby/object:Gem::Version
782
- version: 5.13.0
754
+ version: '5.14'
783
755
  - !ruby/object:Gem::Dependency
784
756
  name: slack-notifier
785
757
  requirement: !ruby/object:Gem::Requirement
@@ -798,16 +770,16 @@ dependencies:
798
770
  name: sqlite3
799
771
  requirement: !ruby/object:Gem::Requirement
800
772
  requirements:
801
- - - '='
773
+ - - "~>"
802
774
  - !ruby/object:Gem::Version
803
- version: 1.6.8
775
+ version: '1.6'
804
776
  type: :runtime
805
777
  prerelease: false
806
778
  version_requirements: !ruby/object:Gem::Requirement
807
779
  requirements:
808
- - - '='
780
+ - - "~>"
809
781
  - !ruby/object:Gem::Version
810
- version: 1.6.8
782
+ version: '1.6'
811
783
  - !ruby/object:Gem::Dependency
812
784
  name: thor
813
785
  requirement: !ruby/object:Gem::Requirement
@@ -878,7 +850,7 @@ dependencies:
878
850
  - - '='
879
851
  - !ruby/object:Gem::Version
880
852
  version: 2.0.0
881
- description:
853
+ description:
882
854
  email:
883
855
  - manabu.niseki@gmail.com
884
856
  executables:
@@ -934,6 +906,7 @@ files:
934
906
  - lib/mihari/clients/crtsh.rb
935
907
  - lib/mihari/clients/dnstwister.rb
936
908
  - lib/mihari/clients/fofa.rb
909
+ - lib/mihari/clients/google_public_dns.rb
937
910
  - lib/mihari/clients/greynoise.rb
938
911
  - lib/mihari/clients/hunterhow.rb
939
912
  - lib/mihari/clients/misp.rb
@@ -956,6 +929,7 @@ files:
956
929
  - lib/mihari/commands/web.rb
957
930
  - lib/mihari/config.rb
958
931
  - lib/mihari/constants.rb
932
+ - lib/mihari/data_type.rb
959
933
  - lib/mihari/database.rb
960
934
  - lib/mihari/emitters/base.rb
961
935
  - lib/mihari/emitters/database.rb
@@ -1030,7 +1004,6 @@ files:
1030
1004
  - lib/mihari/structs/shodan.rb
1031
1005
  - lib/mihari/structs/urlscan.rb
1032
1006
  - lib/mihari/structs/virustotal_intelligence.rb
1033
- - lib/mihari/type_checker.rb
1034
1007
  - lib/mihari/types.rb
1035
1008
  - lib/mihari/version.rb
1036
1009
  - lib/mihari/web/api.rb
@@ -1038,14 +1011,15 @@ files:
1038
1011
  - lib/mihari/web/endpoints/alerts.rb
1039
1012
  - lib/mihari/web/endpoints/artifacts.rb
1040
1013
  - lib/mihari/web/endpoints/configs.rb
1014
+ - lib/mihari/web/endpoints/exports.rb
1041
1015
  - lib/mihari/web/endpoints/ip_addresses.rb
1042
1016
  - lib/mihari/web/endpoints/rules.rb
1043
1017
  - lib/mihari/web/endpoints/tags.rb
1044
1018
  - lib/mihari/web/middleware/connection_adapter.rb
1045
1019
  - lib/mihari/web/middleware/error_notification_adapter.rb
1046
- - lib/mihari/web/public/assets/index-216d49d1.js
1047
- - lib/mihari/web/public/assets/index-4c8509ee.css
1048
- - lib/mihari/web/public/assets/mode-yaml-24faa242.js
1020
+ - lib/mihari/web/public/assets/index-81613_nX.js
1021
+ - lib/mihari/web/public/assets/index-Wv6xUrTI.css
1022
+ - lib/mihari/web/public/assets/mode-yaml-BC4MIiYj.js
1049
1023
  - lib/mihari/web/public/favicon.ico
1050
1024
  - lib/mihari/web/public/index.html
1051
1025
  - lib/mihari/web/public/redoc-static.html
@@ -1058,7 +1032,7 @@ licenses:
1058
1032
  - MIT
1059
1033
  metadata:
1060
1034
  rubygems_mfa_required: 'true'
1061
- post_install_message:
1035
+ post_install_message:
1062
1036
  rdoc_options: []
1063
1037
  require_paths:
1064
1038
  - lib
@@ -1074,7 +1048,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1074
1048
  version: '0'
1075
1049
  requirements: []
1076
1050
  rubygems_version: 3.4.10
1077
- signing_key:
1051
+ signing_key:
1078
1052
  specification_version: 4
1079
1053
  summary: A query aggregator for OSINT based threat hunting
1080
1054
  test_files: []