한국어

개발자 도구 · JWT 디코더

JWT 디코더에 서버가 필요하지 않은 이유: 네트워크 패널로 확인

· 작동 방식

jwt 개인정보 보호 브라우저 처리 중

업로드 화살표 없이 JWT 세그먼트를 디코딩하는 브라우저
원본 ToolAcre 벡터 일러스트레이션

문자열을 분할하고 base64url을 디코딩하는 것은 브라우저에게는 사소한 작업이므로 디코더가 토큰을 어디로든 보낼 기술적인 이유가 없습니다. 이 게시물에서는 도구가 이를 로컬로 유지하는지 확인하는 방법을 보여줍니다.

디코딩을 누르면 내 토큰은 어디로 가나요? — 모든 온라인 도구에 대해 묻는 질문

온라인 디코더를 사용하기 전에 버튼을 누른 후 문자열을 수신하는 것이 무엇인지 물어보십시오. JWT는 실시간 전달자 자격 증명일 수 있으므로 업로드는 읽을 수 있는 것보다 훨씬 더 많은 소유권을 노출할 수 있습니다. 인터페이스가 텍스트 포맷터처럼 보인다는 이유만으로 페이지가 프로덕션 토큰을 받아서는 안 됩니다.

ToolAcre의 자체 경고는 마케팅 약속보다 더 엄격합니다. 이 도구를 포함한 어떤 웹 도구에도 생산 토큰을 붙여넣지 마십시오. 만료되었거나 순환되었거나 합성된 예시를 사용하세요. 구현은 로컬에서 실행되지만 브라우저 확장, 주변 스크립트 및 장치는 신뢰해야 하는 환경의 일부로 남아 있습니다.

관련 작업 — 문자열 분할, base64url 디코딩 및 JSON 구문 분석, 모든 표준 브라우저 기능

실제 디코드는 문자열 작업과 브라우저 기본 요소로 구성됩니다. 코드는 선택적 Bearer 접두사를 자르고, 점으로 분할하고, base64url 알파벳을 정규화하고, 패딩을 복원하고, `atob`을 호출하고, 엄격한 UTF-8 TextDecoder를 통해 바이트를 변환하고 처음 두 결과를 JSON 개체로 구문 분석합니다.

이러한 단계 중 어느 것도 원격 서비스가 필요하지 않습니다. NumericDate 행은 로컬 Date 구현을 사용하고, 클레임 행은 구문 분석된 개체에서 조합되며, 출력은 텍스트로 할당됩니다. 소스는 검증 라이브러리를 가져오지 않으며 검사가 제공되는 유일한 작업이므로 비밀 키나 공개 키를 요구하지 않습니다.

확인 방법 — 네트워크 패널을 열고 토큰을 붙여넣은 후 디코딩하고 요청을 관찰합니다.

무해한 테스트 데이터를 입력하기 전에 개발자 도구를 열고 네트워크 목록을 지우고 디코딩을 수행한 다음 새 요청을 검사하십시오. 토큰 또는 고유 하위 문자열에 대한 요청 URL, 메서드 및 본문을 검색합니다. 동시에 발생하는 요청은 자동으로 업로드되지 않습니다. 자격 증명 바이트가 있는지 여부를 증명합니다.

테스트를 통제하십시오. 자산 요청이 완료되도록 먼저 페이지를 로드하고, 페이로드에 고유한 합성 마커를 사용하고, 실제 자격 증명을 피하세요. 요청 본문, URL 또는 헤더에 마커가 나타나면 해당 값은 로컬 디코드 경로를 벗어났습니다. 그렇지 않은 경우 관찰은 해당 세션만 지원합니다.

엄격한 콘텐츠 보안 정책은 대상 범위를 좁힙니다. 이 페이지에는 아직 공개된 스크립트가 로드되어 있습니다.

생성된 페이지에는 `connect-src`이 임의의 원격 API가 아닌 자체, Blob 및 데이터 대상을 허용하는 콘텐츠 보안 정책이 포함되어 있습니다. 이는 일반적인 스크립트 시작 연결을 의미 있게 제한하지만 "타사 스크립트, 태그 또는 분석이 없음"이라는 개요의 주장을 정당화하지는 않습니다. 더 광범위한 제품에서는 공개된 Google 스크립트를 로드할 수 있습니다.

CSP는 모든 실행 가능한 구성 요소가 자격 증명을 받을 자격이 있다는 증거가 아니라 심층적인 방어입니다. 자사 엔드포인트는 허용된 상태로 유지되고 확장 프로그램은 다른 권한으로 작동하는 동안 대상을 제한할 수 있습니다. 네트워크 증거 및 출처와 함께 정책을 읽으십시오. 이러한 개별 관찰을 "아무도 이 필드를 읽을 수 없음"으로 축소하지 마십시오.

디코더는 토큰을 저장하지 않지만 다시 로드 테스트로는 모든 주변 구성 요소가 무해하다는 것을 증명할 수 없습니다.

JWT 패널은 해당 토큰을 편집기 값에 유지하고 localStorage 또는 sessionStorage를 호출하지 않습니다. 패널을 지우면 현재 값이 제거되고 다시 로드에는 토큰을 복원하는 기능이 포함되지 않습니다. 더 좁은 소스 사실은 패널 자체에 대한 비지속성 진술을 뒷받침합니다.

다시 로드한 후 빈 편집기는 유용한 증거이지만 보편적인 저장소 감사는 아닙니다. 브라우저 기록, 클립보드 관리자, 확장 프로그램, 스크린샷 및 운영 체제 기능은 이 모듈 외부에 있습니다. 따라서 네트워크 및 저장소 검사는 장치의 모든 계층에 대한 보장이 아니라 재현 가능한 관찰로 설명되어야 합니다.

작업 예: 토큰 데이터를 전달하는 요청과 일반 페이지 트래픽을 구별합니다.

작업된 확인을 위해 ToolAcre의 JWT 디코더를 로드하고 초기 페이지 활동이 완료될 때까지 기다린 후 요청 목록을 지웁니다. 내장된 만료된 샘플이나 민감하지 않은 다른 토큰을 붙여넣고 디코딩을 누르고 고유한 페이로드 단어를 필터링합니다. 헤더, 페이로드, 알고리즘 참고 및 시간 행은 해당 마커를 전달하는 요청 없이 나타나야 합니다.

분석, 사이트 연결 또는 자산 요청이 표시되는 경우 패널을 '비어 있음'이라고 부르지 마세요. 무슨 일이 일어났는지 정확하게 기록하세요. 일반 페이지 트래픽이 존재할 수 있지만 검사된 요청에는 합성 토큰이 포함되어 있지 않습니다. 이러한 구별은 개인정보 보호 주장이 절대적으로 보이도록 하기 위해 관련 없는 행을 숨기는 것보다 더 강력한 증거입니다.

여기서 다루지 않는 내용 — 페이지 제어 범위를 벗어나는 브라우저 확장 프로그램 및 클립보드 관리자

이 절차에서는 악성 브라우저 확장 프로그램, 클립보드 기록 또는 손상된 운영 체제를 검사할 수 없습니다. 또한 향후 배포 후에 코드가 어떤 작업을 수행할지 증명할 수도 없습니다. 사용하려는 버전과 환경에 대해 이를 반복하고 실제 자격 증명 자료가 불가피할 경우 제어하는 ​​로컬 스크립트를 선호합니다.

또한 네트워크 패널은 해독된 주장을 확인된 사실로 변환하지 않습니다. 토큰이 탭에 남아 있어도 ToolAcre는 이를 인증하지 않습니다. 로컬 처리는 하나의 공개 경로를 줄입니다. 서명 무결성, 발행자 신원, 대상 적합성 또는 승인을 설정하지 않습니다.

로컬 ToolAcre 코드가 디코딩을 수행하지만 라이브 토큰이 여전히 웹사이트에 속하지 않습니다.

ToolAcre는 브라우저 코드에서 분할, 바이트 변환 및 JSON 구문 분석을 수행하며 도구별 소스에는 업로드 또는 지속성 작업이 포함되어 있지 않습니다. 배지나 개인 정보 보호 슬로건을 액면 그대로 받아들이는 대신 합성 데이터와 개발자 도구를 사용하여 해당 동작을 테스트할 수 있습니다.

올바른 요점은 여전히 ​​보수적입니다. 즉, 로컬 경로를 확인하되 웹 사이트에 실시간 액세스 토큰을 보관하지 마십시오. 디코드 전용 클라이언트 측 도구는 일회용 진단에 적합할 수 있습니다. 이는 자격증명 보관소, 검증자 또는 인증 서비스가 아닙니다.