취약점  ·  2026-11-03

Network-AI AgentVCR cassette-name path traversal allows arbitrary .json read/write in agent orchestration

취약점Medium 영향도GlobalCVE-2026-120312
AgentVCR record/replay 구성 요소는 호출자가 제공한 카세트 이름을 path.join()을 사용하여 .json 접미사와 연결하고 결과가 cassettePath 아래에 있는지 확인하지 않고 즉시 읽기/쓰기를 수행합니다. Node의 path.join이 포함된 '..' 세그먼트를 정규화하므로 순회 이름이 기본 디렉토리를 벗어납니다. 시연된 읽기 프리미티브와 쓰기 프리미티브는 프로세스가 접근할 수 있는 JSON 파일로 제한되지만, 다중 에이전트 테스트/오케스트레이션 배포에서 카세트 이름은 종종 신뢰할 수 없는 소스에서 오므로 에이전트의 기록/저장 상태가 임의 JSON 읽기/쓰기 채널이 됩니다.
에이전트 record/replay는 에이전트 동작을 결정적이고 검사 가능하게 만드는 일반적인 방법입니다. 카세트 이름이 신뢰할 수 없는 경우 동일한 메커니즘이 AI 에이전트 오케스트레이션 콘솔 내의 임의 JSON 파일 읽기/쓰기 프리미티브가 되어 에이전트 자체 런타임 내에서 구성/정책 변조 및 자격 증명이나 상태 노출을 가능하게 합니다.
AgentVCR은 path.join(cassettePath, name + '.json')을 통해 카세트 파일 경로를 구성하며 정규화 및 포함 검사를 수행하지 않습니다. 공격자가 name 인수를 제어하면 상대 순회 시퀀스 (../../...)를 제공하여 load()가 임의 .json 파일을 읽고 내용을 반환하고, save()가 임의 .json 파일을 쓰거나 덮어씁니다 — 오케스트레이터의 자체 정책 파일을 위조하고 (운영자가 거부 임계값 아래에 둔 인증을 에이전트에 부여하는 조작된 신뢰 수준 항목이 시연됨) 합법적인 에이전트가 보유한 토큰을 무효화하기에 충분합니다.
network-ai npm 패키지, AgentVCR (lib/agent-vcr.ts), 5.13.4 through 5.15.4; 5.15.5에서 수정
network-ai >= 5.15.5로 업그레이드하십시오 (advisory의 확인된 수정 범위는 5.15.5 이전); 신뢰할 수 없는 입력에서 카세트 이름을 파생하지 않거나 구성된 카세트 디렉토리 내에서 검증/제한하십시오.
GitHub Security Advisory GHSA-mfxv-jg44-xj48NVD record CVE-2026-120312
라이브 피드에서 보기 AI 보안 및 거버넌스 관련 소식을 더 살펴보세요 — 매일 아침 업데이트.
피드 열기 →