destructive_command_guard

Một hook chạy trước mỗi lệnh shell của agent, chặn các lệnh xóa hoặc ghi đè như rm -rf, git reset --hard, git push --force, DROP TABLE trước khi chúng chạy.

Ưu, nhược và chỗ chưa rõ

destructive_command_guard: ưu, nhược và chỗ chưa rõ, mỗi dòng kèm nguồn
ƯuREADME ghi dcg chặn sẵn các lệnh git và xóa file nguy hiểm mà không cần cấu hình, và có hơn 50 gói luật cho database, Docker, Kubernetes, AWS, Terraform mà bạn bật thêm khi cần.README, TL;DR
ƯuBài so sánh của Daniel Vaughan (07/2026) nhận xét dcg chạy dưới 1 mili giây nên agent không bị chậm, và nó đọc được cả lệnh giấu trong heredoc như cat <<EOF | bash, chỗ mà các hook so chuỗi đơn giản bỏ sót.Daniel Vaughan, Codex Knowledge Base
ƯuREADME ghi mỗi bản phát hành đều có file SHA256, chữ ký minisign và gói cosign, nên bạn có thể tự kiểm binary rồi cài tay mà không cần chạy curl | bash.README, Manual install
NhượcGiấy phép có điều khoản riêng cấm OpenAI, Anthropic và người làm thay mặt họ dùng phần mềm. Công ty bạn làm dịch vụ cho hai bên này thì nên đọc kỹ file LICENSE trước khi cài.LICENSE
NhượcVẫn có báo chặn nhầm: ngày 15/10/2026 một người dùng báo lệnh python3 - <<'PY' trên Linux bị chặn bởi luật dành cho Windows. Tác giả sửa trên nhánh main ngày 20/10, sau bản v0.15.3 (08/10), nên bản v0.15.3 có thể vẫn còn lỗi này. Cùng tuần còn ít nhất ba issue chặn nhầm khác (#548, #561, #567).Issue #569
NhượcTháng 8/2026 Windows Defender trên Windows 11 cách ly dcg.exe vì nghi là trojan (cảnh báo dạng học máy). Tác giả hướng dẫn kiểm SHA256, Microsoft gỡ cảnh báo, và bản v0.12.1 thêm thông tin phiên bản vào file. Binary vẫn chưa có chữ ký Authenticode.Issue #303
NhượcREADME tự ghi giới hạn: dcg không đọc bên trong script khi agent chạy ./deploy.sh, không chặn việc agent ghi file trực tiếp bằng Python hay JavaScript, và không cản được người cố tình lách.README, Inherent Limitations
Chưa rõBài của Daniel Vaughan (07/2026) ghi dcg cho lệnh chạy qua khi phân tích bị quá giờ hoặc lỗi. README ở commit mình đọc (10/2026) ghi quá giờ nay chuyển thành hỏi lại hoặc chặn, còn JSON hook hỏng thì vẫn cho qua trừ khi bật fail_closed. Mình chỉ đọc, chưa chạy thử để biết bản v0.15.3 làm đúng như README hay không.README, Bounded Failure Policy
Chưa rõMỗi lần hook chạy, dcg tự ghi lại mục của nó vào settings.json nếu bị mất. README lại hướng dẫn gỡ dcg bằng cách xóa mục đó. Mình chưa thấy tài liệu nói hai việc này có đụng nhau không; muốn gỡ hẳn thì dùng dcg uninstall hoặc tắt self_heal_hook trước.src/config.rs

Khi nên dùng

  • Bạn cho agent chạy lệnh shell mà không duyệt từng lệnh, và repo có code chưa commit mà một lệnh git reset --hard hay rm -rf có thể xóa mất.

Khi không nên dùng

  • Bạn làm việc cho OpenAI, Anthropic hoặc thay mặt họ (giấy phép cấm), hoặc bạn cần chặn cả việc agent ghi file bằng Python và script bên trong ./deploy.sh: dcg không xem tới những chỗ đó.

Cách cài

Claude Code (macOS, Linux, WSL), bản phát hành đã ký, không chạy script cài
V=v0.15.3; T=x86_64-unknown-linux-musl; curl -fLO "https://github.com/Dicklesworthstone/destructive_command_guard/releases/download/$V/dcg-$T.tar.xz" && curl -fLO "https://github.com/Dicklesworthstone/destructive_command_guard/releases/download/$V/dcg-$T.tar.xz.minisig" && minisign -Vm "dcg-$T.tar.xz" -P RWSoYi6NXJWzaRs1mJmOwwXrZfPWcq6MXnQlNMLBYKzlIQTLwuVQG6uO && tar -xJf "dcg-$T.tar.xz" && install -m 0755 dcg ~/.local/bin/dcg && dcg install
Theo tài liệu của tác giả
Claude Code, Codex CLI (macOS, Linux, WSL), script cài của tác giả
curl -fsSL "https://raw.githubusercontent.com/Dicklesworthstone/destructive_command_guard/efbd488cfba91520e9959eccfd829b01461c31bb/install.sh" | bash -s -- --easy-mode --version v0.15.3
Theo tài liệu của tác giả
Claude Code, Codex CLI (Windows, PowerShell)
& ([scriptblock]::Create((irm "https://raw.githubusercontent.com/Dicklesworthstone/destructive_command_guard/efbd488cfba91520e9959eccfd829b01461c31bb/install.ps1"))) -EasyMode -Verify -Version v0.15.3
Theo tài liệu của tác giả

Nó chạm vào những gì

File đọc và ghi
Lệnh `dcg install` (và script cài) ghi một mục PreToolUse vào ~/.claude/settings.json (hoặc $CLAUDE_CONFIG_DIR/settings.json), ~/.codex/hooks.json và file hook của các agent khác nó tìm thấy trên máy. Mỗi lần hook chạy trong Claude Code, dcg kiểm tra lại settings.json và tự thêm lại mục của nó nếu bị mất (tắt bằng self_heal_hook = false hoặc DCG_NO_SELF_HEAL). Cấu hình ở ~/.config/dcg/config.toml. Lịch sử lệnh (SQLite) chỉ ghi khi bạn bật [history] enabled = true. File cache ~/.cache/dcg/version_check.json.
Gọi mạng
Hook không gọi mạng. Khi bạn tự gõ lệnh dcg trong terminal, nó hỏi GitHub Releases API (repo Dicklesworthstone/destructive_command_guard) tối đa một lần mỗi 24 giờ để báo có bản mới; tắt bằng check_updates = false hoặc DCG_NO_UPDATE_CHECK=1. Script cài tải binary từ github.com/releases và có thể tải rustup nếu phải build từ mã nguồn.
Script lúc cài
install.sh / install.ps1 tải binary, kiểm SHA256 (bắt buộc), minisign và cosign (nếu có trên máy), thêm vào PATH, ghi hook cho mọi agent tìm thấy, và xóa bản Python cũ git_safety_guard.py nếu có.
Tiến trình
Mỗi lệnh Bash, PowerShell hoặc Monitor của Claude Code chạy qua binary dcg trước. Có thêm chế độ dcg mcp-server, chỉ chạy khi bạn tự cấu hình.

Đọc từ: config.rs#L1953-L1961, cli.rs#L2459-L2489, update.rs#L543-L557, update.rs#L955-L970, README.md#command-history, install.sh

Mục này chạy mã trên máy bạn với quyền của tài khoản bạn. Theo tài liệu Claude Code, hook và MCP server chạy ngoài sandbox. Đọc phần trên và file của tác giả trước khi cài. Tài liệu bảo mật plugin

Bảo mật

Cả nhóm →

Bộ 46 plugin của công ty bảo mật Trail of Bits để agent đọc code tìm lỗ hổng, viết luật Semgrep và CodeQL, soát dependency và review thay đổi trước khi merge.

của Trail of Bits · Creative Commons Attribution-ShareAlike 4.0 International (CC-BY-SA-4.0)trailofbits/skills · ★ 7,9K · đọc 29/10/2026

Bảo mậtĐã đọc mã và tổng hợp ·

Công cụ dòng lệnh quét repo git, thư mục hoặc dữ liệu đưa vào stdin để tìm mật khẩu, API key và token bị lộ, chạy được như hook pre-commit để chặn commit có key.

của Zachary Rice · MIT Licensegitleaks/gitleaks · ★ 30,5K · đọc 29/10/2026

Bảo mậtĐã đọc mã và tổng hợp ·