🇰🇷 한글 설명
PraisonAI 4.5.2 이상 4.6.59 미만 버전의 praisonai.bots.DiscordApproval은 설정된 Discord 채널에서 승인 요청 이후 봇이 아닌 사용자가 'yes' 등 승인으로 분류되는 메시지를 보내면, 대기 중인 고위험 도구 호출을 승인해 버립니다. 승인 메시지와 요청을 연결하는 검증이 없어 해당 채널에 글을 쓸 수 있는 누구나 승인을 가로챌 수 있습니다. 4.6.59 버전에서 패치되었습니다.
💡 쉬운 설명
AI 에이전트가 위험한 작업을 하기 전에 사람의 승인을 받는 기능이 있는데, 누구든 채널에 'yes'라고 쓰면 승인된 것으로 처리되는 문제입니다. 즉 승인 권한이 없는 사람도 위험한 작업을 허가할 수 있습니다.
🇺🇸 원문 (English)
PraisonAI is a multi-agent teams system. From version 4.5.2 to before version 4.6.59, praisonai.bots.DiscordApproval approves a pending dangerous tool call when it sees any later non-bot message in the configured Discord channel whose text is classified as approval, such as yes. As a result, any user who can post in the configured approval channel can approve a pending high-risk tool call by sending yes after the approval message appears. the same PoV also shows that the Slack and Telegram messaging approval backends have no explicit approver allowlist parameter, but the primary report-grade issue is the Discord backend's unthreaded channel cross-talk: the approving message does not need to be a reply or otherwise request-bound. This issue has been patched in version 4.6.59.
📍 영향받는 시스템
PraisonAI 4.5.2 이상 4.6.59 미만 (Discord 승인 백엔드 사용 환경)
⚔️ 공격 벡터
승인 요청이 게시된 Discord 채널에 권한 있는 사용자가 아닌 누구나 'yes' 메시지를 보내 대기 중인 고위험 도구 호출을 승인시킴
🛡️ 대응 방법
PraisonAI를 4.6.59 이상으로 업그레이드하고, 승인 채널의 쓰기 권한을 신뢰된 승인자로 제한
🔧 검증 코드
출력된 버전이 4.5.2 이상 4.6.59 미만이면 취약하며, 4.6.59 이상이면 패치가 적용된 것입니다.
pip show praisonai 2>/dev/null | grep -i '^version'