Files
Open_Ultra_SAST/.env.example
T
Marius CiepluchandClaude Fable 5.1 c0b9e41000 feat(pair-corpus-honesty): function-scoped honest scorer with mechanisms and loss counters
Tasks 1.2, 2.1-2.5 and 6.2 (pair-side filters).

- pairs.py: coverage with a source counts as detection and as leak;
  function-scoped matching by line-range containment from the vulnerable
  side's parse (unresolvable labels are counted loss, never silent
  misses); exact or alias sink matching; weak CWE-only labels never match;
  side-by-side inventory/overlay/hunter scorers; per_profile,
  per_mechanism, achievable, known_limit and loss payload; loader rejects
  unknown mechanism/provenance/split and reserved or missing function
  labels on harvested slices; candidate rulesets thread through for the
  improve loop.
- overlay.py: OverlayRecord.function (additive) filled from the shared
  naming helper in one parse; benchmark.py: ExpectedFinding.mechanism.
- cli pairs: --slice over every slice, --profile, --split, --hunter,
  --hunter-model.
- catalogs migrated to the new schema (provenance, split, function,
  mechanism, known_limit for owasp-java-hash); baseline recorded in the
  spec notes.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
Claude-Session: https://claude.ai/code/session_01T7XD7x5KonMdmGRkp63EQG
2026-09-05 10:45:43 +02:00

13 lines
562 B
Bash

# Copy to .env and fill in. .env is gitignored.
OPENROUTER_API_KEY=
# Prove-budget and `ousast index` embeddings via OpenRouter /embeddings.
OPENROUTER_EMBEDDING_MODEL=openai/text-embedding-3-small
# Any OpenAI-compatible chat endpoint works for the hunter: set the key above to that
# provider's key and override the base URL. Example for DeepSeek:
# OPENROUTER_API_KEY=sk-deepseek-...
# OPENROUTER_BASE_URL=https://api.deepseek.com/v1
# Then set [models].hunter in openultrasast.toml (or --hunter-model) to that provider's model id.
OPENROUTER_BASE_URL=