피드로 돌아가기
Dev.toSecurity
원문 읽기
Scan-before-write 패턴을 통한 LangGraph Memory Poisoning(ASI06) 원천 차단
Securing LangGraph Multi-Agent Workflows Against Memory Poisoning (ASI06)
AI 요약
Context
LangGraph의 State Graph 구조 내 공유 상태(Shared State)를 이용한 Memory Poisoning 취약점 발견. 특정 에이전트가 주입한 악성 페이로드가 Checkpointer를 통해 지속되며 다른 에이전트의 동작을 오염시키는 ASI06 보안 위협 발생.
Technical Solution
- Persistence Layer에 Scan-before-write 패턴을 도입하여 쓰기 전 검증 단계 강제
- BaseCheckpointSaver를 상속받은 GuardedCheckpointer 설계를 통한 Checkpointer 래핑 구조 구현
- put 및 aput 메서드 인터셉트를 통한 State 내 메시지 콘텐츠의 실시간 스캔 수행
- OWASP Agent Memory Guard 라이브러리를 활용한 악성 페이로드 탐지 및 Write 작업 즉시 차단
- 개별 노드의 정제 로직에 의존하지 않는 중앙 집중형 방어 체계 구축
- 검증 통과 시에만 하위 Checkpointer로 위임하는 Proxy 패턴 적용
실천 포인트
- LangGraph 사용 시 MemorySaver, PostgresSaver 등 Checkpointer 앞단에 검증 래퍼 도입 검토 - 에이전트가 외부 데이터를 읽어 상태에 기록하는 지점에 간접 프롬프트 주입(Indirect Prompt Injection) 가능성 확인 - OWASP Top 10 for Agentic Applications 2025 기준의 ASI06 취약점 점검 수행