본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 28. 07:10

AI 에이전트에게 돈을 어떻게 맡길 수 있을까요? 믿지 마세요 — 영수증을 확인하세요

요약

AI 에이전트에게 권한을 부여할 때 발생할 수 있는 보안 문제를 해결하기 위해, 암호학적 기술을 활용한 '검증 가능한 에이전트 동작' 개념을 소개합니다. 에이전트가 승인된 규칙을 준수했음을 증명하는 변조 불가능한 영수증 생성 방식을 제안합니다.

핵심 포인트

  • 에이전트의 동작을 검증하기 위해 암호학적 영수증(receipt) 도입 필요
  • 해싱과 체이닝을 통해 단계 수정 및 위조 방지 가능
  • zkML(Zero-Knowledge Machine Learning) 연구 방향과 연계
  • 에이전트의 독립성이 높아질수록 검증 가능한 안전망이 필수적임

암호학적으로 검증 가능한 에이전트 동작: 단계를 교체, 수정 또는 위조하면 거부됩니다.

요약 (TL;DR): 우리가 AI 에이전트가 실제 작업(환불 처리, 데이터 이동, API 호출 등)을 수행하도록 허용함에 따라, "그냥 믿으세요"라는 말은 더 이상 충분하지 않습니다. 해결책은 에이전트가 승인된 규칙을 따랐으며 아무것도 조작하지 않았음을 증명하는, 변조 불가능한 **영수증 (receipt)**을 사용자에게 전달하는 것입니다. 저는 데모를 구축했습니다 — 규칙을 변경하거나, 단계를 수정하거나, 서명을 위조하면 매번 검증에 실패합니다. 약 120줄의 코드, 일반적인 일상적 암호 기술 (crypto) 사용, API 키 불필요.

무서운 질문

당신은 에이전트가 환불을 처리하거나, 파일을 이동하거나, 운영 환경의 API를 호출하도록 허용하려 합니다. 에이전트가 당신이 승인한 규칙을 따랐는지, 아니면 변경된 버전을 따랐는지 어떻게 "실제로" 알 수 있을까요? 그리고 사후에 제공되는 로그가 편집되지 않았다는 것을 어떻게 알 수 있을까요?

현재로서 정직한 답변은 대개 이렇습니다: 모릅니다. 당신은 로그를 믿을 뿐입니다. 하지만 로그는 편집될 수 있고, 에이전트가 실행하는 규칙은 조용히 교체될 수 있으며, 해킹된 에이전트는 다른 일을 하면서 한 가지 일을 했다고 주장할 수 있습니다.

2026년의 해결책은 검증 가능한 에이전트 동작 (verifiable agent behavior) (연구 용어로는 "zkML")이라 불립니다. 에이전트는 승인된 프로세스를 "정확히" 실행했음을 증명하는 변조 불가능한 영수증을 생성하며, 에이전트를 신뢰할 필요 없이 "누구나" 그 영수증을 확인할 수 있습니다.

10초 요약 버전

발생한 일결과
에이전트가 승인된 환불 규칙을 정직하게 실행함수락 (ACCEPT)
...

정직한 실행만이 통과됩니다. 모든 종류의 부정행위가 적발됩니다.

작동 원리 (쉬운 설명)

마법이 아닌, 세 가지 일반적인 구성 요소:

  1. 승인된 규칙의 지문 (fingerprint). 규칙을 해싱 함수 (hashing function)에 통과시키면 짧고 고유한 지문을 얻을 수 있습니다. 누구나 승인된 규칙의 지문을 생성하여 비교할 수 있습니다. 만약 에이전트가 다른 규칙을 사용했다면 지문이 일치하지 않을 것입니다.

  2. 편집할 수 없는 영수증. 에이전트가 수행하는 모든 단계는 서로 체인처럼 연결되어 있어, 각 단계가 이전의 모든 단계에 의존하게 됩니다. 단 하나의 단계라도 변경하면 마치 변조 방지 봉인 (tamper-evident seal)처럼 전체 합계가 맞지 않게 됩니다:

seal = fingerprint(rules)
for step in steps:
    seal = hash(seal + step)   # 각 단계가 봉인(seal)에 통합됨
  1. 서명 (A signature). 에이전트는 비밀 키 (secret key)를 사용하여 최종 봉인에 서명합니다. 만약 누군가 해당 키 없이 영수증을 위조하려고 시도한다면, 서명 검증을 통과할 수 없습니다.

검증하려면, 단순히 세 가지 단계를 다시 수행하고 다음과 같이 질문하면 됩니다: 승인된 규칙을 사용했는가? 영수증이 온전한가? 서명이 진짜인가? 이 세 가지가 모두 통과되어야 합니다.

이것이 중요한 이유

이 시리즈의 다른 모든 포스트는 에이전트를 더 독립적으로 만듭니다. 에이전트는 스스로 코드를 다시 작성하고, 잠을 자고, 타인을 모델링하며, 호기심을 갖습니다. 이번 포스트는 그 모든 것에 대한 안전망입니다: 확인할 방법이 없는 독립성은 곧 부채 (liability)입니다.

우리가 에이전트에게 더 많은 권한을 부여할수록, 단순히 그들을 신뢰하는 것은 더 어려워지며 — 그들을 확인할 방법이 더 많이 필요해집니다.

실제 연구의 최종 목표는 훨씬 더 강력합니다: 에이전트를 다시 실행하지 않고도, 그리고 어떠한 개인 데이터나 비밀 모델 (secret model)을 노출하지 않고도 에이전트가 승인된 규칙을 따랐음을 증명하는 것입니다. 이를 통해 두 회사가 서로의 에이전트를 신뢰할 수 있습니다. 당신의 에이전트는 올바르게 행동했음을 증명하고, 나의 에이전트는 그 증명을 확인하며, 우리 중 누구도 비밀을 밝힐 필요가 없습니다.

직접 해보기

git clone https://github.com/Shridhar-2205/living-software
cd living-software/05-verifiable-agent
python demo.py

솔직한 말씀: 실제 연구에서는 검증자가 아무것도 다시 실행할 필요가 없고 비밀 모델을 절대 볼 수 없도록 더 무거운 암호학 (cryptography)을 사용합니다. 제 데모는 대신 서명되고 봉인된 영수증을 재검증합니다. 훨씬 더 간단하며, 동일한 이점(어떤 방식으로든 부정행위 시 ⇒ 거부됨)을 보여주므로

배경 (Background): "zkML" / 검증 가능한 추론 (verifiable inference) — AI 모델이 주장된 대로 정확하게 실행되었음을 증명하는 것입니다. "Verifiable evaluations of machine learning models using zkSNARKs" (arXiv:2402.02675) 및 서베이 논문인 "Zero-Knowledge Proof Based Verifiable Machine Learning" (arXiv:2502.18535)를 참조하십시오. EZKL과 같은 도구들은 현재 실제 ONNX 모델에 대해 이 기능을 제공하고 있습니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0