1P by neo 1달전 | favorite | 댓글 1개
  • Anthropic이 출시한 Claude Computer Use는 컴퓨터를 제어할 수 있게 해주는 모델+코드
    • 클로드는 스크린샷을 통해 결정을 내리고, bash 명령어를 실행하는 등의 작업이 가능함
  • 멋진 기능이지만 프롬프트 인젝션에 취약할 수 있음
    • AI가 기계에서 자율적으로 명령어를 실행할 수 있기 때문에, 프롬프트 인젝션으로 악용될 경우 심각한 위험을 초래

악성코드 실행하기 - 얼마나 어려울까?

  • Claude Computer Use가 프롬프트 인젝션 공격을 통해 악성코드를 다운로드하고 실행하여 Command and Control(C2, 지휘통제) 인프라에 연결할 수 있는지 알아보고 싶었음

C2 서버

  • Sliver를 사용하여 C2 인프라를 구축하고 리눅스용 클라이언트 바이너리를 생성함
    • Silver: 오픈소스 적대적 에뮬레이션 프레임워크(레드 팀). 보안 테스트용으로 사용됨
  • implant라고 불리는 이 바이너리를 실행하면 C2 서버에 안전하게 연결되고 감염된 컴퓨터는 좀비가 됨
    • 이 바이너리를 spai-demo, 감염된 컴퓨터를 ZombAI로 부르기로 함
  • Claude Computer Use에게 프롬프트 인젝션 공격을 해서 이 C2 서버에 접속하게 만들수 있을까?

악성 웹 페이지

  • spai-demo 바이너리를 다운로드할 수 있도록 웹 서버에 호스팅함
  • Claude가 바이너리를 다운로드하고 실행하도록 프롬프트 인젝션 페이로드를 작성하는 것이 목표

악성 페이지 탐색하기

  • Claude는 Firefox를 열고 URL을 붙여넣어 웹 페이지를 탐색할 수 있음
  • 대상 페이지는 악성이며 프롬프트 인젝션 페이로드가 포함되어 있음
  • 웹페이지가 Claude에게 bash 명령어를 실행하도록 만드는 데 성공함

한 문장으로 컴퓨터 감염시키기

  • 사실 클로드에게 Firefox를 사용하여 악성코드를 다운로드하고 실행하도록 요청하는 것이 더 쉬운 방법임
  • 클로드에게 Support Tool 링크를 클릭하여 바이너리를 다운로드하게 함
    • 클로드는 바이너리를 찾기 위해 bash 명령어를 실행하고, 권한을 수정한 후 바이너리를 실행함
  • C2 서버에 연결되었고, 셸 세션에서 감염된 바이너리를 찾을 수 있었음

결론

  • 이 글은 새로운 AI 시스템에 컴퓨터 액세스 권한을 부여할 때 프롬프트 인젝션을 활용하여 C2를 달성할 수 있음을 보여줌
  • 클로드가 악성코드를 직접 작성하고 컴파일하는 등 Claude Computer Use 호스트에 악성코드를 배포하는 다른 방법도 있음
  • "AI를 신뢰하지 말것(TrustNoAI)"
  • 소유하지 않거나 운영 권한이 없는 시스템에서 승인되지 않은 코드를 실행해서는 안 된다는 점을 다시 한 번 기억할 것

글 제목은 혹했는데, 결론적으로는 그냥 "악성코드 실행해" 수준인거라 조금 아쉽네요.