무슨 일이 있었나
PraisonAI의 기본 검색 도구 SSRF는 LLM이 제어하는 searxng_url을 스킴/호스트/포트/확인된 주소 검증 없이 requests.get에 전달하는 데서 발생합니다. 모델 컨텍스트에 악성 텍스트를 주입할 수 있는 공격자(프롬프트 주입을 통해)는 에이전트의 검색을 내부 호스트와 클라우드 메타데이터 서비스로 리디렉션할 수 있으며, 응답은 추가 작업을 위해 에이전트 컨텍스트로 직접 다시 공급됩니다.
왜 중요한가
이는 프롬프트 주입 발판을 에이전트를 실행하는 호스트에 대한 네트워크 정찰 및 메타데이터 노출 프리미티브로 전환합니다: 내부 서비스 프로빙, SSRF 읽기, 메타데이터 엔드포인트를 통한 클라우드 IAM 자격 증명 노출 — 모두 검증되지 않은 LLM 입력에서 비롯됩니다.
공격 경로
searxng_search 및 search_web은 LLM이 제어하는 searxng_url 매개변수를 스킴, 호스트, 포트 또는 확인된 주소를 검증하지 않고 requests.get에 직접 전달합니다. 프롬프트 주입 콘텐츠는 검색 도구를 내부 JSON 서비스로 유도하고, 내부 포트의 개방/폐쇄를 프로브하며, 클라우드 메타데이터 요청을 시도합니다; 반환된 JSON은 에이전트 컨텍스트에 들어갑니다.
영향받는 시스템
PraisonAI praisonaiagents < 1.6.62 (searxng_search 도구 및 search_web SearxNG 공급자)
완화 방안
praisonaiagents 1.6.62로 업그레이드하세요 (커밋 2a855c470077c7d2e2479a575f7ef7f548d51c33; GHSA-4pcv-mg8v-vrgf). 요청을 발행하기 전에 searxng_url 스킴, 호스트 및 주소를 검증/확인하세요.