Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
talisman — Git 후크 기반 비밀 스캐너로, 전송 중인 변경 세트에서 토큰, 비밀번호, 개인 키를 탐지하여 민감한 데이터가 리포지토리에 커밋되거나 푸시되는 것을 방지합니다. | Kitploit
도구/GitHubGitHub/thoughtworks/talisman
Static AnalysisCode AnalysisDevSecOpsSecret DetectionSecret Detection #7위
GitHubthoughtworks/talisman

talisman

Git 후크 기반 비밀 스캐너로, 전송 중인 변경 세트에서 토큰, 비밀번호, 개인 키를 탐지하여 민감한 데이터가 리포지토리에 커밋되거나 푸시되는 것을 방지합니다.

저장소 보기
2.1k2522710개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
웹사이트
공유

Talisman

커밋 전에 비밀 정보가 체크인되는 것을 탐지하고 방지하는 도구

License: MIT Go Report Card contributions welcome Build Status

목차

  • Talisman이란?
  • 설치
    • PATH에 설치 (권장 방법)
    • 전역 후크 템플릿으로 설치
  • 프로젝트 설정
    • 후크 프레임워크와 함께 사용
      • Pre-commit
      • Husky
    • Talisman 직접 호출
  • 업그레이드
  • Talisman 실제 사용
    • 검증
    • 파일 무시
      • 대화형 모드
      • 특정 탐지기 무시
      • 특정 키워드 무시
      • 와일드카드로 동일한 유형의 여러 파일 무시
      • 언어 범위 지정으로 파일 무시
      • 사용자 정의 검색 패턴
    • 심각도 임계값 설정
    • CLI 유틸리티로 Talisman 사용
      • 대화형 모드
      • Git 기록 스캐너
      • 체크섬 계산기
  • Talisman HTML 보고서
    • 샘플 스크린샷
  • 제거
    • 전역 후크 템플릿에서 제거
    • 단일 저장소에서 제거
  • Talisman 기여하기

Talisman이란?

Talisman은 git 변경 집합을 스캔하여 잠재적인 비밀 정보나 민감한 정보가 개발자 워크스테이션을 벗어나지 않도록 보장하는 도구입니다.

의심스러워 보이는 항목(예: 잠재적인 SSH 키, 인증 토큰, 개인 키 등)이 있는지 나가는 변경 집합을 검증합니다.

설치

Talisman은 MAC OSX, Linux 및 Windows를 지원합니다.

Talisman은 다음 방법 중 하나로 설치하여 사용할 수 있습니다:

  1. 독립 실행형 실행 파일로
  2. 전역 git 후크 템플릿 및 CLI 유틸리티(저장소 스캔용)로 git 후크로
  3. 단일 git 저장소에 git 후크로

Talisman은 git 저장소에 pre-commit 또는 pre-push 후크로 설정할 수 있습니다.

아래 지침을 확인하십시오.

면책: git 저장소에 강제 푸시(forced push)를 통해 비밀 정보가 침투하는 것은 Talisman이 탐지할 수 없습니다. 강제 푸시는 그 자체로 악명 높은 방법으로 간주되며, git 저장소 관리자가 이러한 활동을 승인하기 위해 적절한 조치를 적용할 것을 권장합니다.

PATH에 설치 (권장 방법)

Talisman을 PATH에 설치하여 git 후크 프레임워크 및 스크립트에서 사용할 수 있도록 하는 것을 권장합니다. 릴리즈 페이지에서 시스템에 맞는 올바른 바이너리를 선택하거나 설치 스크립트를 실행하십시오:```bash bash -c "$(curl --silent https://raw.githubusercontent.com/thoughtworks/talisman/main/install.sh)"

또는 환경 변수 `INSTALL_LOCATION`을 설정하여 바이너리의 사용자 지정 위치를 지정하십시오:```bash
INSTALL_LOCATION=/usr/local/bin bash -c "$(curl --silent https://raw.githubusercontent.com/thoughtworks/talisman/main/install.sh)"

또는 환경 변수 VERSION을 릴리스된 태그로 설정하여 특정 버전을 설치할 수 있습니다::```bash VERSION=v1.36.0 bash -c "$(curl --silent https://raw.githubusercontent.com/thoughtworks/talisman/main/install.sh)"

또는 Linux의 linuxbrew와 macOS의 homebrew를 사용하여 터미널에서 다음 명령을 실행하십시오:```bash
brew install talisman

전역 후크 템플릿으로 설치

우리는 Talisman을 pre-commit git hook 템플릿으로 설치하는 스크립트를 제공합니다. 이렇게 하면 Talisman이 기존 git 저장소뿐만 아니라 'init' 또는 'clone'하는 모든 새 저장소에도 존재하게 됩니다.

  1. 터미널에서 다음 명령을 실행하여 $HOME/.talisman/bin에 바이너리를 다운로드하고 설치하십시오.

pre-commit 후크로: ``` bash -c "$(curl --silent https://raw.githubusercontent.com/thoughtworks/talisman/main/global_install_scripts/install.bash)"

또는

  사전 푸시 훅으로:  ```
bash -c "$(curl --silent https://raw.githubusercontent.com/thoughtworks/talisman/main/global_install_scripts/install.bash)" -- pre-push
  1. $PATH에 TALISMAN_HOME이 설정되어 있지 않은 경우, 설정할 적절한 위치를 묻는 창이 나타납니다. 프로필 소스를 설정할 머신에서 옵션 번호를 선택하세요.

경로 파일에 source를 실행하거나 터미널을 다시 시작하는 것을 잊지 마세요. 나중에 $PATH를 설정하기로 선택한 경우, TALISMAN_HOME=$HOME/.talisman/bin을 경로에 내보내기(export)하세요.

  1. Talisman이 모든 git 저장소를 스캔할 기본 디렉토리를 선택하고, git 훅(1단계에서 선택한 pre-commit 또는 pre-push)을 심볼릭 링크로 설정합니다. 이 스크립트는 기존 훅을 덮어쓰지 않습니다. 기존 훅이 있는 경우 훅 프레임워크를 통해 talisman을 추가할 수 있습니다.
  • 설치 중 수동으로 입력할 필요 없도록 설치를 실행하기 전에 SEARCH_ROOT 환경 변수를 기본 디렉토리 경로로 설정할 수 있습니다.

프로젝트 설정

훅 프레임워크 사용

전역적으로 talisman을 훅으로 설치하면 기존 훅을 덮어쓰지 않습니다. 설치 스크립트가 기존 훅을 발견하면 콘솔에 해당 사실만 표시합니다. 여러 훅을 실행하려면 pre-commit이나 husky와 같은 훅 프레임워크를 사용하는 것이 좋습니다. 이 지침은 talisman 실행 파일이 시스템 경로에 설치되어 있다고 가정합니다.

Pre-commit

pre-commit을 사용하여 Talisman과 함께 기존 훅을 관리하세요. .pre-commit-hooks.yaml에서 pre-commit-hooks를 참조하여 .pre-commit-config.yaml에 추가하세요:```yaml

  • repo: https://github.com/thoughtworks/talisman rev: 'v1.32.2' # Update me! hooks:

    both pre-commit and pre-push supported

    - id: talisman-push

    • id: talisman-commit
### Husky

[husky](https://typicode.github.io/husky)는 hooks 관리를 위한 npm 모듈입니다.
`package.json`의 husky pre-commit 설정에 다음 줄을 추가하세요:```
talisman --githook pre-commit

talisman을 직접 호출하기

talisman 실행 파일이 설치되면 Git 저장소에 독립형 pre-commit 훅을 구성할 수 있습니다:```bash cd my-git-project echo "talisman -g pre-commit" >> .git/hooks/pre-commit chmod +x .git/hooks/pre-commit

# 업그레이드
v0.4.4 릴리스부터 Talisman은 <b>자동으로</b> 바이너리를 최신 릴리스로 업데이트합니다. (설정된 대로) 훅이 호출될 때(pre-commit/pre-push 시점) 업데이트가 이루어집니다. 따라서 그냥 편안히 앉아서, 별다른 노력 없이 최신 Talisman을 계속 사용하세요.

다음 환경 변수를 설정할 수 있습니다:

1. TALISMAN_SKIP_UPGRADE: 자동 업그레이드 확인을 건너뛰려면 true로 설정합니다. 기본값은 false입니다.
2. TALISMAN_UPGRADE_CONNECT_TIMEOUT: 업그레이드가 취소되기 전 최대 연결 시간 초과(초 단위)입니다. 기본값은 10초입니다.

혹시 수동으로 업그레이드해야 하는 경우, 다음 단계를 따르세요:
<br>[권장] Talisman 바이너리와 훅 스크립트를 최신 릴리스로 업데이트:```bash
curl --silent  https://raw.githubusercontent.com/thoughtworks/talisman/main/global_install_scripts/update_talisman.bash > /tmp/update_talisman.bash && /bin/bash /tmp/update_talisman.bash

Talisman 바이너리만 업데이트하려면 다음을 실행하세요:```bash curl --silent https://raw.githubusercontent.com/thoughtworks/talisman/main/global_install_scripts/update_talisman.bash > /tmp/update_talisman.bash && /bin/bash /tmp/update_talisman.bash talisman-binary

# Talisman 작동 모습

설치가 성공적으로 완료된 후, Talisman은 각 커밋 또는 푸시 전에 (설치 시 선택한 대로) 자동으로 명백한 비밀 정보를 검사합니다. 보안 위반이 감지되면 Talisman은 오류에 대한 상세 보고서를 표시합니다:```bash
$ git push
Talisman Report:
+-----------------+-------------------------------------------------------------------------------+
|     FILE        |                                    ERRORS                                     |
+-----------------+-------------------------------------------------------------------------------+
| danger.pem      | The file name "danger.pem"                                                    |
|                 | failed checks against the                                                     |
|                 | pattern ^.+\.pem$                                                             |
+-----------------+-------------------------------------------------------------------------------+
| danger.pem      | Expected file to not contain hex encoded texts such as:                       |
|                 | awsSecretKey=c64e8c79aacf5ddb02f1274db2d973f363f4f553ab1692d8d203b4cc09692f79 |
+-----------------+-------------------------------------------------------------------------------+

위 예시에서, danger.pem 파일이 다음 이유들로 인해 보안 위반으로 플래그되었습니다:

  • 파일 이름이 사전 구성된 패턴 중 하나와 일치합니다.
  • 파일에는 Talisman이 스캔하고 플래그하는 awsSecretKey가 포함되어 있습니다.
도구 다운로드