에이전트를 맹신하지 마세요: 승인을 특정 도구 호출에 귀속시키세요

대부분의 에이전트 시스템은 파일 쓰기나 송금과 같은 위험한 동작을 단순한 승인 절차로 보호합니다.

보통 이 승인은 시스템 상태 내의 불리언(boolean) 플래그로 처리됩니다. 예: approved: true.

이것은 실수입니다. 불리언 방식은 공격자가 악용할 수 있는 세 가지 결함이 있습니다:

문제는 승인을 전체 세션의 속성으로 모델링하고 있다는 점입니다. 승인은 반드시 특정 호출 하나에 대한 증거여야 합니다.

해결 방법:

사람이 호출을 승인할 때 보안 태그를 생성하십시오. 이 태그는 다음 네 가지 요소를 고정해야 합니다:

실행되는 바로 그 순간에 이 태그를 검증하십시오. 시스템만 알고 있는 비밀 키를 사용하십시오.

구현 시 다음 규칙을 따르십시오:

권한 부여(Authorization)는 떠다니는 상태의 조각이 되어서는 안 됩니다. 그것은 반드시 다음과 같은 사실을 증명하는 결합된 봉투(bound envelope)여야 합니다: "이 특정 인물이 이 특정 시간까지 이 특정 도구에 대해 이 특정 인자들을 승인했다."

불리언 사용을 중단하십시오. 그것은 단순화가 아니라 버그입니다.

출처: https://dev.to/whatsonyourmind/stop-trusting-the-agent-bind-tool-call-approvals-to-the-exact-call-5080

선택 사항 학습 커뮤니티: https://t.me/GyaanSetuAi