lib/mihari/schemas/rule.rb in mihari-3.10.1 vs lib/mihari/schemas/rule.rb in mihari-3.11.0
- old
+ new
@@ -5,36 +5,44 @@
require "mihari/schemas/macros"
module Mihari
module Schemas
+ AnalyzerOptions = Dry::Schema.Params do
+ optional(:interval).value(:integer)
+ end
+
Analyzer = Dry::Schema.Params do
required(:analyzer).value(Types::AnalyzerTypes)
required(:query).value(:string)
+ optional(:options).hash(AnalyzerOptions)
end
Spyse = Dry::Schema.Params do
required(:analyzer).value(Types::String.enum("spyse"))
required(:query).value(:string)
required(:type).value(Types::String.enum("ip", "domain"))
+ optional(:options).hash(AnalyzerOptions)
end
ZoomEye = Dry::Schema.Params do
required(:analyzer).value(Types::String.enum("zoomeye"))
required(:query).value(:string)
required(:type).value(Types::String.enum("host", "web"))
+ optional(:options).hash(AnalyzerOptions)
end
Crtsh = Dry::Schema.Params do
required(:analyzer).value(Types::String.enum("crtsh"))
required(:query).value(:string)
optional(:exclude_expired).value(:bool).default(true)
+ optional(:options).hash(AnalyzerOptions)
end
Urlscan = Dry::Schema.Params do
required(:analyzer).value(Types::String.enum("urlscan"))
required(:query).value(:string)
- optional(:use_similarity).value(:bool).default(true)
+ optional(:options).hash(AnalyzerOptions)
end
Rule = Dry::Schema.Params do
required(:title).value(:string)
required(:description).value(:string)