분명 다른 사람이 알려준 스크립트를 크롬 콘솔에 붙여넣으려는 것뿐인데, 갑자기 “Don’t paste code into the DevTools Console…”이라는 빨간 경고 문구가 떠서 당황하신 적 있으실 겁니다. Ctrl+V가 안 먹히니 뭐가 잘못됐나 싶으시죠. 결론부터 말씀드리면 이건 오류가 아니라 브라우저가 의도적으로 막아둔 보안 장치입니다. 이번 글에서 원인과 해결 방법을 정리해봤습니다.
핵심 요약
1. 이 경고는 브라우저 버그가 아니라 셀프 XSS(Self-XSS) 피싱을 막기 위한 크롬·엣지의 정식 보안 기능입니다.
2. 해결 방법은 콘솔 입력창에 allow pasting이라고 직접 타이핑한 뒤 엔터를 누르는 것뿐입니다. 붙여넣기가 아니라 직접 입력해야 합니다.
3. 본인이 신뢰할 수 있는 코드가 아니라면, 이 경고가 뜬 걸 오히려 “붙여넣기를 멈추라”는 신호로 받아들이셔야 합니다.
목차
- 왜 이런 경고가 뜨는가
- 해결 방법: allow pasting 입력하기
- 셀프 XSS가 실제로 어떻게 악용되는가
- 이 경고, 무시해도 되는 경우 vs 조심해야 하는 경우
- 흔히 하는 착각
- 콘솔에 코드 붙여넣기 전 체크리스트
왜 이런 경고가 뜨는가
이 경고는 2019년경부터 크롬이 도입한 기능이고, 지금은 엣지·브레이브 등 크로미움 기반 브라우저 대부문에 동일하게 적용되어 있습니다. 개발자 도구(DevTools) 콘솔에 텍스트를 붙여넣으려고 하면, 브라우저가 그 콘솔이 “코드가 그대로 실행되는 창”이라는 걸 감지하고 자동으로 입력을 막아버립니다.
이유는 간단합니다. 콘솔은 웹페이지 컨텍스트 안에서 자바스크립트를 즉시 실행할 수 있는 창이라, 여기에 붙여넣는 코드는 웹페이지 개발자 권한으로 그대로 실행됩니다. 사용자가 뭘 붙여넣는지 모른 채로 실행하면, 로그인 세션 토큰을 탈취하거나 계정 설정을 몰래 바꾸는 스크립트가 그대로 작동할 수 있는 거죠. 개발자 도구를 열어본 적 없는 일반 사용자가 이런 위험에 노출되는 걸 막기 위해 만들어진 장치입니다.

해결 방법: allow pasting 입력하기
해결 자체는 아주 간단합니다. 경고 메시지 아래 깜빡이는 콘솔 입력창에, 붙여넣기가 아니라 직접 키보드로 아래 문구를 타이핑하고 엔터를 누르면 됩니다.

allow pasting
여기서 헷갈리시는 분들이 많은데, 이 문구를 복사해서 붙여넣으려고 하면 당연히 또 막힙니다. 붙여넣기 자체가 차단된 상태니까요. 반드시 손으로 직접 쳐야 합니다. 한 번 입력하고 나면 그 이후부터는 같은 탭의 콘솔에서 붙여넣기가 정상적으로 풀립니다.
탭을 새로고침하거나 새 탭에서 개발자 도구를 열면 이 제한이 다시 걸립니다. 세션 단위로 초기화되는 방식이라, 매번 새로 열 때마다 다시 입력해야 하는 게 번거로울 수 있는데, 이건 의도된 동작입니다. “한 번 허용했으니 계속 허용”으로 두면 보안 장치의 의미가 없어지기 때문이에요.
인터넷에 도는 우회법, 실제로는 이렇습니다
일부 커뮤니티 글에서는 “설정에서 이 경고를 아예 꺼버릴 수 있다”는 식으로 소개하는 경우가 있는데, 실제로 크롬 정식 설정 메뉴에는 이 기능을 영구적으로 끄는 옵션이 없습니다. 확장 프로그램을 이용해 우회하는 방법이 떠돌기도 하는데, 정체불명의 확장 프로그램을 깔아서 보안 경고를 끄는 게 오히려 더 위험한 선택이 될 수 있으니 권장하지 않습니다.
셀프 XSS가 실제로 어떻게 악용되는가
이 경고가 왜 필요한지 감이 잘 안 오실 수도 있는데, 실제 사례를 보면 이해가 쉽습니다. 페이스북, 인스타그램 계정 해킹 수법 중 상당수가 이 방식을 씁니다.
- “이 코드를 콘솔에 붙여넣으면 무료 팔로워를 얻을 수 있어요” 같은 문구로 사용자를 유도
- 사용자가 시키는 대로 F12를 누르고 콘솔에 코드를 붙여넣음
- 해당 코드가 실행되면서 로그인 세션 쿠키나 토큰이 공격자 서버로 전송됨
- 공격자가 그 정보로 사용자 계정에 접근
이걸 셀프 XSS(Self Cross-Site Scripting)라고 부르는데, 일반적인 XSS 공격과 달리 공격자가 직접 시스템에 침투하는 게 아니라 사용자 스스로 자기 계정을 공격하게 만드는 방식이라 이런 이름이 붙었습니다. 기술적으로 막기 어려운 사회공학적 공격이라, 브라우저 차원에서 “일단 붙여넣기부터 막고 보자”는 식으로 대응한 게 지금의 이 경고 메시지입니다.

이 경고, 무시해도 되는 경우 vs 조심해야 하는 경우
| 상황 | 안전 여부 | 이유 |
|---|---|---|
| 개발자가 본인이 작성한 코드를 테스트할 때 | 안전 | 코드 내용을 본인이 이미 알고 있는 상태 |
| 공식 문서나 신뢰할 수 있는 기술 블로그의 디버깅 스니펫 | 대체로 안전 | 출처가 명확하고 코드 내용을 확인 가능 |
| SNS 게시물이나 DM으로 받은 “이거 붙여넣으면 ○○ 된다”는 코드 | 위험 | 셀프 XSS 피싱의 전형적인 패턴 |
| 출처 불명 커뮤니티 글의 “치트키” 성격 스크립트 | 위험 | 코드 난독화로 실제 동작을 숨기는 경우가 많음 |
실무에서 프론트엔드 개발자들이 콘솔에 코드를 붙여넣는 건 아주 흔한 일입니다. 디버깅용 함수를 임시로 실행하거나, 로컬 스토리지 값을 확인하는 스니펫을 돌릴 때 자주 쓰거든요. 이럴 때는 allow pasting 입력하고 편하게 쓰시면 됩니다. 문제는 본인이 코드 내용을 전혀 이해하지 못한 채로 “일단 붙여넣기부터” 하는 상황입니다.
흔히 하는 착각
“이거 브라우저 오류다, 재설치하면 해결되겠지” — 아닙니다. 재설치해도 동일하게 뜹니다. 이건 버그가 아니라 정식으로 탑재된 보안 기능이거든요.
“allow pasting 한 번 입력하면 앞으로 계속 안 떠야 하는 거 아닌가” — 브라우저를 새로고침하거나 새 창을 열면 다시 제한이 걸립니다. 매번 다시 입력해야 하는 게 정상 동작입니다.
“이 경고가 뜨면 무조건 위험한 사이트다” — 사이트 자체의 문제가 아니라, 브라우저의 콘솔 기능 자체에 걸려 있는 전역 보호 장치입니다. 정상적인 사이트에서도 개발자 도구를 열고 붙여넣기를 시도하면 똑같이 뜹니다.
콘솔에 코드 붙여넣기 전 체크리스트
- 이 코드를 누가 어디서 공유했는지 출처를 먼저 확인한다
- 코드 내용을 처음부터 끝까지 읽어보고, 최소한 무슨 동작을 하는지 대략이라도 이해한다
- “팔로워 늘려준다”, “무료 아이템 준다”, “계정 인증 풀어준다” 같은 문구와 함께 온 코드는 절대 실행하지 않는다
- 정말 신뢰할 수 있는 코드라고 판단되면 그때 콘솔 입력창에 allow pasting을 직접 타이핑한다
- 실행 후 이상 동작(로그아웃, 설정 변경, 알 수 없는 게시물 등)이 감지되면 즉시 비밀번호를 변경한다

여기까지 보고 나면 자연스럽게 궁금해지실 텐데요, “그럼 실제로 셀프 XSS 코드는 어떻게 생겼길래 사람들이 속아 넘어가는가”는 다음 글에서 실제 피싱 사례 코드를 분석하며 다뤄보겠습니다.
결국 이 경고는 ‘멈추라’는 신호입니다
이 글을 쓰면서 다시 느낀 건, 이 경고 메시지가 불편함을 주려고 만든 게 아니라 정확히 사용자를 보호하려고 설계된 장치라는 점입니다. allow pasting을 입력하는 순간 스스로에게 한 번 더 물어보시길 권합니다. “이 코드, 내가 정말 뭘 하는지 알고 붙여넣는 건가?”
여러분은 이 경고를 처음 봤을 때 어떤 상황이었나요? 개발 작업 중이셨나요, 아니면 어디선가 공유받은 코드를 실행하려던 상황이었나요? 그리고 혹시 이 경고 덕분에 수상한 코드 실행을 멈춘 경험이 있으시다면 댓글로 공유해주시면 좋겠습니다.
이어서 읽으면 좋은 글로는 SNS 계정 해킹 피해 예방을 위한 브라우저 보안 설정 총정리, 개발자 도구(F12) 기본 사용법, 콘솔부터 네트워크 탭까지를 준비하고 있습니다.