mihari 6.1.0 → 6.3.0

Sign up to get free protection for your applications and to get access to all the features.
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: []