security: enforce changelog and secret guard

This commit is contained in:
2026-07-27 01:22:30 +03:00
parent cab673238a
commit 050f52478d
2 changed files with 21 additions and 0 deletions
+19
View File
@@ -0,0 +1,19 @@
#!/bin/sh
# Red Valley: every commit needs a changelog and must not add obvious secrets.
if git diff --cached --quiet; then
exit 0
fi
if git diff --cached --quiet -- CHANGELOG.md; then
echo "Commit blocat: actualizeaza si adauga CHANGELOG.md la fiecare commit." >&2
exit 1
fi
if git diff --cached --unified=0 -- . ':(exclude)CHANGELOG.md' |
grep -E '^\+[^+].*(rcon_password|sv_licenseKey|mysql_connection_string|webhook_url|discord_webhook|api[_-]?key|access[_-]?token)([[:space:]]*[:=][[:space:]]*|[[:space:]]+)[^[:space:]"]+' >/dev/null; then
echo "Commit blocat: posibil secret detectat in staged diff." >&2
exit 1
fi
exit 0
+2
View File
@@ -40,3 +40,5 @@ secretele nu fac parte din commituri.
`*.backup-*` / `*.bak-INC*` sunt ignorate explicit. `*.backup-*` / `*.bak-INC*` sunt ignorate explicit.
- Logurile consolei urmărite anterior sunt scoase numai din indexul Git; rămân - Logurile consolei urmărite anterior sunt scoase numai din indexul Git; rămân
intacte pe discul DEV pentru diagnostic. intacte pe discul DEV pentru diagnostic.
- Hook-ul local `pre-commit` cere o intrare în `CHANGELOG.md` la fiecare commit
și blochează tipare evidente de credentiale adăugate accidental.