서브밀리초로 파괴적 명령을 차단하는 dcg 보호 레이어
dcg는 AI 코딩 에이전트가 실행하려는 git·파일시스템·DB 파괴 명령을 훅에서 가로채어 차단하고 안전한 대안을 제안한다.
TL;DR
dcg는 AI 코딩 에이전트가 실행하려는 치명적 명령을 에이전트 훅 단계에서 가로채 패턴 기반과 AST 기반 검사를 결합해 차단하는 도구이다. 기본적으로 핵심 파일시스템·git·디스크 관련 팩을 활성화하고 50개 이상의 도메인별 팩을 선택적으로 켤 수 있으며 허어독 추출·AST 매칭의 세 단계 파이프라인은 Tier 1 정규식(<100μs) → 추출(<1ms) → AST 매칭(<5ms)으로 동작한다. SIMD-가속 필터와 페일-오픈 기본 철학, 절대 타임아웃 200ms를 통해 정상 워크플로 단절 없이 높은 보안 커버리지를 제공하며 Codex CLI, Claude Code, GitHub Copilot CLI 등 주요 에이전트와의 호환을 통해 에이전트가 생성한 실행형 스크립트로부터 코드와 인프라를 보호한다.
주요 기능
- 가로챈다. dcg는 에이전트 훅에서 들어오는 명령을 즉시 가로채고 문자·구조 기반 규칙으로 위험도를 판정해 실행 전에 종료한다. 차단 시에는 인간 판독용 경고와 기계 판독용 JSON 출력을 분리해 콘솔 파이프라인을 손상시키지 않는다.
- 스캔한다. dcg는 허어독과 인라인 스크립트를 추출해 언어별 AST 매칭까지 수행하며 재귀적 셸 분석을 통해 중첩된 위험을 식별한다. 추출 단계는 바이트·라인·허어독 개수·타임아웃으로 한정되어 대형 입력에서의 비용 폭주를 방지한다.
- 모듈화한다. dcg는 도메인별 팩 시스템으로 데이터베이스·컨테이너·클라우드·윈도우 고유 위험을 모듈화해 필요에 따라 활성화하거나 비활성화할 수 있다. 기본 설치는 핵심 팩만 켜는 최소권한 원칙을 따르며 조직별 커스텀 팩을 로드할 수 있다.
- 저지연으로 동작한다. SIMD-가속 필터와 Lazy-compiled 정규식으로 Tier 1 트리거 검사는 서브-밀리초 수준의 지연을 유지하며 전체 훅 처리의 절대 타임아웃은 200ms로 설정되어 있다. 타임아웃·파싱 오류 상황에서는 기본적으로 페일-오픈 동작으로 워크플로 중단을 회피한다.
어떻게 동작하는가
dcg는 에이전트 훅에서 들어오는 명령을 세 단계 파이프라인으로 처리해 빠른 트리거(RegexSet, <100μs) → 본문 추출(<1ms) → 언어별 AST 패턴 매칭(<5ms) 순으로 위험을 판단한다. 각 단계는 구성을 통해 바이트·라인·타임아웃 한계를 갖고 재귀적 셸 분석을 수행해 허어독 내부의 또 다른 셸 호출까지 재평가한다. 모듈식 팩 시스템은 도메인별 패턴을 제공해 필요한 영역만 활성화하고, 페일-오픈과 경량 페일백 패턴으로 정상 워크플로 중단을 최소화한다.
해결 문제
AI 코딩 에이전트가 자동으로 실행하는 치명적 명령이 즉시 수 시간의 작업을 삭제하거나 인프라를 파괴하는 문제를 해결한다. dcg는 훅 단계에서 명령을 선제적으로 검사해 `git reset --hard`, `rm -rf`, `DROP TABLE` 같은 명령이 실행되기 전에 차단한다. 이로써 에이전트가 생성한 스크립트나 터미널 명령으로부터 미확인 데이터 손실과 서비스 중단을 방지한다.
지금 주목받는 이유
레포는 2175개의 스타를 보유하고 있으며 광범위한 AI 코딩 에이전트 호환성과 설치 편의성으로 주목을 받는다. 에이전트 기반 자동화가 보편화되는 환경에서 에이전트가 생성하는 실행형 명령을 사전 차단하는 솔루션 수요가 증가하고 있다. 또한 사전 빌드된 바이너리와 쉬운 설치 스크립트가 도입 장벽을 낮추었다.
차별점
- 에이전트 통합 지원 범위가 넓다. dcg는 Claude Code, Codex CLI 0.125.0+, Gemini CLI, GitHub Copilot CLI, VS Code Copilot Chat, Cursor, Hermes, Grok 등 다양한 에이전트 훅 표준과 호환되도록 설치 스크립트와 출력 계약을 조정한다. 에이전트별 고유 입력·출력 형식을 감지해 해당 계약에 맞춘 JSON 거부 출력을 생성한다.
- 성능 중심 설계가 적용되었다. SIMD-가속 필터와 Lazy-compiled 정규식으로 트리거 단계의 비용을 최소화하고 Tier 1에서 무해한 입력의 상당 부분을 빠르게 허용해 전체 훅 레이턴시를 서브-밀리초로 유지한다. 절대 타임아웃 200ms와 페일-오픈 기본 동작으로 정상 워크플로 중단 위험을 낮춘다.
- 정밀한 코드 수준 검사 체계가 내장되어 있다. 허어독 추출 후 언어별 AST 매칭과 재귀적 셸 분석을 통해 `subprocess.run(..., shell=True)` 같은 문맥 기반 위험까지 검출할 수 있으며, 필요 시 AST 기반 패턴과 구조적 규칙으로 정밀 차단을 수행한다. 이 접근은 단순 문자열 패턴만으로는 감지하기 어려운 악성 인라인 스크립트를 포착한다.
- 모듈형 팩과 사용자 정의 팩을 지원한다. 기본 설치는 핵심 위험 팩만 활성화하되, 사용자는 50개 이상의 보안 팩에서 필요한 항목만 활성화하거나 조직 전용 YAML 팩을 추가해 내부 도구와 정책에 맞춘 규칙을 배포할 수 있다. 이로써 과잉 차단을 피하면서 특정 도메인 위험에 대한 맞춤형 방어를 제공한다.
사용 사례
- 로컬 개발 환경에서 AI 코드 생성 도구가 실수로 파괴적 셸 명령을 실행하는 것을 방지하는 데 사용된다. 에이전트가 터미널 명령을 실행하기 전에 훅에서 차단해 수시간의 코드 손실을 예방한다.
- CI와 코드리뷰 파이프라인에서 `dcg scan` 모드를 통해 PR에 포함된 인라인 스크립트나 허어독 안의 위험한 명령을 사전 검출해 배포 전 위험을 줄이는 용도로 활용된다. SARIF 출력으로 보안 도구와 통합이 가능하다.
- 클라우드·인프라 작업에서 클라우드 CLI나 IaC 커맨드가 실수로 리소스를 삭제하는 것을 방지하기 위해 관련 클라우드 팩(`cloud.aws`, `cloud.gcp`, `infrastructure.terraform` 등)을 활성화해 운영상의 사고를 완화한다.
- Windows 네이티브 환경에서 PowerShell과 cmd의 파괴적 명령을 기본으로 차단해 볼륨 섀도우 삭제, 포맷, 재귀 삭제 등 치명적 시스템 작업을 예방하는 데 사용된다.
시작하기
가장 빠른 시작은 제공된 설치 스크립트를 실행하는 것이다: curl -fsSL "https://raw.githubusercontent.com/Dicklesworthstone/destructive_command_guard/main/install.sh?$(date +%s)" | bash -s -- --easy-mode을 터미널에서 실행하면 플랫폼에 맞는 바이너리를 내려받아 기본 훅을 구성한다. Windows 네이티브의 경우 PowerShell 설치 명령을 사용해 dcg.exe를 설치하고 SHA256 및 가능한 cosign 서명을 검증할 수 있다. 설치 후 dcg setup을 실행해 셸 시작 시 훅이 제거되었는지 감지하는 보조 검사를 등록하는 것을 권장한다.
요구사항
- 지원 플랫폼은 Linux, macOS, Windows(WSL 포함)이며 설치 스크립트는 플랫폼 자동 감지를 수행한다.
- Codex CLI 통합의 경우 Codex CLI 0.125.0 이상이 필요하며 PATH 또는 ~/.codex 디렉터리 감지를 통해 자동 구성된다.
- 서명 검증을 위해 cosign이 있으면 Sigstore 서명 검증이 수행되며 없을 경우 SHA256 체크섬으로 검증한다.
- 바이너리 대신 소스에서 빌드하려면 Rust 빌드 체인(예: cargo)이 필요할 수 있다.
5k
Stars
188
Forks
+211
Trending
2
조회수
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.