AI 보이는 추론 실험실 · 인코딩 단계와 경계

AI가 URL의 %252F를 두 번 풀어도 될까?

퍼센트 인코딩을 반복해서 풀면 처음에는 데이터였던 조각이 경로 구분자로 바뀔 수 있습니다. 입력과 디코딩 횟수를 바꾸며 경계 변화를 확인합니다.

탐구게시 2026-10-08읽기·실험 약 14분확인 문제 2개교육용 계산한국논리학협회 자체 제작제작·검수 LTCT 편집부

철도역 운영실에서 성인 예약 시스템 기술자가 색상 경로 토큰과 디코딩 단계를 살피고 작은 공식 갈색 안경 올빼미가 경로 보드의 토큰을 옮기는 장면
주제 이해를 돕기 위한 AI 생성 이미지 · LTCT 자체 제작
오늘의 질문

검사를 통과한 URL 조각을 다른 단계에서 한 번 더 풀면 같은 경로일까요?

safe%252Fadmin 문자열을 한 번 디코딩하면 safe%2Fadmin, 두 번 디코딩하면 safe/admin이 되어 데이터 조각이 경로 구분자로 바뀌는 그림입니다.
safe%252Fadmin 문자열을 한 번 디코딩하면 safe%2Fadmin, 두 번 디코딩하면 safe/admin이 되어 데이터 조각이 경로 구분자로 바뀌는 그림입니다. · 한국논리학협회 자체 제작
그림 크게 보기 ↗
01

퍼센트 인코딩은 옥텟을 문자 형태로 나타냅니다

URL에서 슬래시 `/`는 경로를 나누는 예약 문자입니다. `%2F`는 같은 옥텟을 퍼센트 인코딩한 표현이며, `%25`는 퍼센트 기호 자체를 나타냅니다.

따라서 `%252F`를 한 번 풀면 `%2F`, 두 번 풀면 `/`가 됩니다. 처리 횟수가 경로의 구조를 바꿉니다.

02

RFC는 같은 문자열의 반복 처리를 경고합니다

RFC 3986은 이미 인코딩하거나 디코딩한 같은 문자열을 다시 처리하면 데이터 옥텟을 인코딩 시작으로 오해할 수 있다고 설명합니다.

검증 단계는 `%2F`를 평범한 글자 묶음으로 보았는데 실행 단계가 다시 풀어 슬래시로 만들면, 두 단계가 서로 다른 경로를 판단하게 됩니다.

참고 · IETF · RFC Editor — URI 일반 문법 ↗

03

정규화와 검증의 순서를 계약으로 고정합니다

AI가 URL을 생성·요약·호출할 때 원문, 정규화된 값, 실제 요청에 쓴 값을 구분해 기록합니다. 디코딩은 구성 요소를 아는 한 단계에서만 수행합니다.

이 활동은 문자열 변화를 보여 줄 뿐 실제 경로 접근이나 보안 우회를 실행하지 않습니다. 운영 검증에는 허용 경로 목록과 프레임워크 동작 확인이 필요합니다.

직접 확인하기 · 교육용 계산

URL 조각과 디코딩 횟수를 바꾸며 경로 경계 확인하기

`decodeURIComponent`를 최대 두 번 적용하는 고정 교육용 모형입니다. 실제 URL 처리는 구성 요소별 규칙과 프레임워크 계약을 따르고, 임의 반복 디코딩을 하지 않습니다.

입력safe%252Fadmin
1회 결과safe%2Fadmin
현재 결과에는 새 경로 구분자가 없습니다.

검증 전후 어느 단계에서 디코딩하는지 계약으로 고정해야 합니다. 이미 처리한 문자열을 다시 풀면 경계가 달라질 수 있습니다.

관계를 읽고, 다른 상황에 적용하기

두 문제로 생각 확인

1`safe%252Fadmin`을 한 번만 디코딩한 결과는?
2검증 뒤 다시 디코딩하는 설계의 핵심 위험은?

두 문제의 답을 모두 선택하면 해설을 볼 수 있습니다.

나의 설명으로 마무리

오늘 발견한 관계

0 / 4,000자

메모는 현재 기기의 브라우저에만 보관됩니다. 계정이나 다른 기기에는 동기화되지 않습니다.

출처와 제작 안내

원문을 참고해 설명·도표·문항·실험을 새로 작성했습니다. 별도 표시가 없는 사례와 수치는 학습을 위한 가상 예시입니다. 원문 번역이나 실제 모델의 성능 평가 자료가 아닙니다.

  1. URI 일반 문법 ↗IETF · RFC EditorRFC 3986: Uniform Resource Identifier — Generic Syntax

    2026년 10월 8일 RFC 3986 §2.4에서 같은 문자열을 두 번 이상 퍼센트 인코딩하거나 디코딩하면 데이터 옥텟과 인코딩 시작을 오해할 수 있으므로 반복 처리하지 말아야 한다는 규정을 확인했습니다.