Tainted flow: 'MEM0_URL' from os.environ.get (line 17, credential/environment) → requests.post (network output)
Critical
- Category
- Data Flow
- Content
def add_memory(text: str, source_agent: str, source_file: str) -> bool: """Add a memory to mem0 with unified user_id and source metadata.""" try: r = requests.post( f"{MEM0_URL}/api/memory/add", json={ "text": text,- Confidence
- 90% confidence
- Finding
- The script sends workspace-derived content to whatever endpoint MEM0_URL specifies, and that content may include sensitive memory and tool data from multiple agent workspaces. If MEM0_URL is changed to a remote or attacker-controlled host, the script will exfiltrate those files without any validation, confirmation, or locality restriction.
