🇰🇷 한글 설명
PraisonAI 멀티 에이전트 시스템의 4.5.2 이상 4.6.59 미만 버전에서 praisonai.bots.HTTPApproval이 대기 중인 도구 승인 인자를 검증 없이 승인 대시보드 HTML에 렌더링합니다. 공격자가 제어하는 도구 인자로 스크립트를 삽입할 수 있으며, 관리자가 승인 URL을 열면 해당 스크립트가 대시보드 출처에서 실행되어 /approve/{request_id}/decide 엔드포인트로 승인 요청을 보낼 수 있습니다. 4.6.59 버전에서 패치되었습니다.
💡 쉬운 설명
AI 에이전트가 위험한 작업을 실행하기 전에 사람이 확인하는 승인 화면이 있는데, 공격자가 이 화면에 악성 코드를 심을 수 있습니다. 관리자가 화면을 열어 보기만 해도 악성 코드가 자동으로 '승인'을 눌러버릴 수 있습니다.
🇺🇸 원문 (English)
PraisonAI is a multi-agent teams system. From version 4.5.2 to before version 4.6.59, praisonai.bots.HTTPApproval renders pending tool approval arguments directly into the approval dashboard HTML. An attacker-controlled tool argument can inject JavaScript into that page. When a human opens the approval URL to inspect the risky tool request, the script runs in the dashboard origin and can POST to the same request's /approve/{request_id}/decide endpoint, causing HTTPApproval to return approved=True. This issue has been patched in version 4.6.59.
📍 영향받는 시스템
PraisonAI 4.5.2 이상 4.6.59 미만 버전 (praisonai.bots.HTTPApproval 사용 환경)
⚔️ 공격 벡터
공격자가 도구 인자에 악성 JavaScript를 포함시킨 요청을 생성하고, 관리자가 승인 URL을 열면 스크립트가 실행되어 자동 승인을 수행합니다.
🛡️ 대응 방법
PraisonAI를 4.6.59 이상 버전으로 업그레이드하고, 승인 대시보드에서 사용자 입력을 HTML 이스케이프 처리하는지 확인합니다.
🔧 검증 코드
출력된 Version 값이 4.6.59 미만이고 4.5.2 이상이면 취약한 버전이므로 업그레이드가 필요하며, 4.6.59 이상이면 패치가 적용된 것입니다.
pip show praisonai 2>/dev/null | grep -i '^version'