Gatekeep evals / eval-floor (push) Successful in 8s
Add .github/workflows/gatekeep-pr.yml with uses: ./ and OPENROUTER_API_KEY from secrets. Forge-agnostic API helper for Gitea.
1.2 KiB
1.2 KiB
Gatekeep security seed checklist
Used in model prompts and the deterministic scanner (action/scripts/security-scan.sh).
| Item | Deterministic scan | Model review |
|---|---|---|
| Hardcoded secrets/tokens | Added-line regex | Yes |
| Prompt injection via repo files | Instruction-override phrases in diff | Yes |
| Auth bypass | Path globs (**/auth/**) floor high |
Yes |
| Unauthorized API access | — | Yes |
| Billing logic bypass | Path globs (**/billing/**, **/payment/**) |
Yes |
| CI workflow tampering | .github/workflows/** → high + scan hit |
Yes |
| Unsafe deserialization | pickle/yaml.load/unserialize patterns | Yes |
| SQL/command injection | Concat / shell=True patterns |
Yes |
Blocking policy (default)
policy.json → security_agreement: require_agreement_unless_scan_hard_fail
- Inline + block: security / Critical findings where ≥2 models agree, or any deterministic scan hard-fail.
- Summary only: lone-model security flags (disputed) — do not inline; humans can still escalate.
- Scan hard-fail always floors PR tier to high and fails check
gatekeep / security. - Every finding (including security) still shows severity + where + why it matters.