자격 증명이 실행될 위치를 분류하세요
공개 식별자는 제공자가 공개 사용을 전제로 설계하고 제한 기능을 제공할 때만 노출할 수 있습니다. 비밀 자격 증명은 신뢰할 수 있는 서버, 엣지 함수, 제공자 연동 안에 둡니다.
키가 알아보기 어려운지가 아니라 무엇을 할 수 있는지, 어디로 전달되는지, 접근 범위와 제한은 무엇인지, 얼마나 빨리 폐기할 수 있는지를 물어야 합니다.
유출 방지 절차
자격 증명 목록화
API 키, 데이터베이스 자격 증명, 서명·웹훅 비밀값, 서비스 토큰의 담당자, 목적, 환경, 권한, 교체 경로를 기록하세요.
비밀 호출을 서버로 이동
브라우저는 관리하는 엔드포인트를 호출하게 하세요. 서버가 사용자와 입력을 검증하고 비밀값으로 제공자를 호출한 뒤 필요한 결과만 반환합니다.
공개 키 제한
브라우저용으로 설계된 키는 제공자 화면에서 허용 출처, API, 할당량, 환경을 제한하세요. 출처 제한을 비공개 데이터 권한으로 사용하면 안 됩니다.
소스에서 비밀값 제외
호스팅 플랫폼의 비밀 저장소를 쓰고 로컬 환경 파일을 제외하세요. 스테이징 변경뿐 아니라 저장소 기록도 검색합니다.
로그와 URL 보호
쿼리 문자열, 분석 이벤트, 클라이언트 오류, 스크린샷, 지원 메시지, 빌드 출력에 자격 증명을 넣지 말고 기록 전에 민감 값을 가리세요.
노출 의심 시 교체
현재 파일에서 지우는 것만으로는 부족합니다. 먼저 폐기·교체하고 사용 기록을 검토한 뒤 의존 서비스를 갱신하고 이전 값이 작동하지 않는지 확인하세요.
배포 번들 검사
최종 공개 HTML과 JavaScript에서 제공자 키 패턴과 알려진 자격 증명 이름을 검색하세요. 빌드 시스템이나 환경 변경 후 반복합니다.
즉시 검토해야 할 신호
- 개발자 도구, 페이지 소스, 다운로드 번들에서 비밀값이 보임
- 클라이언트가 서비스 역할 또는 관리자 자격 증명으로 직접 연결함
- 현재는 삭제됐지만 저장소 기록에 값이 남아 있음
- 키 권한이 넓고 사용 경계나 담당자가 문서화되지 않음
노출을 자격 증명 사고로 다루세요
노출된 비밀값을 누가 복사했는지 증명하느라 교체를 늦추지 마세요. 접근을 차단하고 활동을 검토하며 구조를 바로잡은 뒤 저장소와 배포 앱을 모두 재확인합니다.
체크리스트뿐 아니라 실제 배포도 확인하세요
소유자의 승인 아래 Malinois가 공개 응답에서 노출 파일, 비밀값, 데이터베이스 접근 신호, 누락된 보안 헤더를 점검합니다.
무료 비침습 점검 실행비침습 외부 점검만 수행하며 악용 또는 침투 테스트는 하지 않습니다.