T02 · Agent Memory Poisoning
- Location
scripts/summarize_memory.py:552- Finding
Persistent Agent Memory Poisoning Through Untrusted Audit Content
- Content
View full analysis
dict[str, Any]: audit_dir = audit_dir_for(run_dir) provenance_path = audit_dir / "experiment_provenance.json" comparison_path = audit_dir / "comparison.json" note_path = audit_dir / "experiment_note.md" diagnostics_path = audit_dir / "model_diagnostics.json" provenance = read_json(provenance_path) comparison = read_json(comparison_path) model_diagnostics = read_json(diagnostics_path) note_text = read_text(note_path) audit_files_found = [name for name in AUDIT_FILES if (audit_dir / name).exists()] audit_files_missing = [name for name in AUDIT_FILES if name not in audit_files_found] artifacts_found, artifacts_missing = collect_artifact_ids(provenance) qa_status = infer_qa_status(provenance) metrics = provenance.get("metrics") if isinstance(provenance.get("metrics"), dict) else {} record = { "run_id": provenance.get("run_id") or run_dir.name, "run_dir": relpath(run_dir, runs_dir.parent), "case_name": provenance.get("case_name") or run_dir.name, "workflow_mode": provenance.get("workflow_mode") or "unknown", "objective": provenance.get("objective") or "", "audit_status": provenance.get("status") or ("partial" if audit_files_missing else "unknown"), "qa_status": qa_status, "swmm_return_code": metrics.get("swmm_return_code") if isinstance(metrics, dict) else None, "artifacts_found": artifacts_found, "artifacts_missing": sorted(set(artifacts_missing + audit_files_missing)), ...[truncated 5582 chars]- Remediation
View remediation
