chore(claude): security hardening — dangerous-commands hook, settings в git, restricted DB, throttle #2150

Merged
lekss361 merged 3 commits from chore/claude-security-hardening into main 2026-07-02 15:23:12 +00:00
Showing only changes of commit 0bbfd0e13e - Show all commits

View file

@ -48,12 +48,27 @@ PATTERNS: list[tuple[str, str]] = [
]
def strip_commit_messages(cmd: str) -> str:
"""Вырезает содержимое -m/--message аргументов git commit.
Иначе false-positive: `git commit -m "запретили rm -rf"` блокируется из-за
текста сообщения. Пейлоады обёрток (powershell -c "git push --force") не
страдают они не привязаны к -m.
"""
return re.sub(
r"(\s(?:-m|--message))\s+(\"(?:[^\"\\]|\\.)*\"|'[^']*')",
r"\1 MSG",
cmd,
)
def main() -> int:
try:
data = json.load(sys.stdin)
if data.get("tool_name") != "Bash":
return 0
cmd = (data.get("tool_input") or {}).get("command") or ""
cmd = strip_commit_messages(cmd)
for pattern, reason in PATTERNS:
if re.search(pattern, cmd):
print(