0

ENV Diff 검사기

.env 파일 두 개(스테이징 vs. 프로덕션, 배포 전 vs. 배포 후)를 비교하여 어떤 키가 추가되고, 제거되고, 변경되었는지 정확히 확인합니다. 비밀 값으로 보이는 값은 자동으로 가려줍니다.

🔒 전적으로 귀하의 브라우저에서 처리됩니다. 여기에 입력하는 어떤 것도 업로드되지 않습니다.

처리 중... 0%
두 파일 파싱 중
diff 계산 중
시크릿 마스킹 중
완료

결과

스테이징용 .env 파일을 프로덕션과 비교하거나 오늘의 배포 설정을 지난주와 육안으로 비교하는 일이야말로 실제 장애가 시작되는 지점입니다. DATABASE_URL이 빠져 있거나, PORT가 조용히 바뀌었거나, 한 환경에서만 API 키가 교체되는 식이죠. 두 파일을 단순 텍스트 diff에 붙여넣는 것도 큰 도움이 되지 않습니다. 어떤 줄이 다른지 보여줄 뿐, 어떤 환경 변수가 실제로 바뀌었는지는 알려주지 않으며, 출력 결과를 동료와 공유하는 순간 모든 시크릿 값을 그대로 노출합니다.

이 도구는 두 파일을 dotenv가 실제로 읽는 방식 그대로 파싱합니다. 한 줄에 하나의 KEY=value 쌍, # 주석과 빈 줄은 무시, 작은따옴표나 큰따옴표로 감싼 값은 따옴표를 벗기고(큰따옴표 안에서만 \n을 언이스케이프하며, dotenv 규약 그대로입니다), 셸에서 소싱한 env 파일 방식대로 작성된 export KEY=value 접두사도 허용합니다. 각 파일은 깔끔한 키-값 맵이 되고, 두 맵을 키 기준으로 diff합니다. 파일 A에만 있으면 '제거됨', 파일 B에만 있으면 '추가됨', 둘 다 있고 값이 다르면 '변경됨', 값이 같으면 '변경 없음'으로 기본적으로 숨겨 테이블이 실제 달라진 부분에 집중할 수 있게 합니다.

실제 시크릿을 써도 안전하게 만드는 기능이 바로 자동 마스킹입니다. diff 테이블에 표시되는 모든 값은 두 가지 독립적인 신호로 검사합니다. 키 이름이 비밀처럼 보이는지(KEY, SECRET, TOKEN, PASSWORD, PRIVATE, CREDENTIAL에 대소문자 구분 없이 일치), 또는 값 자체가 높은 셰넌 엔트로피를 갖는지 — API 키, 토큰, 무작위 암호가 일반 단어와 통계적으로 다르다는 것을 밝혀내는 동일한 정보 이론적 측도(-Σ p(c)·log₂(p(c)))입니다. 둘 중 하나라도 해당하면 값을 첫 두 글자와 마지막 두 글자만 남기고 가립니다. 변경된 행의 이전 값과 새 값은 각각 독립적으로 계산하여 표시합니다.

파싱, diff, 엔트로피 점수 계산, 마스킹 등 모든 과정이 브라우저 안에서만 실행됩니다. 두 파일은 물론 거기서 추출한 어떤 값도 외부로 전송되지 않습니다. 데이터베이스 접속 정보, API 키, 암호가 그대로 들어 있을 가능성이 높은 파일 두 개를 나란히 들여다보는 도구에 딱 맞는 보장입니다.