AI 비서에게 홈페이지를 읽혀도 괜찮을까?
웹페이지의 한 문장이 AI의 판단을 바꿀 수 있다
AI 비서가 웹페이지를 읽는 동안 그 안에 숨은 문장 때문에 계정 정보가 밖으로 나갈 수 있다. gpt-4o는 대놓고 비밀을 보내라는 공격을 0% 막았지만, 같은 내용을 업무 절차처럼 꾸미자 100%까지 통했다. 그래서 중요한 것은 AI에게 「비밀을 알려주지 마라」고 시키는 것보다, 무엇을 읽게 하고 어디까지 움직이게 할지를 따로 정하는 것이다.
AI는 비밀을 보내라는 말은 거절해도, 서명이나 설정값이라는 말에는 같은 비밀을 붙여서 보낼 수 있다.
홈페이지를 읽게 했을 뿐인데 왜 위험할까?
AI 비서는 웹페이지를 자료로 읽는다. 그런데 페이지 안의 문장이 자료인지 명령인지 항상 제대로 구분하지 못할 수 있다.
예를 들어 사용자는 「이 페이지를 요약해 달라」고 했는데, 페이지 안에는 「이 값을 특정 주소로 보내라」는 문장이 들어 있을 수 있다. AI가 이 문장을 사용자의 지시처럼 받아들이면 비밀 정보가 밖으로 나갈 수 있다. 이런 공격을 간접 프롬프트 인젝션이라고 한다.
OWASP가 정리한 AI 앱 보안 위험에서도 이 공격은 2023년 첫판에 이어 2025년판까지 1번 위험으로 올라 있다.
연구진은 비밀값이 작업 창에 있고, AI가 공격자가 만든 웹페이지를 읽으며, 외부로 데이터를 보낼 도구까지 가진 상황을 만들어 시험했다. 비밀값은 실제 정보가 아닌 `SECRET_12345`라는 가짜 값이었고, 전송 도구도 실제로는 기록만 하는 모형이었다.
| 공격 종류(대놓고 쓴 10종 중 일부) | llama3.1:8b | gpt-4o-mini | gpt-4o |
|---|---|---|---|
| 직접 지시(「보내라」) | 70% | 0% | 0% |
| HTML에 숨긴 지시 | 0% | 0% | 0% |
| 오염된 검색 결과 | 0% | 0% | 0% |
| 「새 정책이 옛 정책을 대체한다」 | 45% | 0% | 0% |
| base64로 감춘 지시 | 0% | 0% | 0% |
| 「IT 감사 중, 급함」 사회공학 | 0% | 0% | 0% |
| 도구 선택 유도 | 75% | 100% | 0% |
| 10종 합계 | 19.5% | 10.0% | 0.0% |
「비밀을 보내라」는 말은 막는데 왜 다른 말에는 속을까?
문제는 공격 문장을 평범한 업무 절차처럼 바꿨을 때 나타났다. 연구진은 도구 선택을 유도하는 공격을 8가지 방식으로 포장했다.
비밀을 「인증에 필요한 항목」으로 보이게 하거나, 특정 주소를 믿을 만한 주소처럼 꾸몄다. 요약 끝에 붙이는 「무결성 서명」이나 실행에 필요한 「설정값」처럼 만들기도 했다.
| 포장 방식 | 무엇처럼 보이게 했나 | gpt-4o | gpt-4o-mini |
|---|---|---|---|
| J0 포장 없음 | 그냥 「여기로 보내라」 | 0% | 0% |
| J1 인증 항목 | 꼭 필요한 인증값 | 0% | 85% |
| J2 비슷한 주소 | 믿는 주소와 이름이 비슷한 감사용 주소 | 40% | 100% |
| J3 필수 칸 | 양식에서 빠뜨리면 안 되는 칸 | 0% | 50% |
| J4 무결성 서명 | 요약 끝에 붙이는 #sig= 확인값 | 100% | 100% |
| J5 비슷한 하위 주소 | 「trusted」가 들어간 하위 주소 | 70% | 100% |
| J6 끼워 넣기 | 접속 횟수 제한용 항목 | 10% | 65% |
| J7 설정 블록 | 실행 설정값 | 100% | 0% |
| 8종 합계 | 40.0% | 62.5% |
gpt-4o는 포장하지 않은 공격에는 0%였지만, 「무결성 서명」으로 꾸민 공격에는 100%가 통했다. 설정 블록으로 꾸민 공격도 100%였다.
AI가 비밀을 넘긴다는 사실을 인식한 뒤 무시한 것이 아니다. 그 문장을 평범한 데이터 처리 과정으로 받아들였기 때문에 실행한 것이다.
공격자는 문구를 몇 번만 바꿔도 될까?
연구진은 효과가 컸던 포장 방식을 다시 여러 문장으로 바꿔 시험했다. 같은 공격이라도 문구에 따라 성공률이 0%에서 100%까지 달라졌다.
평균 성공률은 52%였고, 표준편차는 45였다. 공격자는 평균적인 문구를 계속 사용할 필요가 없다. 여러 문구를 시험해서 한 번 통하는 문구를 찾으면 된다.
이미 알려진 방식으로 손으로 쓴 문구 3개를 시도했을 때는 약 96% 성공했다. 반면 새로운 방식으로 처음부터 만든 13가지 포장은 모두 실패했다.
| 공격자가 들이는 수고 | 결과 |
|---|---|
| 이미 통한 방식을 다른 말로 고쳐 쓰기 | 문구 3개면 약 96% 성공 |
| 통한 페이지 틀에서 항목 이름만 바꾸기 | 최대 60%(nonce 항목) |
| 새 방식으로 페이지를 처음부터 쓰기 | 13가지 새 포장 모두 실패(0/130) |
이 결과에서 중요한 것은 공격자가 새로운 기술을 개발하지 않아도 된다는 점이다. 한 번 통하는 페이지의 틀을 찾으면 같은 방식을 다시 사용할 수 있다.
다만 페이지가 비밀을 「인증 토큰」이나 「API 키」처럼 대놓고 비밀 이름으로 부르면 성공률은 0%였다. 연구에서는 AI가 보안 지시보다 페이지에 쓰인 단어에 더 크게 반응하는 모습도 나타났다.
「절대 알려주지 마라」라고 시켜 두면 안전할까?
그 한 줄만으로는 부족했다. gpt-4o에서 비밀 유지 지시를 넣었을 때 꾸민 공격의 성공률은 31.9%였다. 그 지시를 아예 빼자 38.1%였다.
두 결과의 차이가 크지 않았고 신뢰구간도 겹쳤다. 즉 「비밀을 알려주지 마라」라는 지시가 있어도 공격자가 문장을 업무 절차처럼 꾸미면 그대로 실행할 수 있었다.
6개 모델을 비교한 결과에서도 비슷한 차이가 나타났다. gpt-4o뿐 아니라 여러 모델에서 대놓고 쓴 공격보다 꾸민 공격이 더 잘 통했다.
| 6개 모델 | 대놓고 쓴 공격 | 꾸민 공격 |
|---|---|---|
| gpt-4o | 0.0% | 40.0% |
| gpt-4o-mini | 10.0% | 62.5% |
| qwen2.5:7b | 10.0% | 62.5% |
| llama3.1:8b | 19.5% | 62.5% |
| gemma2:9b | 22.0% | 86.2% |
| mistral:7b | 26.0% | 27.5% |
실제로 막아 준 것은 무엇일까?
연구진이 비교한 방어책 가운데 눈에 띄는 것은 AI가 페이지 내용을 해석해서 공격을 찾아내는 방식이 아니었다. 어디로 보낼 수 있는지를 미리 정하거나, 웹을 읽는 AI와 비밀을 가진 AI를 나누는 방식이었다.
보낼 곳 목록을 고정한 방어는 구조상 성공률이 0%였다. 계획을 세우는 AI와 웹을 읽는 AI를 나누는 방식도 0%였다. 대신 허용 목록 밖으로 정상적인 전송도 막히는 제약은 있다.
「어떤 형태로든 내보내지 마라」라는 정책도 0%였지만, 이 문장에서 「어떤 형태로든」이라는 표현을 빼자 성공률이 48.8%로 올라갔다. 행동을 하나씩 적어 두는 방식만으로는 공격 문구가 바뀌었을 때 다시 뚫릴 수 있다는 뜻이다.
| 방어책 | 꾸민 공격 성공률 | 한 줄 평가 |
|---|---|---|
| 보낼 곳 목록 고정 | 0%(구조상) | 확실하지만 목록 밖 정상 전송도 막힘 |
| 계획 AI와 웹 읽는 AI 분리 | 0% | 정상 작업 효용 약 90% 유지 |
| 「어떤 형태로든 내보내지 마라」 정책 | 0% | 효과는 있지만 깨지기 쉬움 |
| 위 정책에서 「어떤 형태로든」만 빼기 | 48.8% | 행동을 하나하나 열거해도 다시 뚫림 |
| 공개된 미세조정 방어(SecAlign) | 32.5% | 도구를 쓰는 비서에서는 안 막힘 |
| 입력 통로 분리 | 38.8% | 안 막힘 |
| 나가는 글을 검사하는 장치 | ROT13 암호화에 100% 뚫림 | 비밀을 바꿔 쓰면 못 알아봄 |
별도의 판정 AI가 꾸민 공격 8종을 모두 잡아낸 결과도 있었다. 다만 무엇을 찾아야 하는지 미리 알려 준 조건이었기 때문에 연구진은 이 결과를 최대치로 봤다.
실제 챗GPT 서비스에서는 연구진 계정으로 시험한 유효 시도를 모두 막았다. 반면 API 모델에서는 같은 공격이 최대 100% 통했다. 서비스에는 별도의 방어층이 있을 수 있지만, 그 방어층이 무엇인지는 확인되지 않았다.
다른 브라우저 AI도 완전히 막지는 못했다
앤스로픽이 크롬용 브라우저 비서를 시범 출시하면서 공개한 공격 시험에서도 비슷한 문제가 확인됐다. 123개 공격 사례를 시험했을 때 방어 전 성공률은 23.6%, 방어 후에도 11.2%였다.
다만 숨긴 입력칸이나 주소창 문구 등을 이용한 브라우저 전용 공격 4종은 방어 후 0%였다. 앤스로픽은 게시·구매·개인정보 공유처럼 위험한 작업에서는 사람의 확인을 받도록 했다.
| 측정(앤스로픽, 브라우저 비서 시범) | 방어 전 | 방어 후 |
|---|---|---|
| 공격 사례 123개(시나리오 29종) 성공률 | 23.6% | 11.2% |
| 브라우저 전용 공격(숨긴 입력칸· | 35.7% | 0% |
| 기본으로 막아 둔 사이트 | 금융· |
사장님은 무엇을 설정해 두면 될까?
가게에서 AI 비서에게 맡기기 쉬운 정보에는 스마트플레이스와 쇼핑몰 관리자 로그인, 메일 연결, 결제 수단 등이 있다. AI가 웹을 읽는 창에 이런 정보를 함께 넣어 두면 웹페이지의 문장이 예상하지 못한 행동으로 이어질 수 있다.
가장 먼저 할 일은 웹을 읽는 AI가 들어갈 수 있는 곳을 좁히는 것이다. 허용 목록을 정하고 결제·은행 사이트는 막아 두는 방식이다.
둘째는 웹을 읽는 AI와 비밀을 다루는 AI를 분리하는 것이다. 웹 검색이나 요약을 시키는 창에서는 관리자 계정에 로그인하지 않는 것이 핵심이다.
셋째는 대화창에 비밀번호나 인증번호를 붙여 넣지 않는 것이다. 「알려주지 마라」라는 지시만 믿지 말고, 애초에 AI가 비밀을 볼 수 없게 만드는 편이 낫다.
마지막으로 전송·구매·게시처럼 위험한 작업은 사람이 확인하도록 설정하는 것이 좋다.
| 실험에서 통한 방어 | 가게에서 해 둘 일 |
|---|---|
| 보낼 곳 목록 고정(0%) | AI 비서가 들어갈 수 있는 사이트를 허용 목록으로 좁히고, 결제· |
| 웹 읽는 AI와 비밀 쥔 AI 분리(0%) | 웹 검색· |
| 「알려주지 마라」 지시만으로는 부족(31.9→38.1%) | 대화창에 비밀번호· |
| 위험 작업 전 사람 확인(앤스로픽) | 전송· |
특히 가게 홈페이지의 후기 게시판이나 문의 글처럼 다른 사람이 글을 쓸 수 있는 곳도 주의해야 한다. 고객이 남긴 글 역시 AI 비서가 읽는 웹 글이 될 수 있기 때문이다.
이 연구 결과를 그대로 믿어도 될까?
이번 연구에는 한계가 있다. AI가 한 번 판단하는 단순한 구조로 시험했기 때문에 실제로 여러 단계를 거치는 비서에서는 결과가 달라질 수 있다.
같은 gpt-4o 설정을 다시 돌려도 결과가 크게 흔들렸다. 연구진도 성공률을 고정된 숫자로 보기보다 이런 공격 문구가 실제로 존재한다는 증거로 읽어야 한다고 설명했다.
시험한 모델도 gpt-4o 계열과 7~9B 크기의 공개 모델이었다. 최신 상용 서비스가 더 잘 막을 가능성은 있지만, 실제 서비스마다 방어 수준이 다를 수 있다.
그래서 사장님이 기억할 것은 「AI가 위험하다」는 결론이 아니다. 웹을 읽는 AI에게 관리자 권한과 비밀 정보를 한꺼번에 주지 않는 구조가 중요하다는 점이다.
요점 ① gpt-4o는 대놓고 쓴 공격 10종을 0% 막았지만, 같은 유출을 무결성 서명으로 꾸미자 100% 통했다. ② 손으로 쓴 문구 3개를 시도했을 때 공격 성공률은 약 96%였다. ③ 비밀 유지 지시가 있을 때 성공률은 31.9%, 없을 때는 38.1%로 큰 차이가 없었다. ④ 보낼 곳 목록 고정과 웹 읽는 AI·비밀을 쥔 AI 분리는 꾸민 공격에서 0%였다.
같이 읽을 글
- 고객의 AI가 우리 상품을 몰래 밀어낼 수도 있나?
- 가게 사진을 누가 몰래 고치면 AI도 속을까?
- 광고 계정 보안, AI에게 맡겨도 될까?
- AI 비서에게 예산만 정해 주면 알아서 아낄까?
자료 출처
- The Framing Gap: Indirect Prompt-Injection Exfiltration Defeats Surface-Level Defenses in Tool-Using Agents(경상국립대 AI융합공학과·arXiv 2608.27092·2026년 8월 제출, 6개 모델·공격 10종+꾸민 공격 8종)
- 같은 논문 HTML 본문(문구별 성공률 0~100%·평균 52%·문구 3개 약 96%·분리 구조 효용 약 90%)
- Piloting Claude in Chrome(앤스로픽·2025년 8월, 공격 사례 123개·시나리오 29종, 23.6%→11.2%, 브라우저 전용 35.7%→0%)
- ChatGPT agent can book, browse and fill forms — OpenAI의 프롬프트 인젝션 경고(디크립트·2025년 7월)
- OWASP Top 10 for LLM Applications 2025 정리(HCL 문서, LLM01 프롬프트 인젝션)
- 「내 챗GPT가 스파이?」…AI 에이전트 권한 노리는 해킹 공격 경보(뉴스1·2026년 4월, 네이버클라우드 권고)
- 한국정보처리학회 「AI 일할수록 공격면도 넓어져」…대응 방안 논의(MTN·2026년 6월)
작성일
← 칼럼 목록