T05 · Unauthorized Access and Privilege Escalation
- Location
scripts/neon-soul.mjs:45- Finding
Automatic Collection of Private Session Logs Can Transmit Conversations to a Remotely Configured LLM Endpoint
- Content
View full analysis
0){ let k=await ze(i,w,{file:v.path,category:"session"}); o.push(...k) } ``` At `scripts/neon-soul.mjs:413`, the Ollama destination can be supplied through an inherited environment variable without a localhost restriction: ```js function Ru(){ return{ baseUrl:process.env.OLLAMA_BASE_URL??"http://localhost:11434", model:process.env.OLLAMA_MODEL??"llama3", timeout:parseInt(process.env.OLLAMA_TIMEOUT??"120000",10) } } ``` The prompt, which can contain private session text or derived identity information, is placed directly in the HTTP request body: ```js let s=await fetch(`${this.baseUrl}/api/chat`,{ method:"POST", headers:{"Content-Type":"application/json"}, body:JSON.stringify({ model:this.model, messages:[ {role:"system",content:t}, {role:"user",content:n} ], stream:!1 }), signal:i.signal }); ``` The Skill metadata declares only the following state directories: ```yaml stateDirs: - memory/ - ...[truncated 2967 chars]- Remediation
View remediation
