본문으로 건너뛰기
r/ClaudeAI조회 1

Claude Code 보안을 위한 Sasy-Guard 공개: 자연어 정책을 Soufflé Datalog 규칙으로 컴파일

자연어 정책을 Soufflé Datalog 규칙으로 컴파일해 세션 이력을 근거로 도구 호출을 판정하는 Sasy-Guard 플러그인이 공개되었다.

이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.

TL;DR

Claude Code 환경에서 주로 쓰이는 PreToolUse 훅은 현재 시점의 행동만 검사하는 상태비저장 방식이어서 .env 유출, 스캔되지 않은 파일의 git push, 검토 없는 대규모 푸시 같은 복합적 위협을 놓칠 수 있다. 이를 해결하기 위해 자연어로 적힌 보안 정책을 Soufflé Datalog 규칙으로 컴파일해 결정론적 규칙 엔진에서 실행하는 Policy Compiler 접근법이 제시되었고, 해당 기술을 적용한 Sasy-Guard 플러그인은 세션의 의존성 그래프를 재구성해 각 도구 호출의 출처를 추적하고 규칙에 따라 차단·허용·대기를 결정한다. 설치 명령과 문서가 공개되어 있어 바로 적용해 볼 수 있으며, 논리 규칙 기반 검사는 LLM의 비결정성에 영향을 받지 않는 보안 보증을 제공하는 반면 정책 표현과 규칙 평가로 인한 성능·운영 비용을 측정해 단계적으로 도입할 필요가 있다.

실용적 조언

  • uv tool install sasy-guard 명령으로 플러그인을 설치한 뒤 제공 문서를 통해 정책을 Soufflé 규칙으로 컴파일해 적용하는 흐름을 점검하면 된다. 설치 이후에는 테스트 에이전트 세션을 재현해 .env 접근→네트워크 호출, 파일 수정→git push 같은 공격 시나리오에서 규칙이 의도대로 작동하는지를 확인해야 한다. 문서와 블로그에 있는 예시를 참조해 먼저 기본 규칙을 적용하고 필요에 따라 정책을 세분화해 운영 부하와 보안 요구를 균형 있게 맞추는 것이 권장된다.
  • 기존 PreToolUse 훅을 완전히 제거하기보다 기본 실시간 차단 규칙은 유지하고 Sasy-Guard의 이력 기반 규칙을 고위험 워크플로에 우선 적용해 단계적으로 확장하는 방식을 권장한다. 특히 코드 푸시·비밀 유출·무검토 대규모 변경 같은 고위험 이벤트에 대해 우선 정책을 작성하고, 규칙 적용 전후의 지연과 오탐율을 측정해 정책을 튜닝해야 한다. 또한 원문에서 제시한 대로 gitleaks 같은 정적 비밀 스캐너와 연동해 변경점에 대한 증거를 확보하는 운영 절차를 마련하는 것이 바람직하다.

섹션별 상세

01
대부분 Claude Code 구성은 PreToolUse 훅처럼 현재 시점의 행동만 검사하는 상태비저장(stateless) 방식에 의존하고 있으며, 이 방식은 에이전트가 이전에 불러온 민감정보를 이후 네트워크 호출로 유출하는 시나리오를 포착하지 못하는 문제가 있다. 원문은 세 가지 구체적 사례를 들어 .env 파일을 읽고 그 값을 포함한 네트워크 호출을 시도하는 경우, 수정된 파일들을 스캔하지 않은 채 git push를 시도하는 경우, 대규모 수정물이 아무런 리뷰 없이 푸시되는 경우를 제시했다. 이러한 사례는 검사 대상이 현재 호출만을 보았을 때는 정상으로 보일 수 있으나 출처 추적을 포함한 이력 기반 판단을 적용하면 차단하거나 휴먼 승인을 요구해야 함을 보여준다. 따라서 단순 블랙리스트나 포인트-인-타임 검사로는 충분하지 않다는 결론이 도출된다.
02
Policy Compiler 접근법은 자연어로 적힌 보안 정책을 Soufflé Datalog 규칙으로 변환해 결정론적(policy) 엔진에서 실행 가능한 형태로 만드는 데 초점을 둔다. 이 방식은 정책을 논리 규칙으로 표현하여 세션 전체의 의존성 그래프를 재구성하고 각 도구 호출의 입력 출처를 추적해 호출의 정당성을 판단하도록 설계되었다. 원문은 이 접근이 LLM의 비결정성에 좌우되지 않는 결정론적 검사와, 세션 이력을 논리적으로 추론하는 능력을 제공한다고 명시했다. 그 결과 복합적 위협 시나리오에서 형식적 보안 성질을 보장할 수 있다는 점이 핵심 근거로 제시되었다.
03
Sasy-Guard는 위 기술을 Claude Code용 보안 플러그인으로 구현한 것으로 공개되었으며 설치 명령 예시로 uv tool install sasy-guard가 주어져 있고 문서와 블로그 링크가 함께 제공되었다. 이 플러그인은 세션의 전체 에이전트 활동을 의존성 그래프로 재구성하고 각 툴 호출의 provenance를 기반으로 Soufflé로 컴파일된 규칙에 따라 차단·허용·대기 같은 결정을 내리도록 작동한다. 원문에서는 이 엔진이 빠르고 결정론적이라고 기술했으며, 대학 보안 연구자들과의 공동 연구 결과물임을 밝히며 추가 검증과 피드백을 요청했다. 따라서 실무 적용을 위해 설치 경로와 문서를 확인하고 실제 에이전트 세션에서 정책 규칙의 적용 결과를 관찰해야 함이 제시되었다.
bash
uv tool install sasy-guard

Sasy-Guard 플러그인을 Claude Code 환경에 설치하는 단일 명령 예시이다.

04
논리 규칙 기반의 정책 평가가 제공하는 장점으로는 LLM 비결정성으로부터 독립적인 판정과 세션 이력을 통한 출처 추론이 있으며, 그 대가로는 세션 재구성 및 규칙 평가를 위한 추가 계산 비용과 정책을 명확하게 표현해야 하는 부담이 따른다. 원문은 결정론적 검사와 이력 추론을 '보안 보증'의 근간으로 제시했으나 성능·운영상의 트레이드오프에 대한 정량적 수치는 제공하지 않았다. 따라서 조직은 Sasy-Guard를 도입할 때 검사 빈도와 정책 복잡도가 시스템 지연에 미치는 영향을 측정해 정책 우선순위를 조정할 필요가 있다. 또한 가벼운 PreToolUse 검사와 이력 기반 논리 검사 사이의 조합 전략이 실무에서 합리적일 수 있다는 함의가 남는다.

용어 해설

정책 컴파일러(Policy Compiler)
자연어로 기술된 보안 정책을 형식 언어 규칙으로 자동 변환하는 기술로, 입력된 정책을 Soufflé Datalog 같은 논리 규칙으로 컴파일해 실행 가능한 검사기(rule engine)를 생성하여 일관된 정책 판단을 보장한다.
Soufflé Datalog
데이터 중심 논리 프로그래밍 언어로 대규모 정적 분석과 정리 작업에 쓰이며, 규칙 기반의 정책 표현과 추론을 빠르게 실행할 수 있어 세션 이력과 출처 추적을 논리적으로 판정하는 데 사용된다.
데이터 출처 추적(Data Provenance)
시스템 내에서 데이터가 어디서 유래했는지와 어떤 연산을 거쳐 현재 상태가 되었는지를 추적하는 개념으로, 도구 호출의 입력값이 비밀 정보에서 유래했는지를 판단해 차단하거나 승인을 요구하는 데 핵심 역할을 한다.
PreToolUse 훅(PreToolUse hooks)
에이전트가 도구를 호출하기 직전에 현재 시점의 행동만을 검사하여 차단 여부를 결정하는 짧은 검사 지점으로, 세션 이력과 출처를 고려하지 않는 'stateless' 성격 때문에 복합적 위협을 놓칠 수 있다.

언급된 도구

Sasy-Guard추천링크

Claude Code 환경에서 자연어 정책을 Soufflé Datalog 규칙으로 컴파일해 세션 이력 기반으로 도구 호출을 판정하는 보안 플러그인

Claude Code중립

LLM 기반 에이전트 프레임워크로서 툴 호출과 셸 액세스를 통한 자동화 워크플로우를 수행하는 환경

PreToolUse hooks중립

도구 호출 직전 현재 행동만을 검사해 차단 여부를 결정하는 간단한 검사 포인트

Soufflé Datalog중립

정책 규칙을 표현하고 대규모 논리 추론을 빠르게 수행하기 위한 Datalog 계열의 분석 엔진

AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 07. 01.수집 2026. 07. 01.출처 타입 REDDIT

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.