01 · 작동 방식
텍스트에서 시크릿을 찾아 가립니다.
이 페이지의 나머지는 그 일을 꼼꼼하게 해내는 방법입니다. 넣은 텍스트는 그대로 나오고, 자격 증명처럼 보이는 부분만 빠집니다. 시크릿이 지나가도 되는 길은 자격 증명 관리자에서 볼트를 거쳐 제공자로 가는 한 길뿐입니다. Redact Secret은 그 밖의 모든 길에 설치하는 필터입니다.
경계에서 일어나는 일
넣은 텍스트가 그대로 나옵니다
- Input
- API_KEY=SYNTHETIC_REVOKED_CONTEXT_VALUE
- Output
- API_KEY=<SECRET_1>
자리표시자는 라벨일 뿐입니다. 어떤 방법으로도 원래 키로 되돌릴 수 없습니다. 원본이 필요하면 볼트를 쓰세요. 볼트는 별도 저장소에 있고, 일부러 추가해야만 쓸 수 있습니다.
구조
두뇌는 하나, 입은 넷
어려운 판단은 Rust에서 한 번만 합니다. 각 언어에는 규칙 사본 대신 번역기만 붙습니다.
Rust 코어
detect → resolve → policy → redact
구성
기능 목록
두 가지 크기
Full은 모든 제공자의 형식을 압니다. Common은 브라우저와 작은 에이전트용으로 구조 탐지기 6개만 남깁니다. 더 작고 빠르며, 오탐도 늘지 않습니다. 수치는 벤치마크 사이트에 있습니다.
브라우저에서도 실행됩니다
같은 엔진을 WebAssembly로 컴파일하므로, 키가 노트북을 떠나기 전에 잡아낼 수 있습니다. Cloudflare Workers도 지원합니다.
CI용 CLI
redact-secret은 파일이나 스테이징된 diff를 검사합니다. 종료 코드는 0 문제 없음, 1 탐지됨, 2 오류이고, 오류가 항상 탐지보다 우선합니다.
실패하면 막습니다
기본 한도는 입력 64 MiB, 탐지 결과 50,000건입니다. 둘 중 하나라도 넘으면 오류를 냅니다. 결과를 몰래 잘라 내고 깨끗하다고 보고하는 일은 없습니다.
오류 메시지에는 입력이 담기지 않습니다
모든 오류 메시지는 입력을 포함하지 않는 고정 문구입니다. 방금 잡은 시크릿이 크래시 리포트로 새어 나갈 일이 없습니다.
사내 키 형식도 추가할 수 있습니다
사내 자격 증명은 룰셋으로 선언합니다. 룰셋은 콜백이 아니라 코어가 직접 파싱하고 매칭하는 일반 텍스트입니다. 문법은 탐지 페이지에 있습니다.
실제 로깅·트레이싱 패키지
pino, Python logging, OpenTelemetry span processor는 별도 저장소에서 버전이 붙은 어댑터로 배포됩니다.
개인정보 탐지는 선택 사항
이메일, IBAN, 결제 카드, 전화번호, 네트워크 주소, 미국 SSN 계열이 있습니다. 모든 사용 환경에서 기본값은 꺼짐입니다.
비교
대부분의 시크릿 스캐너는 다른 문을 지킵니다
Gitleaks, TruffleHog, detect-secrets, GitGuardian은 코드를 보고 개발자가 키를 커밋했는지 확인합니다. Redact Secret은 트래픽을 봅니다. 텍스트가 로그에 남거나, 저장되거나, 모델에 넘어가기 직전에 검사합니다.
둘은 경쟁 관계가 아닙니다. CI에서는 저장소 스캐너를, 요청 경로에서는 Redact Secret을 함께 쓰세요.
솔직하게