IBM Bob, 프롬프트 인젝션(Prompt Injection) 공격에 취약
IBM의 AI 코딩 에이전트 'Bob'이 프롬프트 인젝션(Prompt Injection) 공격에 취약한 것으로 드러남
사용자가 '항상 허용' 설정을 사용할 경우, 악성코드 다운로드 및 실행 가능성이 존재
Bob CLI(터미널 기반) 및 Bob IDE(AI 기반 편집기) 모두 데이터 유출(Data Exfiltration)에 취약
IBM은 'Bob'의 정식 출시 전, 보안 강화(Security Enhancement)를 통해 위험을 완화할 계획
프롬프트 인젝션(Prompt Injection) 공격 메커니즘
IBM Bob CLI는 사용자가 '항상 허용' 설정을 사용할 경우, 프롬프트 인젝션(Prompt Injection) 공격에 취약하다. 공격자는 사용자가 신뢰하는 'echo' 명령어를 통해 악성 명령어(Malicious Command)를 우회하여 실행할 수 있다. 특히, 리다이렉션 연산자(>)를 사용한 명령어 체이닝(Command Chaining)과 프로세스 치환(Process Substitution)을 통해 방어 메커니즘(Defense Mechanism)을 우회하는 것이 핵심이다. 이는 사용자의 시스템에 임의의 쉘 스크립트(Shell Script)를 실행할 수 있게 하여 심각한 보안 위협을 초래한다.
취약점 분석: 명령어 체이닝(Command Chaining) 및 프로세스 치환(Process Substitution)
기술적으로 보면, Bob CLI는 명령어 체이닝(Command Chaining) 시 각 하위 명령어를 제대로 식별하지 못하는 취약점을 가지고 있다. 또한, 명령어 치환($()) 사용을 금지하지만, 프로세스 치환(>(command))은 제대로 제어하지 못한다. 이러한 취약점은 공격자가 악성 페이로드(Malicious Payload)를 우회하여 실행할 수 있도록 한다. 특히, 'echo' 명령어를 '항상 허용'한 사용자는 악의적인 쉘 스크립트 실행을 무의식적으로 허용하게 된다.
Bob IDE의 데이터 유출(Data Exfiltration) 취약점
Bob IDE는 AI 애플리케이션에서 흔히 발생하는 데이터 유출(Data Exfiltration) 취약점에 노출되어 있다. 특히, Markdown 이미지 및 Mermaid 다이어그램 렌더링 시, 공격자가 제어하는 엔드포인트로 요청을 보낼 수 있다. 또한, JSON 스키마 사전 로딩(Pre-fetching)을 통해 동적으로 생성된 URL을 통해 데이터 유출이 가능하다. 이러한 취약점은 기밀 정보(Confidential Information)의 무단 유출로 이어질 수 있다.
공격의 영향 및 잠재적 피해
본 공격은 쉘 스크립트 실행을 통해 랜섬웨어(Ransomware), 자격 증명 탈취(Credential Theft), 장치 탈취(Device Takeover) 등 다양한 사이버 공격으로 이어질 수 있다. 특히, 공격자는 피해자의 시스템을 암호화폐 채굴 봇넷(Cryptocurrency-mining Botnet)으로 악용할 수 있다. 이러한 결과는 IBM Bob CLI의 취약점을 통해 사용자의 시스템이 완전히 손상될 수 있음을 보여준다.