sroscuroblck/ConstraintGuard

Constraint-aware security prioritization for embedded C/C++ projects

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stale
License
None
namedescriptionrequireddefault
modeOperation mode: 'score' (parse existing SARIF) or 'run' (execute scan-build + score)noscore
sarif-pathPath(s) to SARIF file(s), space-separated. Required when mode=score.no""
config-pathPath to .constraintguard.ymlyes
linker-scriptPath to linker script (.ld) for memory constraint extractionno""
source-pathPath to source directory. Required when mode=run.no.
build-cmdBuild command (e.g. 'make'). Required when mode=run.no""
fail-onFail the step if any finding reaches this tier or above (critical, high, medium, low). Leave empty to never fail.no""
top-kNumber of top findings to show in the PR comment (default: 5)no5
comment-on-prPost a summary comment on the PR (true/false)notrue
python-versionPython version to useno3.12
analysis-modeAnalysis mode: 'expert' (default), 'llm', or 'hybrid'noexpert
llm-topkNumber of top findings to analyze with LLM (default: 10)no10
llm-changed-filesLimit LLM analysis to files changed in PR (true/false)nofalse
llm-providerLLM provider: 'openai' or 'anthropic'. Required when analysis-mode is 'llm' or 'hybrid'.no""
llm-modelLLM model name (e.g. 'gpt-4o-mini', 'claude-sonnet-4-20250514'). Required when analysis-mode is 'llm' or 'hybrid'.no""
llm-api-keyAPI key for the chosen LLM provider. Required when analysis-mode is 'llm' or 'hybrid'.no""
llm-max-retriesMax retries for failed LLM requests (default: 1)no1
llm-effortReasoning effort for supported models: 'low', 'medium', or 'high' (default: low)nolow
namedescription
report-jsonPath to the generated JSON report
report-mdPath to the generated Markdown report
exit-codeExit code from constraintguard (0=pass, 2=threshold exceeded)
total-findingsTotal number of findings
critical-countNumber of CRITICAL findings
high-countNumber of HIGH findings