module

Noir::CLI::RulesCommand

noir rules <list|update|path>

Managed resource: the passive-scan rules repository (cloned from owasp-noir/noir-passive-rules into ~/.config/noir/passive_rules/).

Constants

ACTIONS = Noir::CLI::Catalog::RULES_ACTIONS

Class methods

effective_rules_path

What noir scan -P actually reads rules from: the user-managed path when populated, otherwise the image-baked bundle at /opt/noir/passive_rules. list/path report this so they never claim "no rules" on a Docker install where passive scanning is fully working off the bundled ruleset.

Source
list_rules(io : IO = STDOUT)
Source
parse_argv(argv : Array(String)) : Parsed
Source
rules_path

The writable, user-managed rules directory: where noir rules update clones/pulls. Kept distinct from effective_rules_path (which may resolve to the read-only image-baked bundle) so update always targets a path it can actually write to.

Source
run(argv : Array(String))
Source
update_rules(debug : Bool = false, verbose : Bool = false)
Source

Nested types