Halo: AI 에이전트를 위한 오픈소스 변조 방지 런타임 증거
Halo: AI 에이전트를 위한 오픈소스 변조 방지 런타임 증거
Halo는 AI 에이전트 작업에 대한 검증 가능한 감사 추적을 제공합니다
Halo는 AI 에이전트를 위한 변조 방지 런타임 기록을 생성하도록 설계된 오픈소스 프레임워크입니다. 도구 호출, 모델 호출, 데이터 액세스 및 승인 등 모든 에이전트 작업을 추가만 가능한(append-only) 해시 체인 로그로 변환합니다. 이를 통해 모든 당사자가 에이전트의 운영 이력이 변경되지 않았음을 검증할 수 있으며, 에이전트를 실행하는 벤더를 신뢰할 필요가 없어집니다.
핵심 아키텍처 및 신뢰 모델
해시 체이닝을 통한 변조 방지
무결성을 보장하기 위해 Halo는 SHA-256 기반의 해시 체이닝 메커니즘을 사용합니다. 각 기록의 해시는 기록 자체(자신의 해시 제외)와 이전 기록의 해시를 포함하여 계산됩니다. 데이터는 해싱 전 RFC 8785 (JSON Canonicalization Scheme)를 사용하여 정규화됩니다. 이는 이전 기록에 대한 어떠한 수정도 체인 내의 모든 후속 해시를 무효화하는 링크를 생성합니다. 체인의 첫 번째 기록은 prev_hash가 64개의 0으로 시작합니다.
무결성 vs. 완전성
Halo는 두 가지 유형의 검증을 구분합니다:
- 무결성: 자체 보유 체인은 사후에 아무것도 편집되거나 순서가 변경되지 않았음을 증명합니다. 그러나 자체 보유 체인은 기록이 완전히 삭제되었거나 체인이 시작되지 않았음을 증명할 수 없습니다.
- 완전성: 기록이 삭제되지 않았음을 증명하기 위해 Halo는 "witness" 시스템을 사용합니다. witness는 체인의 주기적인 핑거프린트(기록 수 및 헤드 해시)를 보유하는 외부 당사자입니다. 체인 헤드를 witness에 고정(anchoring)함으로써, 운영자는 고객에게 로그가 완전하고 잘리지 않았음을 증명할 수 있습니다.
보안 및 개인정보 보호 설계
취약점 도입 또는 데이터 유출 위험을 최소화하기 위해 Halo는 다음과 같은 제약 사항을 바탕으로 구축되었습니다:
- Zero Runtime Dependencies: Python 구현체는 표준 라이브러리만 사용하므로,
pip install halo-record를 실행해도 제3자 패키지가 설치되지 않습니다. - No Network Calls: 선택 사항인 witness client를 제외하고, recorder는 네트워크 호출을 하지 않습니다. 기록 내용은 소유자의 인프라 내에 머뭅니다.
- Data Redaction: 원본 입력값은 기록에 저장되지 않습니다. 인자(arguments)는 해싱 처리되며, 일반적인 PII 및 secrets에 대해 regex 기반의 redaction을 사용하여 축약된 요약본으로 저장됩니다. 이는 완전한 보장이 아닌 심층 방어(defense-in-depth)의 일환으로 의도되었습니다.
- Auditability: 코드베이스가 작아(~4,300 lines of Python) 수동 보안 감사가 용이합니다.
통합 및 구현
배포 옵션
Halo can be integrated into AI agent workflows via several methods:
Native Recorder:
from halo import trace를 사용하여 개발자는 에이전트의 진입점을 래핑하여 도구 호출을.jsonl파일에 직접 기록할 수 있습니다.Adapters: Halo는 OpenTelemetry GenAI spans, LiteLLM callbacks, LangChain/LangGraph, OpenAI Agents SDK, 그리고 Vercel AI SDK (
halo-record-tsTypeScript 패키지 경유)를 위한 어댑터를 제공합니다.Hooks: Claude Code와 같은 도구의 경우, Halo는
settings.json의PostToolUsehook으로 구성할 수 있으며, 에이전트 자체의 코드 변경 없이 파일 쓰기 및 쉘 명령과 같은 작업을 기록할 수 있습니다.
도구 및 CLI
Halo CLI는 다음과 같은 주요 기능을 제공합니다:
halo verify: 스키마 및 해시 체인 무결성을 검증합니다.halo report: 체인을 self-verifying HTML Runtime Report로 렌더링합니다.halo serve: 고객 범위의 액세스 권한을 가진 per-tenant 보고서를 HTTP를 통해 제공합니다.halo anchor: 체인 헤드를 witness하여 완전성을 검증합니다.
준수 및 규제 정렬
Halo는 다양한 AI 컴플라이언스 프레임워크를 위한 산출물을 생성하는 증거 레이어로 역할을 합니다. 인증을 제공하지는 않지만, 다음과 같은 사항에 대해 검증 가능한 데이터를 제공합니다:
- SOC 2 및 보안 설문조사: 산문 형태의 설명이나 스크린샷을 대신하여 검증 가능한 Runtime Reports를 제공합니다.
- EU AI Act: 고위험 AI 시스템에 대한 로깅 및 기록 보관 의무를 충족합니다.
- OWASP GenAI Security Project: 과도한 에이전시(excessive agency) 및 도구 오용과 같은 위험에 대한 증거를 제공합니다.
- AARM (CSA): R5/R6에 명시된 변조 방지 작업 영수증을 생성합니다.
- ISO 42001 / NIST AI RMF: 관리 시스템 제어 항목에 대한 운영 증거를 제공합니다.",