Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
SecretScrub | Kitploit
도구/GitHubGitHub/nccgroup/secretscrub
Static Code Analysis (SAST)Configuration AuditingDevSecOpsUtilities & FrameworksSecret Detection
GitHubnccgroup/secretscrub

SecretScrub

저장소 보기
52년 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

SecretScrub

SecretScrub은 하드코딩된 모든 비밀 값을 깨끗이 제거합니다. 이 스크립트는 다양한 정적 분석 도구가 생성하는 SARIF 파일 형식의 파일을 처리합니다. 이 도구는 파일 시스템 내의 디렉터리를 스캔하고, SARIF 파일에서 감지된 모든 비밀 값 인스턴스를 디렉터리의 새 사본으로 대체합니다. 비밀 값은 종종 Git 히스토리에 남아 있으므로, 결과 사본에는 .git 디렉터리가 제외됩니다.

SARIF는 업계 표준 형식이지만, 각 도구가 생성하는 SARIF 출력에는 차이가 있습니다. 따라서 현재 지원되는 도구는 다음과 같습니다.

도구버전설명
Trivy0.37.0
Gitleaks8.15.2--no-git 옵션을 사용하여 생성된 보고서에서만 작동합니다. 이 옵션은 파일 시스템을 스캔하지만, 기본 Git 저장소가 있더라도 스캔하지 않습니다.
ccs1d055c542dbdb6e7b96279d4df03ea9b556eb27aCcs 출력은 함께 제공되는 ccs2sarif.py 스크립트를 사용하여 SARIF 형식으로 사전 처리해야 합니다.
cq011697a9e371e37a6ac9f714b3980672bc6108e7CQ 출력은 함께 제공되는 cq2sarif.py 스크립트를 사용하여 SARIF 형식으로 사전 처리해야 합니다. CQ 출력은 노이즈가 매우 많을 수 있으므로, 대체 작업을 별도로 수행하거나 CQ 파일이 디렉터리에서 마지막에 오도록 파일 이름을 지정하는 것이 좋습니다.
BinDetect다른 텍스트 중심 도구들이 일반적으로 놓치는 바이너리 파일을 탐지하는 내장 도구입니다.

SARIF 출력의 차이로 인해, 향후 버전의 도구가 생성한 출력은 제대로 작동하지 않을 수 있습니다.

종속성

종속성은 requirements.txt 파일에 나열되어 있습니다. 간단히 말해 다음 패키지가 필요합니다:

패키지버전

사용법

명령줄 사용법

이전에 생성된 도구 출력 사용

root@kitploit:~
$ python secretscrub.py --input <path> --srcdir <path> --outdir <path> [--report <path>]

도구 호출

root@kitploit:~
$ python secretscrub.py --analyse-with <analysis-tool-list> --srcdir <path> --outdir <path> [--report <path>]

참고: 작동하려면 도구가 현재 시스템에 설치되어 있어야 합니다:

Docker 컨테이너

이 소스 트리에서 빌드된 Docker 이미지에는 SecretScrub 도구와 Trivy, GitLeaks, ccs 및 cq 도구의 사본이 포함되어 있습니다.

secretscrub:latest 태그로 빌드된 경우, 다음 명령은 보고서와 함께 전체 분석 및 대체 작업을 시작합니다.

root@kitploit:~
sudo docker run -it -v <source-path>:/src:ro -v <output-path>:/out secretscrub:latest --analyse-with trivy,gitleaks,bindetect

이 작업은 컨테이너 내에서 두 개의 볼륨을 매핑합니다. 첫 번째 볼륨(<source-path>)에는 원본의 대체되지 않은 소스 코드가 포함되어야 합니다. 두 번째 볼륨(<output-path>)은 대체된 출력과 보고서를 받게 됩니다.

권장 워크플로

다음 예제는 소스가 src라는 하위 디렉터리에 저장되고, SecretScrub이 tools라는 하위 디렉터리에 설치되어 있다고 가정합니다.

명령줄 사용

root@kitploit:~
$ python tools/secretscrub.py --analse-with trivy,gitleaks,bindetect --srcdir src --outdir src-redacted

Docker 컨테이너 사용

root@kitploit:~
sudo docker run -it -v <source-path>:/src:ro -v <output-path>:/out secretscrub:latest --analyse-with trivy,gitleaks,bindetect
도구 다운로드
asn12.7.0
filetype1.2.0
py7zr0.20.5
pyzipper0.3.6
regex2023.5.5
sarif-tools1.0.0
매개변수설명
input처리할 SARIF 결과의 위치입니다. 지원되는 여러 도구로 생성된 여러 SARIF 파일을 포함할 수 있습니다.
srcdir처리할 CQ 결과를 생성하기 위해 스캔된 원본 소스 코드의 위치입니다.
outdir대체된 소스 파일이 저장될 위치입니다.
placeholder감지된 모든 비밀 값을 대체할 자리 표시자입니다. 다음 치환을 사용할 수 있습니다:
- ${tool} 비밀 값을 감지하는 데 사용된 도구의 이름
- ${rule} 비밀 값을 감지하는 데 사용된 규칙의 이름
- ${regex} 비밀 값을 감지하는 데 사용된 규칙과 연결된 정규 표현식
- ${yaml} (알려진 경우) 비밀 값을 감지하는 데 사용된 도구와 규칙의 이름만 포함하는 YAML 흐름 스타일 구조
- ${yaml_regex} (알려진 경우) 비밀 값을 감지하는 데 사용된 도구와 규칙의 이름 및 정규 표현식을 포함하는 YAML 흐름 스타일 구조
process-archives나타내기 위한 스위치
report생성될 제거된 비밀 값의 세부 정보를 포함하는 CSV 보고서의 위치와 이름입니다.
report-encryption보고서 파일이 생성된 경우 사용할 암호화 방법입니다. 가능한 값: none, zip-aes256. 기본값: zip-aes256
log-level도구 출력에 사용되는 로깅 수준입니다. 가능한 값: critical, fatal, error, warning, info, debug. 기본값: info
매개변수설명
analyse-with호출할 도구의 쉼표로 구분된 목록입니다. 다음 중 하나를 포함할 수 있습니다: trivy, gitleaks, ccs. cq, bindetect
srcdir처리할 CQ 결과를 생성하기 위해 스캔된 원본 소스 코드의 위치입니다.
outdir대체된 소스 파일이 저장될 위치입니다.
placeholder감지된 모든 비밀 값을 대체할 자리 표시자입니다. 다음 치환을 사용할 수 있습니다:
- ${tool} 비밀 값을 감지하는 데 사용된 도구의 이름
- ${rule} 비밀 값을 감지하는 데 사용된 규칙의 이름
- ${regex} 비밀 값을 감지하는 데 사용된 규칙과 연결된 정규 표현식
- ${yaml} (알려진 경우) 비밀 값을 감지하는 데 사용된 도구와 규칙의 이름만 포함하는 YAML 흐름 스타일 구조
- ${yaml_regex} (알려진 경우) 비밀 값을 감지하는 데 사용된 도구와 규칙의 이름 및 정규 표현식을 포함하는 YAML 흐름 스타일 구조
report생성될 제거된 비밀 값의 세부 정보를 포함하는 CSV 보고서의 위치와 이름입니다.
report-encryption보고서 파일이 생성된 경우 사용할 암호화 방법입니다. 가능한 값: none, zip-aes256. 기본값: zip-aes256
log-level도구 출력에 사용되는 로깅 수준입니다. 가능한 값: critical, fatal, error, warning, info, debug. 기본값: info
도구설명
Trivytrivy 명령이 설치되고 경로에서 접근 가능해야 합니다.
GitLeaksgitleaks 명령이 설치되고 경로에서 접근 가능해야 합니다.
ccsccs.py 파일은 secretscrub.py 파일이 있는 디렉터리 안의 ccs라는 하위 디렉터리에 위치해야 합니다.
cqcq.py 및 fn.py 파일은 secretscrub.py 파일이 있는 디렉터리 안의 cq라는 하위 디렉터리에 위치해야 합니다.
bindetect현재 secretscrub에 포함되어 있으므로 추가 설치가 필요 없습니다.