Experimental MoonBit structural search and taint-analysis tool
moongrep scan --pattern 'match $(value:exp) { Some($(some:id)) => $(some_body:exp); None => $(none_body:exp) }'$(name:kind)match $(value:exp) {
Some($(some:id)) => $(some_body:exp)
None => $(none_body:exp)
}match load_user() {
Some(user) => display(user)
None => show_error()
}value = load_user()
some = user
some_body = display(user)
none_body = show_error()$(value:exp) == $(value:exp)user.name == user.nameuser.name == other.namemoongrep scan --pattern 'inspect($_, content="true")' --output-jsonmoongrep scan --pattern 'inspect($_, content=$(str:const))' --guard '{$str: "^-?(0|[1-9][0-9]*)(\\\\.[0-9]+)?$"}'--pattern '...$(name:id)...$(value:const)...' \
--guard '{$name: "regular expression", $value: "regular expression"}'moongrep scan --pattern '$(callee:id)($(value:const))' --guard '{$callee: "^@html\\.render$", $value: "^(danger|raw)$"}'moon runwasm moonbit-community/moongrep -- dump --impl 'fn answer { 42 }'
moon runwasm moonbit-community/moongrep -- dump --expr 'x + 1'moon runwasm moonbit-community/moongrep -- dump (--impl <impl> | --expr <expr>)moon runwasm moonbit-community/moongrep -- docs --list
moon runwasm moonbit-community/moongrep -- docs RuleSpecInstall
Download zipExperimental MoonBit structural search and taint-analysis tool