u2i/Laocoön — Supply Chain Guard

Diffs changed dependency lockfiles (Hex/npm/PyPI) against a soaked baseline and uses an LLM to flag freshly-injected supply chain trojans.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stale
License
None
namedescriptionrequireddefault
gemini-api-keyGoogle Gemini API key (for google: models). Maps to GEMINI_API_KEY.no""
anthropic-api-keyAnthropic API key (for anthropic: models). Maps to ANTHROPIC_API_KEY.no""
openai-api-keyOpenAI API key (for openai: models). Maps to OPENAI_API_KEY.no""
llm-api-keyAPI key for an OpenAI-compatible endpoint (compatible: models). Maps to LLM_API_KEY.no""
llm-base-urlBase URL for an OpenAI-compatible endpoint (OpenRouter/Together/Groq/Gateway/Ollama). Required for compatible: models.no""
github-tokenGitHub token used to read the PR diff and post a comment.no${{ github.token }}
triage-modelCheap model run on every PR, as 'provider:model'. Bare model defaults to google:.nogoogle:gemini-3.1-flash-lite
deep-modelStronger model used only on escalation, as 'provider:model'.nogoogle:gemini-3.5-flash
soak-daysA release older than this many days is treated as a presumed-clean 'soaked' baseline to diff against.no60
ecosystemsComma-separated ecosystem ids to analyze (e.g. 'hex,npm,pypi'). Empty = auto-detect all.no""
lockfileRestrict analysis to a single lockfile path (overrides auto-detection).no""
base-refGit ref to diff against (the 'before' state). Defaults to the PR base.no""
fail-onMinimum risk that fails the check: critical | high | medium | low | none.nohigh
commentWhether to post / update a PR comment with the findings.notrue
max-diff-bytesOverall byte cap on the artifact diff sent to the LLM per ecosystem.no60000
namedescription
risk-levelHighest risk level found (none|low|medium|high|critical, or 'skipped').
findings-jsonStructured findings as a JSON string.