GitLost: 공개 GitHub 이슈가 조직의 Age... 노트

GitLost: 공개 GitHub 이슈가 조직의 Agentic Workflow를 민감한 저장소 내용 유출로 이끌 수 있으며, 한 단어 접두사("Additionally")가 위협 탐지 가드레일을 우회했습니다.

Noma Security는 GitHub Agentic Workflows를 겨냥한 GitLost라는 취약점을 공개했습니다. 이 워크플로우는 개인 액세스 토큰이 부여된 경우 비공개 저장소를 포함한 저장소에 액세스할 수 있는 AI 에이전트를 사용합니다. 취약점의 핵심은 공격자가 공개 저장소의 일반적인 이슈를 통해 이러한 광범위한 액세스를 악용할 수 있다는 점입니다.GitLost는 간접적인 프롬프트 주입을 시연하며, 에이전트의 출력을 조작하는 것에서 벗어나 권한에 따라 에이전트의 행동을 제어하는 데 초점을 맞춥니다. 에이전트는 인증된 엔티티로서 공격자가 달리 액세스할 수 없는 비공개 저장소 정보를 읽을 수 있습니다. 한 예로 에이전트가 비공개 README를 읽고 이를 공개 댓글로 게시하여 정보 유출 채널로 사용하는 경우가 있었습니다.GitHub는 샌드박싱 및 입력 정리와 같은 방어 기능을 구현했지만, Noma는 "Additionally"와 같은 간단한 접두사가 출력 스캐너를 우회한다는 것을 발견했습니다. 이 우회는 근본적인 문제를 강조합니다. 자연어 프롬프트에서 지침과 데이터를 분리하는 어려움입니다. 프롬프트 주입은 완전히 필터링하기 어렵기 때문에 이 문제는 구조적인 문제입니다.이 취약점은 "치명적인 삼중주" 개념과 일치합니다. 즉, 비공개 데이터에 액세스하고, 신뢰할 수 없는 콘텐츠를 수집하며, 아웃바운드 데이터 채널을 보유한 에이전트입니다. Noma는 패턴 매칭 방어보다 격리 및 범위가 지정된 자격 증명과 같은 아키텍처 솔루션이 더 효과적이라고 강조합니다. Aikido, Orca, Invariant Labs 등의 여러 다른 연구에서도 에이전트가 비밀을 유출하거나 비공개 데이터에 액세스하는 유사한 패턴을 보여줍니다. 이러한 발견은 현재 에이전트 시스템에서 더 광범위한 취약점 클래스를 시사합니다.이러한 위험을 완화하기 위해 Noma는 조직 전체 액세스를 부여하는 대신 개인 액세스 토큰의 범위를 단일 저장소로 제한할 것을 제안합니다. 또한 공개되는 워크플로우가 게시할 수 있는 내용을 제한하고 위협 탐지 스캔에만 의존하는 대신 인간 검토를 통해 출력을 게이트할 것을 권장합니다. 에이전트가 작동할 작성자의 콘텐츠를 제한하는 것도 또 다른 완화 전략으로 제안됩니다.