Codex MultiAgentV2 암호화 및 감사 추적 손실
Codex MultiAgentV2 암호화 및 감사 추적 손실
MultiAgentV2 메시지 암호화로 인한 로컬 감사 가능성 제거
Codex는 MultiAgentV2에서 서브 에이전트 프롬프트를 위한 암호화를 도입했습니다. 이는 로컬 롤아웃 기록, 추적 축소(trace reductions) 및 디버그 표면에서 사람이 읽을 수 있는 작업 및 메시지 텍스트를 효과적으로 제거합니다. 이 변경 사항은 모델 간 통신을 위한 개인정보 보호 강화 조치로 기능하지만, 부모 측 로그에서 평문 명령을 암호문으로 대체함으로써 감사 가능성(auditability)의 퇴보를 초래합니다.
이 문제는 PR #26210이 병합된 이후의 Codex CLI 버전(post-0.137.0 이후)에 영향을 미치며, 특히 MultiAgentV2 프레임워크 내의 spawn_agent, send_message, followup_task 함수에 영향을 미칩니다.
기술적 근본 원인: 불투명한 메시지 페이로드
이 퇴보는 InterAgentCommunication::new_encrypted()의 구현에서 비롯됩니다. 이 함수는 의도적으로 content 필드를 빈 문자열로 초기화하고 페이로드를 encrypted_content 필드에만 저장합니다.
시스템이 to_model_input_item()을 통해 이러한 통신을 모델 입력 항목으로 변환할 때, encrypted_content의 존재 여부를 확인합니다. 만약 존재한다면, AgentMessageInputContent::EncryptedContent 항목을 생성합니다. 결과적으로 수신 모델은 서버 측에서 복호화를 위한 암호문을 받지만, 동일한 항목에 의존하는 로컬 기록은 암호화된 문자열만 기록하게 됩니다.
그 결과, 개발자는 다음과 같은 중요한 디버깅 질문에 더 이상 쉽게 답할 수 없습니다:
spawn_agent호출 중에 자식 에이전트에게 할당된 구체적인 작업은 무엇인가?- 서브 에이전트에게 전달된 정확한 메시지는 무엇인가?
- 롤아웃 이후 검토 중에 특정 자식 스레드가 생성된 이유는 무엇인가?
제안된 해결책: 이중 콘텐츠 계약
암호화된 전달 경로를 손상시키지 않으면서 감사 가능성을 복구하기 위해