chore(claude): security hardening — dangerous-commands hook, settings в git, restricted DB, throttle #2150
No reviewers
Labels
No labels
admin
analytics
auth
automation
bug
business
chore
ci
compliance
data
data-moat
docs
duplicate
dx
enhancement
Fable 5 ревью
feedback/max
generative
GG-форсайт
needs-discussion
needs-human
observability
pause-bots
performance
priority/p0
priority/p1
priority/p2
priority/p3
scope/backend
scope/db
scope/devops
scope/frontend
scope/qa
scrapers
security
site-finder
stage/1
stage/2
status/blocked
status/done
status/needs-analysis
status/needs-fix
status/qa
status/ready
status/review
status/wip
tech-debt
tradein
ux
week ревью 1
wontfix
вторичка
ИРД
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: lekss361/gendesign#2150
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "chore/claude-security-hardening"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Реализация 4 из 6 security-пунктов аудита 2026-07-02, явно одобренных user'ом (пункты 1 и 5 — токен-ротация и defaultMode — локальные, вне git):
check-dangerous-commands.py— regex-скан всей строки команды: ловит--force/--amend/--no-verify/rebase -i/reset --hard/rm -rf/Remove-Item -Recurse -Force/docker volume rm/прямой push в main — включая пейлоады внутриpowershell -c "...", которые deny-префиксы не матчат. Анти-FP: содержимое-m "..."вырезается перед матчингом. Протестирован матрицей 35/35 (block/allow/false-positive кейсы)..claude/settings.jsonснят с .gitignore и закоммичен (секретов нет — перепроверено review'ером построчно): бот-окна и чистые checkout теперь получают hooks/deny/statusLine вместо их молчаливого отсутствия.statusline.pyтакже добавлен (был untracked).settings.local.jsonи.mcp.jsonостаются в ignore.Read(**/.env),Read(**/.env.*)— закрывает tradein-mvp и копии в_wt-*worktree'ах.--access-mode=restricted— декларируемый read-only теперь enforced.defaultMode: autoперенесён на project-уровень (глобально снят — balance_platform вернулся к обычным промптам).Pre-push review: ✅ APPROVE (эмпирическая проверка: 0 секретов в diff, regex ReDoS-safe 0.039s на патологическом входе, JSON валиден, замечания по
git -C/main-hotfixисправлены follow-up коммитами).Test plan
git -C, false-positive на commit-message).claude/settings.jsonиз checkoutMerge одобрен user'ом в сессии («лучший вариант по пунктам выбери и сделай» + подтверждение «да» на план push → PR → merge при зелёном CI).