OpenAPPA: 에이전트를 망가뜨리지 않는 오픈소스 결정론적 가드레일
요약
OpenAPPA는 프롬프트 주입이나 모델 환각으로 인한 데이터 유출에 100% 저항하는 결정론적 AI 가드레일입니다. 이 오픈소스 엔진은 에이전트의 실행 루프 외부에서 작동하며, 도구 호출 대신 데이터 소스, 대상, 신뢰 수준을 기반으로 보안 레이블을 부여하여 모든 궤적을 추적합니다. 이를 통해 기존 방식의 취약점을 극복하고 강력한 보안성을 제공합니다.
핵심 포인트
- OpenAPPA는 프롬프트 주입에 100% 저항하는 결정론적 가드레일입니다.
- 도구 호출 대신 데이터 소스, 신뢰 수준을 기반으로 보안 레이블을 부여합니다.
- 에이전트의 실행 루프 외부에서 작동하여 모델 조작으로부터 안전합니다.
- 단순 차단 대신 기계 판독 가능한 해결책 계획(remedy plan)을 제공합니다.
OpenAPPA란 무엇인가
OpenAPPA는 프롬프트 주입(prompt injection)이나 모델 환각(hallucination)으로 인한 데이터 유출에 100% 저항하는 최첨단 결정론적 AI 가드레일이며, 에이전트를 망가뜨리지 않는 최초의 종류입니다.
NeurIPS에서 채택된 논문으로 뒷받침되며, 오픈 소스이고, 특정 공급업체에 종속되지 않으며(vendor-agnostic), MIT 라이선스가 적용됩니다.
그리고 네, 벤치마크에서 경쟁사보다 성능이 뛰어납니다:
비결정론적 가드레일의 문제점#
산업계는 승인 피로도(approval fatigue)에 대한 해답으로 각 도구 호출을 판단하는 두 번째 모델을 제시합니다: Claude Code의 자동 모드(auto mode), Codex의 자동 검토(auto-review) 등 다른 자동 모드들입니다.
이들은 설계상 도구 호출 전반에 걸친 데이터 흐름을 추적할 수 없습니다. 분류기(classifiers) 자체가 프롬프트 주입에 취약하기 때문에, 하네스(harnesses)는 도구 출력을 그들로부터 숨기고, 따라서 판단자는 데이터를 전혀 볼 수 없습니다.
확률론적 설계의 특성상, 아무리 좋은 모델이라도 99.3%에서 최고치를 기록합니다: 백만 건의 호출에서 0.7%는 너무 많은 유출을 의미합니다.
다른 결정론적 가드레일은 에이전트를 망가뜨리거나 작동하지 않습니다#
LLM에 대한 명령어 블랙리스트는 막다른 골목입니다. rm -rf /를 차단하면 모델이 파이썬 한 줄 코드(Python one-liner)를 작성하고; curl을 차단하면 외부 git 원격 저장소로 푸시합니다. 정규 표현식 목록 역시 커버리지에 대한 가시성을 전혀 제공하지 못합니다: 아무도 모든 경로가 닫혔는지, 또는 세 가지 평범한 도구가 연결되어 유출되지 않는지 검증할 수 없습니다.
규칙 세트는 너무 엄격해서 에이전트를 망가뜨리거나, 혹은 너무 복잡해서 누가 허용하는 것을 감사(audit)할 수 없게 됩니다.
OpenAPPA는 패턴 매칭 대신 흐름을 추적합니다#
OpenAPPA는 단일 구성으로 구동되는 크로스 플랫폼의 플러그형 엔진입니다. 이는 에이전트의 프롬프트 및 실행 루프 외부에서 작동하므로, 모델이 이를 보고, 협상하거나 조작할 수 없으며, 한 곳에 기존 에이전트 루프에 연결됩니다.
허용되거나 차단된 도구 대신, 구성은 데이터 소스(data sources), 대상(audiences), 신뢰 수준(trust levels), 그리고 권한(authorities)을 설명합니다. 모든 궤적(trajectory)은 보안 레이블, 즉 대상 × 신뢰를 지니게 됩니다.
개인 저장소(private repo)를 읽는 것은 접근 대상을 좁히고, 검증되지 않은 웹 페이지를 읽는 것은 신뢰도를 낮춥니다. 이 레이블은 항상 더 제한적으로만 변하며, 엔진은 이를 바탕으로 모든 결정을 대수학적으로 도출합니다.
에이전트에게 비밀을 유출하라고 지시하는 주입 프롬프트(injected prompt)는 무의미합니다. 왜냐하면 대수학 자체를 프롬프트 주입할 수 없기 때문입니다. 구성(configuration)이 선언적(declarative)이기 때문에, CI/CD 환경에서 전체 도구 그래프가 커버되었는지 검증할 수 있습니다. 이 구성은 데이터에 특화되어 있어, 변경하지 않고도 수백만 개의 에이전트로 확장할 수 있습니다.
에이전트가 작업을 완료하도록 돕는 트릭들#
엄격한 강제 적용(Strict enforcement)은 보통 유용성이 떨어지는 지점입니다. 단순히 '금지됨'이라고 하는 것은 에이전트를 정지시키고, 재시도하게 만들며, 결국 실패하게 만듭니다. OpenAPPA 대신에, 에이전트가 법적으로 진행할 수 있는 방법들을 담은 기계 판독 가능한 해결책 계획(remedy plan)을 반환합니다:
Sanitizers는 페이로드(payload)를 변환하여 비밀 정보를 마스킹하거나 PII(개인 식별 정보)를 삭제함으로써, 더 넓은 청중에게 흐를 수 있도록 합니다. 기본 제공되는 Sanitizer 외에도, 모델 기반의 커스텀 Sanitizer가 명확한 영향 범위(blast radius)와 함께 플러그인 방식으로 연결됩니다.Authorities는 인간이나 내부 API를 통해 특정 행동 하나만을 승인하며, 나중에 호출할 때 세션의 제한을 해제하지 않습니다.Subagents는 신뢰할 수 없는 읽기 작업을 폐기 가능한 브랜치에 격리하여, 부모 궤적(parent trajectory)이 오염되지 않고 계속 진행되도록 합니다.
이것이 저희 벤치마크에서 작업 완료율을 37%에서 90%로 끌어올리고, 결정론적인 보안을 실용적으로 만드는 요소입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 HN Claude Code Search의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기