🇰🇷 한글 설명
Omnigent 0.3.0 미만 버전의 쉘 명령 파서가 특정 플래그나 래퍼, 명령 치환 등을 제대로 인식하지 못하는 취약점이 발견되었습니다. 이로 인해 보안 정책이 우회되어 인증된 사용자나 프롬프트 주입 공격자가 허가되지 않은 저장소에 푸시하거나 작업 디렉토리를 벗어날 수 있습니다.
💡 쉬운 설명
AI 코딩 도구가 명령어를 검사할 때 복잡한 형식을 제대로 읽지 못해 보안 규칙을 통과해버리는 문제입니다. 이를 통해 공격자가 AI를 조종하여 원래 허용되지 않은 파일이나 저장소에 접근할 수 있습니다.
🇺🇸 원문 (English)
Omnigent is an open-source AI agent framework and meta-harness for orchestrating coding agents. Prior to 0.3.0, the shared shell-command parser in omnigent/policies/builtins/_shell.py fails to recognize combined interpreter flags, the timeout, nice, setsid, and stdbuf wrappers, command substitutions, and a single background control operator. A gated git push or gh write hidden with these forms produces no parsed operation, causing the github.py write_repos and write_branches allowlist and the working_dir.py workspace confinement policies to abstain and allow the command. An authenticated or prompt-injected agent can therefore push to an unauthorized repository or branch or escape the intended workspace. This issue is fixed in version 0.3.0.
📍 영향받는 시스템
Omnigent framework versions prior to 0.3.0
⚔️ 공격 벡터
프롬프트 주입(Prompt Injection) 또는 인증된 사용자가 특수하게 구성된 쉘 명령어를 입력하여 보안 정책 우회
🛡️ 대응 방법
Omnigent를 0.3.0 버전 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 0.3.0 미만이면 취약한 상태이며, 0.3.0 이상이면 안전합니다.
python3 -c 'import omnigent; print(omnigent.__version__)' 2>/dev/null || echo 'Omnigent not installed'