AI 에이전트를 위한 Cryptographic Audit Trails를 구축했습니다. 그 이유는 다음과 같습니다.
Source: Dev.to

아무도 잘 해결하지 못하는 문제
다음은 점점 흔해지고 있는 상황입니다. 고객 요청을 처리하고, 데이터베이스에 접근하며, 외부 API를 호출하고, 사용자를 대신해 행동을 취하는 AI 에이전트를 배포합니다. 일주일 동안 정상적으로 운영됩니다. 그런데 뭔가 잘못됩니다. 고객이 무단 변경에 대해 불만을 제기합니다. 팀은 당연히 “에이전트가 실제로 무엇을 했는가?”라는 질문을 던집니다.
로그를 확인합니다. 로그는 텍스트 파일이거나 데이터베이스에 저장된 JSON 라인일 수 있습니다. 로그에는 에이전트가 X, Y, Z를 수행했다고 기록되어 있습니다. 하지만 이러한 로그는 변조가 가능합니다. 쓰기 권한이 있는 누구든지 로그를 수정할 수 있고, 에이전트 자체가 로그를 수정할 수도 있습니다. 로그가 정확하다는 암호학적 증거는 존재하지 않습니다.
이것이 2026년 현재 에이전트 책임성의 현실입니다. 에이전트는 프로덕션 데이터베이스, 금융 시스템, 고객 데이터에 접근하고 있습니다. 대부분의 팀이 감사에 활용할 수 있는 최선은 print() 문과 희망뿐입니다. 에이전트가 할 수 있는 일과 우리가 그 행동을 증명할 수 있는 사이의 격차는 빠르게 커지고 있습니다.
The Pattern Underneath
이것은 새로운 문제는 아닙니다. 새로운 옷을 입은 잘 이해된 문제일 뿐입니다. 분산 시스템은 수십 년 전부터 append‑only 로그, 해시 체인, 그리고 암호 서명을 사용해 이 종류의 문제를 해결했습니다. 패턴은 간단합니다: 모든 행동이 이전 행동과 수학적으로 연결된 레코드를 생성하도록 합니다. 중간에 레코드를 누군가 수정하면, 그 이후의 모든 연결이 끊어집니다. 변조는 단순히 어려워지는 것이 아니라 눈에 보이게 됩니다.
대부분의 에이전트 프레임워크가 이러한 기술을 적용하지 않는 것은 기술 격차 때문이 아니라 주의력 격차 때문입니다. 도구는 이미 존재합니다. 암호학적 기본 요소들은 성숙했습니다. 단지 AI 에이전트 행동이라는 특정 맥락에 맞게 이들을 연결한 사람이 없었습니다.
그래서 제가 직접 해보았습니다.
Sigil이 하는 일
Sigil은 AI 에이전트를 위한 변조 방지 감사 추적을 제공합니다. 각 에이전트 행동은 증명서가 되며, 이전 증명서의 해시를 포함한 서명되고 타임스탬프된 기록입니다. 이를 통해 해시 체인이 생성됩니다. 각 증명서는 빠르고 널리 연구된 서명 방식인 Ed25519로 서명됩니다. 서명은 해당 증명서가 특정 키에 의해 특정 시점에 생성되었음을 증명합니다.
각 에이전트는 독립적인 해시 체인을 갖습니다. 전역 병목 현상이 없으며, 에이전트 간 교차 오염도 없습니다. 신뢰 인프라는 이해하기 쉬워야 하므로 아키텍처를 의도적으로 단순하게 설계했습니다.
Sigil은 MCP 서버 형태로 제공됩니다. MCP 호환 클라이언트(Claude Code, OpenHands 또는 직접 만든 클라이언트)를 사용 중이라면 Sigil을 추가하고 즉시 증명서 기록을 시작할 수 있습니다.
from sigil import SigilClient
client = SigilClient(api_key="sg_...")
# Record an action
receipt = client.attest(
action_type="database.query",
payload={"table": "customers", "rows_returned": 142}
)
# Verify the chain is intact
result = client.verify(receipt.id)
assert result.valid and result.chain_valid
각 증명서에는 agent_id, action_type, payload, timestamp, prev_hash(SHA‑256 체인 링크), signature(Ed25519)가 포함됩니다. 체인은 추가 전용이며, 쿼리 가능하고 독립적으로 검증할 수 있습니다.
왜 오픈‑소스인가
MCP 서버와 Python SDK는 MIT‑라이선스를 따릅니다. 전체 스택을 직접 호스팅할 수 있습니다. 이는 성장 전략이 아니라 의도적인 선택이었습니다. 신뢰 인프라는 검증 가능해야 합니다. 감사 로그를 생성하는 코드를 읽을 수 없다면, 실제로 신뢰 문제를 해결한 것이 아니라 단순히 옮긴 것에 불과합니다.
다음에 올 것
Sigil은 계층 구조로 이루어져 있으며, 각각은 아래 계층을 기반으로 합니다:
- Notary (현재 사용 가능): 해시 체인 방식의 증명 및 검증
- Identity (계획 중): Ed25519 키쌍을 이용한 에이전트 PKI
- Delegation (계획 중): 권한 체인의 암호학적 증명
또한 자동 증명 기록을 위한 인기 있는 에이전트 프레임워크와의 통합 작업을 진행 중입니다. 목표는 예외가 아니라 기본값으로 감사를 가능하게 만드는 것입니다.
Try It
pip install sigil-notary
GitHub:
PyPI:
저는 프로덕션에 에이전트를 배포하는 개발자를 위해 이것을 만들었습니다. 만약 당신이 해당된다면, 이슈를 열거나, 토론을 시작하거나, 직접 연락해 주세요.
Sigil은 “권위의 인장”이라는 뜻입니다. 저는 AI 에이전트에게 그런 것이 필요하다고 생각합니다.