AI 에이전트의 행동을 결정하는 데 LLM을 사용하지 마십시오
AI 에이전트가 무엇을 할 수 있는지 결정하는 데 LLM을 사용하는 것을 중단하십시오.
저는 AARM이라는 그룹에 속해 있습니다. 저희는 AI 에이전트를 보안하는 방법을 연구합니다. 저희는 한 가지 사항에 동의합니다. 제어는 반드시 실행 시점에 이루어져야 한다는 것입니다. 도구 호출(tool call)이 실행되기 전에 이를 확인해야 합니다. 에이전트는 이 확인 과정을 우회할 수 없어야 합니다. 에이전트에게 "이것은 하지 마세요"라고 말하는 것은 보안 모델이 아닙니다.
많은 사람들이 두 번째 LLM을 판사(judge)로 사용합니다. 에이전트가 행동을 하려 할 때, 그 행동을 두 번째 모델로 보냅니다. 그리고 그 행동이 안전한지 묻습니다. 모델은 예 또는 아니오라고 답합니다. 이것은 모델이 모델을 감시하는 격입니다. 이 접근 방식에는 두 가지 주요 결함이 있습니다.
첫째, 판사는 에이전트와 동일한 약점을 가지고 있습니다. 에이전트는 프롬프트 인젝션(prompt injection)이나 교묘한 사용자 요청에 속을 수 있습니다. 에이전트를 속일 수 있다면, 판사도 속일 가능성이 높습니다. 압박에 반응하는 두 번째 시스템을 첫 번째 시스템 앞에 두는 셈입니다.
둘째, LLM은 결정론적(deterministic)이지 않습니다. 모델에게 같은 질문을 두 번 던져도 서로 다른 답변을 얻을 수 있습니다. 이는 샘플링(sampling) 때문에 발생합니다. 대부분의 작업에서는 문제가 없지만, 보안 측면에서는 취약점이 됩니다.
에이전트가 화요일에는 데이터베이스를 삭제할 수 있었는데 수요일에는 차단될 수도 있습니다. 왜 그런지 설명할 논리가 없습니다. 그저 주사위가 다르게 던져졌을 뿐입니다. 감사인(auditor)에게 이를 설명할 수 없습니다. 문제가 발생한 새벽 2시에 이를 신뢰할 수도 없습니다.
규칙(rule)은 다릅니다. 규칙은 "운영 환경(production)에서의 삭제를 거부한다"라고 명시합니다. 이는 매번 동일하게 작동합니다. 테스트할 수 있고, 로그를 감사할 수 있으며, 그 결정의 근거를 명확히 할 수 있습니다.
모델은 보안에 유용하지만, 최종 관문(gate)이 되어서는 안 됩니다. 모델은 다음과 같은 유연한 작업(soft work)에 사용하십시오:
- 이상한 패턴 포착.
- 민감한 텍스트 표시.
- 위험 수준 점수화.
- 이상 징후 식별.
모델이 문제를 표시하게 하되, 문을 열게 하지는 마십시오. 최종 결정은 매번 동일한 답변을 내놓는 시스템에 맡겨야 합니다.
에이전트가 돈, 운영 데이터 또는 고객 정보에 가까워질수록 이 문제는 더욱 중요해집니다. 에이전트가 문장을 잘못 작성하는 것은 위기가 아니지만, 에이전트가 데이터베이스를 삭제(drop)하는 것은 재앙입니다.
최종 결정은 지루해야 합니다. 에이전트가 말로 설득해서 통과할 수 없는 확고한 기준이어야 합니다.
Source: https://dev.to/brianrhall/dont-use-an-llm-to-decide-what-your-ai-agent-is-allowed-to-do-1dkn
Optional learning community: https://t.me/GyaanSetuAi