Files
gatekeep/docs/security-checklist.md
T
layue13 05f8fad38a
Gatekeep evals / eval-floor (push) Successful in 8s
Dogfood: run Gatekeep on this repo's PRs
Add .github/workflows/gatekeep-pr.yml with uses: ./ and
OPENROUTER_API_KEY from secrets. Forge-agnostic API helper for Gitea.
2026-10-26 20:40:51 +00:00

24 lines
1.2 KiB
Markdown

# 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**.