소개
rust-secrets는 자격 증명 유출을 방지하는 pre-commit git 훅입니다. Rust로 작성되었으며, AWS git-secrets의 대체 도구로 설계되었습니다. 이 도구는 커밋 전 자격 증명 노출을 검사하고 방지하며, 전역 git 훅 설정을 통해 기존 및 신규 저장소에 자동으로 적용됩니다.
상세정보
전역 pre-commit 훅 자동 설정
설치 시 `git find install` 명령을 실행하면, 전역 git 훅 경로를 생성하고 기존 pre-commit 훅에 git-find-global-hook.sh 스크립트를 추가하여 모든 기존 및 신규 저장소에 훅을 적용합니다. 기존 훅이 존재하더라도 덮어쓰지 않고 추가 방식으로 동작합니다.
공급자(시크릿 바인 목록) 자동 업데이트
사용자는 `git find add-provider –path ` 명령을 통해 시크릿 바인 목록을 등록할 수 있으며, 이 목록이 원격 저장소(예: GitHub)에 있는 경우 자동으로 git pull을 수행해 최신 상태를 유지합니다. 로컬 파일 경로 사용 시에는 자동 업데이트 없이 정적 파일을 참조합니다.
로컬 저장소 전용 공급자 설정
`–local` 플래그를 사용하여 공급자를 특정 로컬 저장소에만 적용할 수 있으며, 이 경우 해당 저장소의 git config에만 추가되고 전역 설정에 영향을 주지 않습니다.
전체 git 히스토리 스캔
`git find scan` 명령을 실행하면, 현재 저장소의 전역 및 로컬 git config에 등록된 모든 공급자 파일을 기반으로 전체 커밋 히스토리를 스캔하여 노출된 자격 증명을 탐지할 수 있습니다.
Windows에서의 설치
PowerShell 터미널에서 다음 명령을 실행하여 설치합니다:
powershell -ExecutionPolicy ByPass -c "irm https://raw.githubusercontent.com/edenian-prince/rust-secrets/refs/heads/main/install.ps1 | iex"
이 명령은 install.ps1 스크립트를 다운로드하고 실행하여 git-find.exe를 C:Users\.localbin 경로에 설치합니다.
설치 후 설정
- 터미널을 다시 시작하거나, PowerShell에서
source ~.bashrcequivalente로 환경을 갱신합니다.git find install명령을 실행하여 전역 pre-commit 훅을 설정합니다.git find add-provider --path명령을 통해 시크릿 바인 목록을 등록합니다. 자동 업데이트를 원할 경우 프롬프트에서 Y를 입력합니다.- 선택 사항: 특정 저장소에만 공급자를 적용하려면
--local플래그를 추가합니다.지원 환경 및 요구사항
rust-secrets는 Rust로 작성된 바이너리 도구로, Windows, Linux, WSL 환경에서 실행 가능합니다. 설치를 위해 winget(Windows) 또는 curl + bash(Linux/WSL)가 필요하며, git이 시스템에 설치되어 있어야 pre-commit 훅이 정상 동작합니다.
시스템 요구사항
Windows 환경에서 winget 패키지 관리자를 통해 설치할 수 있습니다. Linux/WSL 및 Windows에서 각각 설치 스크립트를 제공하며, 설치는 bash 또는 PowerShell 터미널에서 수행됩니다.


