Dicklesworthstone/destructive_command_guard (viết tắt dcg) là một hook bảo mật, đứng chắn giữa AI coding agent và terminal của bạn, chặn các lệnh nguy hiểm trước khi chúng kịp thực thi. Repo ra đời đúng lúc ngày càng nhiều người để AI agent tự động chạy lệnh thay mình, gần 4.900 star và tăng rất nhanh trên GitHub.
Vấn đề mà công cụ này giải quyết
Khi để AI agent (Claude Code, Codex CLI, Cursor, Gemini CLI…) tự chạy lệnh, một cú sai sót nhỏ như git reset --hard hay rm -rf / có thể xóa sạch nhiều giờ làm việc chưa commit, hoặc phá hỏng dữ liệu database. dcg chặn các lệnh này lại và giải thích rõ lý do trước khi agent kịp thực thi.
Tính năng nổi bật
- Chặn lệnh git/filesystem nguy hiểm ngay lập tức, không cần cấu hình gì thêm
- Hơn 50 gói bảo mật theo module: database, Kubernetes, Docker, các nhà cung cấp cloud…
- Độ trễ cực thấp (dưới 1 mili-giây) nhờ so khớp mẫu tăng tốc bằng SIMD
- Phát hiện cả lệnh nguy hiểm giấu trong heredoc hay script nhúng (như
python -c "...") - Hỗ trợ nhiều agent: Claude Code, Codex CLI, GitHub Copilot, Gemini CLI, Cursor IDE…
- Hiển thị lý do từ chối rõ ràng kèm gợi ý cách làm an toàn hơn
- Lệnh
dcg scanđể quét cả những lệnh nguy hiểm đã lỡ commit vào code
Yêu cầu trước khi cài đặt
- Linux, macOS, hoặc Windows (qua WSL hoặc PowerShell gốc)
- Có curl (Linux/macOS) hoặc PowerShell (Windows)
Hướng dẫn cài đặt
Trên Linux/macOS/WSL:
curl -fsSL "https://raw.githubusercontent.com/Dicklesworthstone/destructive_command_guard/main/install.sh?$(date +%s)" | bash -s -- --easy-mode
Trên Windows (PowerShell):
& ([scriptblock]::Create((irm "https://raw.githubusercontent.com/Dicklesworthstone/destructive_command_guard/main/install.ps1"))) -EasyMode -Verify
Trình cài đặt sẽ tự động cấu hình hook cho các AI agent đang được hỗ trợ trên máy bạn.
Cấu hình thủ công cho Claude Code (nếu cần)
Thêm đoạn sau vào file ~/.claude/settings.json:
{
"hooks": {
"PreToolUse": [{
"matcher": "Bash",
"hooks": [{"type": "command", "command": "dcg"}]
}]
}
}
Muốn bật thêm các gói bảo mật riêng (ví dụ PostgreSQL, Docker, AWS), thêm vào file ~/.config/dcg/config.toml:
[packs]
enabled = [
"database.postgresql",
"containers.docker",
"cloud.aws"
]
Cách hoạt động khi có lệnh bị chặn
Khi AI agent thử chạy một lệnh nguy hiểm, bạn sẽ thấy thông báo tương tự:
$ git reset --hard HEAD~5
════════════════════════════════════════════════════════════════
BLOCKED dcg
────────────────────────────────────────────────────────────────
Reason: git reset --hard destroys uncommitted changes
Tip: Consider using 'git stash' first to save your changes.
════════════════════════════════════════════════════════════════
Bạn cũng có thể tự kiểm tra xem một lệnh có bị chặn không mà chưa cần chạy thật:
dcg test "git reset --hard"
Có nên cài không?
Nếu bạn thường xuyên để AI coding agent tự chạy lệnh (như Claude Code, Codex, Cursor…), đây là lớp bảo vệ gần như miễn phí — tốn chưa tới 1 mili-giây mỗi lệnh nhưng có thể cứu bạn khỏi mất hàng giờ công việc chưa lưu.
Để lại một bình luận