🇰🇷 한글 설명
Omnigent 0.3.0 미만 버전에서 인증된 사용자가 경로 조작이 가능한 os_env.cwd 값을 포함한 에이전트 번들을 업로드할 수 있는 취약점이 존재합니다. 이로 인해 공격자는 의도된 작업 공간을 벗어나 러너의 파일 시스템과 환경 비밀 정보에 접근하여 읽기, 쓰기 및 쉘 명령을 실행할 수 있습니다.
💡 쉬운 설명
해커가 특수하게 조작된 파일을 업로드하여 프로그램이 정해진 구역을 벗어나 컴퓨터의 중요한 파일들을 마음대로 읽거나 수정할 수 있게 만드는 보안 결함입니다. 이를 통해 시스템의 비밀번호나 중요한 설정 파일이 유출될 위험이 있습니다.
🇺🇸 원문 (English)
Omnigent is an open-source AI agent framework and meta-harness for orchestrating coding agents. Prior to 0.3.0, an authenticated user can upload a session-scoped agent bundle with an absolute or traversal-containing os_env.cwd value because omnigent/spec/parser.py stores the value verbatim and omnigent/spec/validator.py does not constrain it. On a runner where OMNIGENT_RUNNER_WORKSPACE is unset, omnigent/runner/resource_registry.py preserves the attacker-controlled path and omnigent/inner/os_env.py uses the resolved path as the environment root and copytree source. The _assert_within_cwd check then treats that attacker-selected root as trusted, allowing sys_os_read, write, edit, and shell tools to access runner files and environment secrets outside the intended workspace. This issue is fixed in version 0.3.0.
📍 영향받는 시스템
Omnigent versions prior to 0.3.0
⚔️ 공격 벡터
인증된 사용자가 경로 조작(Path Traversal)이 포함된 에이전트 번들을 업로드하여 환경 변수 경로를 조작함
🛡️ 대응 방법
Omnigent를 0.3.0 버전 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 0.3.0 미만이면 취약한 상태이며, 아무것도 출력되지 않거나 0.3.0 이상이면 안전합니다.
python3 -c 'import omnigent; print(omnigent.__version__)' 2>/dev/null | grep -E '^([0-2]\.|0\.0\.|0\.1\.|0\.2\.)'