Dicklesworthstone/destructive_command_guard
A fast Rust safety hook that blocks destructive shell, git, and filesystem commands before AI coding agents run them. 50+ security packs (databases, Kubernetes, Docker, cloud, Terraform), heredoc/inline-script scanning, CI scan mode, and explain mode; works with Claude Code, Codex, Gemini, Copilot, Cursor, and more.
Destructive Command Guard (dcg)
무엇인가요
Destructive Command Guard (dcg) 는 AI 기반 코딩 어시스턴트(Claude, Codex, Gemini, GitHub Copilot, Cursor 등)와 셸 사이에 위치하는 고성능 후크입니다. 어시스턴트가 코드, 데이터 또는 인프라를 삭제하거나 손상시킬 수 있는 명령을 실행하려고 할 때, dcg는 해당 요청을 가로채어 방대한 안전 규칙 라이브러리(packs라고 함)를 기반으로 평가한 후, 명확한 설명과 함께 차단하거나 실행을 허용합니다.
왜 중요한가요
AI 코딩 에이전트는 코드 자동 작성 및 실행에 점점 더 많이 사용되고 있습니다. git reset --hard, rm -rf /, aws ec2 terminate-instances와 같은 잘못된 명령 하나만으로도 수 시간의 작업이 사라지거나 프로덕션 서비스가 중단될 수 있습니다. dcg는 이러한 에이전트에 대해 제로 구성 보호를 제공하여 파일 시스템, 버전 관리 시스템 또는 클라우드 공급자에 도달하기 전에 파괴적인 명령을 포착합니다.
핵심 기능 (README 설명 기준)
| 기능 | 내용 |
|---|---|
| 광범위한 에이전트 지원 | Claude Code, Codex CLI, Gemini CLI, GitHub Copilot CLI, VS Code Copilot Chat, Cursor, Hermes Agent, Posit Assistant, Grok (xAI), Oh My Pi 등을 지원합니다. |
| 모듈식 "팩" | 파일 시스템, Git, 데이터베이스, Docker, Kubernetes, AWS/GCP/Azure, Terraform 등을 다루는 50개 이상의 사전 작성된 규칙 팩. 팩은 에이전트별 또는 전역으로 활성화/비활성화할 수 있습니다. |
| 서브밀리초 지연 시간 | SIMD 가속 정규식 필터링을 통해 사용자가 가드 존재를 느끼지 못할 정도로 빠르게 작동합니다. |
| Heredoc / 인라인 스크립트 스캔 | python -c, 셸 스크립트 또는 heredoc 내부에 숨겨진 위험한 명령을 감지합니다. |
| 스마트 컨텍스트 감지 | 명령처럼 보이는 데이터(예: grep "rm -rf")와 실제 실행 가능한 명령을 구분합니다. |
| 풍부한 터미널 UI | stderr에 이유와 더 안전한 대안을 포함한 사람이 읽기 쉬운 거부 패널을 표시합니다. |
| 기계 판독 가능한 출력 | 후크 프로토콜을 기대하는 에이전트(예: Codex)를 위해 stdout에 JSON 거부 페이로드를 출력합니다. |
| 설명 모드 | dcg explain "<command>"를 통해 명령이 차단되는 이유를 보여줍니다. |
| CI / 프리커밋 스캔 | dcg를 스캔 모드로 실행하여 코드 리뷰 중에 위험한 명령을 포착할 수 있습니다. |
| 우회 및 허용 목록 | DCG_BYPASS=1을 통한 임시 우회, 일회성 허용 코드 또는 영구 허용 목록 항목을 지원합니다. |
| 에이전트별 프로필 | 에이전트마다 다른 신뢰 수준과 규칙 세트를 설정할 수 있습니다 (예: Claude는 관대하게, 알 수 없는 에이전트는 엄격하게). |
| 크로스 플랫폼 설치 프로그램 | Linux/macOS용 원라인 curl 설치 프로그램, Windows 네이티브용 PowerShell 설치 프로그램(서명 검증 옵션 포함)을 제공합니다. |
작동 방식 (개요)
- 설치 – 설치 프로그램이 바이너리(
dcg또는dcg.exe)를 배치하고 대상 AI 에이전트의 구성 디렉토리에 후크 파일을 등록합니다(예:~/.claude/settings.json). - 호출 – 에이전트가 명령을 실행하려고 할 때 후크를 호출합니다. 후크는 명령 문자열과 일부 메타데이터를 수신합니다.
- 평가 – dcg는 컴파일된 정규식을 사용하여 명령을 활성화된 팩과 대조합니다. 팩은 카테고리별로 그룹화되어 있습니다(예:
core.filesystem,database.postgresql). - 결정 – 규칙의 심각도(
critical,high,medium등)에 따라 결과는 다음과 같습니다:- deny – 명령을 차단하고 팁이 포함된 컬러 패널을 출력하며 에이전트에 JSON 거부 응답을 반환합니다.
- ask – 에이전트 프로토콜이 지원하는 경우 사람의 검토를 요청합니다.
- warn / log – 명령 실행을 허용하되 이벤트를 기록합니다.
- 출력 –
stderr에는 사람을 위한 메시지를,stdout에는 기계를 위한 JSON을 출력합니다. - 구성 – 사용자는
~/.config/dcg/config.toml을 편집하여 추가 팩 활성화, 정책 조정 또는 에이전트별 프로필 설정을 수행합니다.
권장 사용자
- 개발자: Claude, Copilot, Gemini 등 LLM 기반 코딩 어시스턴트를 사용하며 실수로 인한 파괴적인 명령으로부터 안전망을 원하는 분.
- 팀: AI 에이전트를 CI 파이프라인에 통합하는 경우; dcg를 프리커밋 후크로 실행하여 위험한 명령이 커밋되는 것을 방지할 수 있습니다.
- Ops / DevOps 엔지니어: AI 에이전트를 사용하여 클라우드 리소스, 컨테이너 또는 Kubernetes를 관리하며 실수로 인한
terraform destroy,kubectl delete,aws ec2 terminate-instances로부터 보호가 필요한 분.
시작하기 (README의 빠른 단계)
# 원라인 설치 (Linux/macOS/WSL)
curl -fsSL "https://raw.githubusercontent.com/Dicklesworthstone/destructive_command_guard/main/install.sh?$(date +%s)" | bash -s -- --easy-mode
설치 프로그램은 플랫폼을 감지하고, 가능하면 서명을 검증하며, dcg를 PATH에 추가하고, 자체 테스트를 실행하며, 지원되는 모든 에이전트에 대해 후크를 구성합니다.
설치 후 기본 구성으로 가장 치명적인 명령(core.filesystem, core.git, system.disk 및 Windows 전용 팩)은 이미 보호됩니다. 보호를 강화하려면 ~/.config/dcg/config.toml을 편집하세요:
[packs]
enabled = [
"database.postgresql",
"containers.docker",
"cloud.aws",
]
제한 사항 및 고려 사항 (README 기준)
- 핵심 팩(
core.filesystem,core.git)은 항상 평가됩니다. 비활성화할 수는 없지만 규칙별로 정책을 완화할 수는 있습니다. - 이 후크는 Claude 스타일 후크 프로토콜을 지원하는 에이전트에서만 작동합니다. 다른 에이전트의 경우 감지 전용 모드로 대체될 수 있습니다.
- 우회 메커니즘이 존재하지만 오용 시 위험이 다시 발생할 수 있으므로 신중하게 사용해야 합니다.
- 많은 팩을 추가하면 메모리 사용량이 증가할 수 있지만, SIMD 엔진 덕분에 지연 시간은 서브밀리초로 유지됩니다.
요약: dcg는 AI 코딩 어시스턴트가 발행하는 명령을 가로채어 포괄적인 규칙 세트와 대조하고, 돌이킬 수 없는 피해를 줄 수 있는 모든 작업을 차단하는 Rust 기반 안전 계층입니다. 사용자가 느끼지 못할 정도로 빠르게 작동합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트