giacomozanatta/FastAPI Routing Check

Statically detect silent routing defects in FastAPI applications (duplicate-include, route shadowing, conditional registration) via lisa-network abstract interpretation.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stale
License
None
namedescriptionrequireddefault
main-filePath (relative to the repo root) of the FastAPI entrypoint, e.g. app/main.py.yes
project-dirProject root passed to the analyzer (used as import-resolution base). Defaults to the workspace root.no.
output-dirDirectory where final-network.{txt,html,pdf} and report.json are written.nolisa-network-out
fail-on-findingFail the job when the routing checker reports one or more findings.notrue
severity-thresholdOnly fail on findings at or above this severity (high | medium). With "high", medium-severity findings are surfaced as annotations but do not fail the job.nohigh
familiesComma-separated list of finding families to surface. Findings in any other family are dropped before counts, annotations, comment, and the gate. Default reports all five; set e.g. "duplicate-include,wrong-handler" to suppress the rest. Valid values: duplicate-include, wrong-handler, dead-handler, duplicate-registration, conditional-registration. Use "all" or leave empty to include every family.noall
jvm-heapMax JVM heap for the analyzer (passed as -Xmx). Default 4g matches the per-run budget used in the empirical study.no4g
annotationsEmit ::warning file=,line=:: workflow commands so findings appear as inline annotations on the Files Changed tab of the PR. Capped by GitHub at 10 per severity per run.notrue
comment-on-prPost (or update) a sticky comment on the PR with a markdown table linking each finding to file:line on the analysed commit. Requires GITHUB_TOKEN with pull-requests:write.notrue
namedescription
endpoints-countNumber of HTTP endpoints recovered by the analyzer.
findings-countTotal number of routing-checker findings emitted.
high-severity-countNumber of high-severity routing-checker findings (wrong-handler, duplicate-include).
report-pathPath to the report.json file containing all findings.