minie135/moon-audit/src does not have a README file
pub(all) struct FileStat {
file : String
finding_count : Int
error_count : Int
warning_count : Int
}pub(all) struct Finding {
rule_id : RuleId
severity : Severity
confidence : Confidence
message : String
file : String
line : Int
column : Int
end_line : Int
end_column : Int
snippet : String
fingerprint : String
} derive(Debug)pub(all) struct ImportContext {
has_cmark : Bool
has_rabbita : Bool
has_mocket : Bool
has_crescent : Bool
has_liquid : Bool
has_pug : Bool
is_stdlib : Bool
}pub(all) struct LLMAnalysisRequest {
finding : Finding
source_context : String
import_context : ImportContext
prompt : String
system_prompt : String
}pub(all) struct LLMConfig {
base_url : String
model : String
api_key : String
}pub(all) struct Remediation {
rule_id : String
title : String
risk_summary : String
fix_description : String
code_before : String
code_after : String
references : Array[String]
owasp_category : String
}pub(all) struct TaintFlow {
source : TaintSource
sink : TaintSink
source_location : Location
sink_location : Location
path : Array[String]
}pub(all) enum TaintSink {
HtmlOutput
SqlQuery
FilePathConcat
HeaderValue
CookieValue
ShellCommand
ExternJsEval
RedirectUrl
}pub(all) enum TaintSource {
RouteParam(String)
QueryParam(String)
RequestBody
RequestHeader(String)
WebSocketMessage
FileUpload
FormField(String)
}pub(all) struct TaintState {
tainted_vars : Map[String, TaintedVar]
flows : Array[TaintFlow]
current_file : String
}fn TaintState::add_tainted_var(self : TaintState, name : String, source : TaintSource, line : Int) -> Unitfn TaintState::record_flow(self : TaintState, source : TaintSource, sink : TaintSink, source_line : Int, source_col : Int, sink_line : Int, sink_col : Int, path : Array[String]) -> Unitfn filter_by_llm_results(results : Array[LLMAnalysisResult], min_confidence : Double) -> Array[LLMAnalysisResult]fn generate_analysis_prompt(finding : Finding, source : String, imports : ImportContext) -> LLMAnalysisRequestfn generate_batch_prompts(findings : Array[Finding], sources : Map[String, String], imports : ImportContext) -> Array[LLMAnalysisRequest]fn run_cross_func_taint(impls : List[Impl], file : String, source : String, findings : Array[Finding], ctx : InterProceduralContext, _imports : ImportContext) -> Unitfn run_taint_analysis(impls : List[Impl], file : String, _source : String, _imports : ImportContext) -> TaintState