🇰🇷 한글 설명
PraisonAI 1.4.0부터 1.7.2 버전 사이의 createAgentLoop() 함수에서 도구 실행 승인 콜백이 호출되기 전에 실행 가능한 도구가 generateText()로 전달되는 취약점이 발견되었습니다. 이로 인해 사용자가 도구 실행을 거부하더라도 이미 도구가 실행되어 파일, 명령, API 등의 부작용이 발생할 수 있습니다.
💡 쉬운 설명
AI가 어떤 작업을 수행하기 전에 사용자에게 허락을 구하는 과정이 있는데, 허락을 받기도 전에 이미 작업을 실행해버리는 문제입니다. 따라서 사용자가 '안 돼'라고 거절해도 이미 파일이 삭제되거나 명령어가 실행될 수 있습니다.
🇺🇸 원문 (English)
PraisonAI is a multi-agent teams system. From 1.4.0 until 1.7.2, createAgentLoop() in src/praisonai-ts/src/ai/agent-loop.ts passes executable tools to generateText() before invoking the onToolCall approval callback. Because the wrapped AI SDK executes tool handlers during generation, a callback that returns false records tool_rejected only after the denied tool has already produced side effects and populated toolResults. Applications using onToolCall as a human or policy approval boundary can therefore execute rejected file, command, API, or data-modifying operations. This issue is fixed in version 1.7.2.
📍 영향받는 시스템
PraisonAI 1.4.0 ~ 1.7.2 버전
⚔️ 공격 벡터
승인 절차를 우회하여 AI 에이전트가 권한이 없는 파일 조작, 명령 실행 또는 API 호출을 수행하도록 유도
🛡️ 대응 방법
PraisonAI를 최신 버전인 1.7.2 이상으로 업데이트하십시오.
🔧 검증 코드
명령어 결과에 취약한 버전 범위(1.4.x ~ 1.7.2)가 나타나면 해당 취약점에 노출된 상태입니다.
npm list praisonai-ts | grep -E 'praisonai-ts@([1-4]\.|1\.[5-7]\.[0-2])'