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

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

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

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

도구 디렉토리

카테고리

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

talisman

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

저장소 보기웹사이트
2.1k2529개월 전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)"

root@kitploit:~
또는 환경 변수 `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)"

root@kitploit:~
또는 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)"

root@kitploit:~
또는

  사전 푸시 훅으로:  ```
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
root@kitploit:~
### 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

root@kitploit:~
# 업그레이드
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

root@kitploit:~
# 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가 포함되어 있습니다.

Talisman을 pre-commit 훅으로 설치한 경우, 각 커밋 내의 diff 만 스캔합니다. 이는 변경된 파일 부분에 대해서만 오류를 보고한다는 것을 의미합니다.

Talisman을 pre-push 훅으로 설치한 경우, 변경이 이루어진 전체 파일을 스캔합니다. 위에서 언급한 대로, Talisman을 pre-commit 훅으로 사용하는 것이 권장됩니다.

검증

다음 탐지기가 변경 세트에 대해 실행되어 비밀/민감 정보를 탐지합니다:

  • 인코딩된 값 - Base64, 16진수 등으로 인코딩된 비밀을 스캔합니다.
  • 파일 내용 - 잠재적 비밀 또는 비밀번호가 될 수 있는 파일 내 의심스러운 내용을 스캔합니다.
  • 파일 크기 - 키나 다른 비밀을 포함할 수 있는 대용량 파일을 스캔합니다.
  • 엔트로피 - 비밀번호를 포함할 가능성이 있는 높은 엔트로피의 콘텐츠를 스캔합니다.
  • 신용카드 번호 - 잠재적 신용카드 번호가 될 수 있는 콘텐츠를 스캔합니다.
  • 파일 이름 - 키, 자격 증명 등 비밀을 포함할 가능성을 나타낼 수 있는 파일 이름과 확장자를 스캔합니다.

파일 무시

만약 해당 파일을 푸시하는 것이 정말 확실하다면, 프로젝트 루트의 .talismanrc 파일에 설정할 수 있습니다. 실패한 파일을 무시하는 데 필요한 내용은 Talisman 오류 보고서 직후 콘솔에 Talisman이 출력할 것입니다:```bash If you are absolutely sure that you want to ignore the above files from talisman detectors, consider pasting the following format in .talismanrc file in the project root fileignoreconfig:

  • filename: danger.pem checksum: cf97abd34cebe895417eb4d97fbd7374aa138dcb65b1fe7f6b6cc1238aaf4d48 ignore_detectors: []
root@kitploit:~
`.talismanrc` 파일에 이를 입력하면 체크섬이 `checksum` 필드에 언급된 값과 일치하는 한 Talisman이 `danger.pem` 파일을 무시하도록 보장합니다.

### 대화형 모드

**비-Windows 사용자에게만 사용 가능**

Talisman에서 오류가 발생할 때마다 `.talismanrc`에 내용을 계속 복사하는 것이 번거롭다면, 대화형 모드를 활성화하고 Talisman이 무시할 파일 추가를 안내하도록 할 수 있습니다.
간단한 단계를 따르세요:
1. 환경 변수가 설정된 bash 프로필(`.bashrc`, `.bash_profile`, `.profile` 또는 다른 위치)을 엽니다.
2. `# >>> talisman >>>` 아래에 `TALISMAN_INTERACTIVE` 변수가 표시됩니다.
3. 아직 `true`로 설정되지 않은 경우, `export TALISMAN_INTERACTIVE=true`를 추가합니다.
4. 파일을 저장하고 source 명령으로 적용하는 것을 잊지 마세요.

끝입니다! Talisman 훅이 pre-push/pre-commit 중에 오류를 발견할 때마다 Talisman이 제안하는 지침을 따르기만 하면 됩니다.
내용을 확인하지 않고 파일을 무시하지 않도록 주의하세요. 어떤 비밀도 유출되지 않는다고 확신해야 합니다.

### 특정 탐지기 무시하기

다음은 `.talismanrc` 파일에 구성할 수 있는 다양한 필드에 대한 자세한 설명입니다:

* `filename` : 이 필드는 전체 경로가 포함된 파일명을 명시해야 합니다.
* `checksum` : 이 필드는 항상 위에 표시된 메시지에서 Talisman이 지정한 값을 가져야 합니다. 파일에 새로운 변경이 발생하면 새로운 체크섬이 생성되고 Talisman은 잠재적인 보안 위협을 위해 파일을 다시 스캔합니다.
* `ignore_detectors` : 이 필드는 특정 파일에 대해 특정 탐지기를 비활성화합니다.
예를 들어, `init-env.sh` 파일 이름이 경고를 트리거하는 경우, 다른 문제(예: 파일 내용)에 대해서는 여전히 경고를 받으면서 이 경고만 비활성화할 수 있습니다.```yaml
fileignoreconfig:
- filename: init-env.sh
  checksum: cf97abd34cebe895417eb4d97fbd7374aa138dcb65b1fe7f6b6cc1238aaf4d48
  ignore_detectors: [filename, filesize]

Note: Here both filename and filesize detectors are ignored for init-env.sh, but filecontent detector will still activate on init-env.sh

At the moment, you can ignore

  • filecontent
  • filename
  • filesize

특정 키워드 무시하기

일부 파일에는 비밀과 직접적으로 관련되지 않은 key나 pass 같은 키워드가 포함될 수 있기 때문에, 이러한 키워드를 무시하여 오탐(false positive)을 줄이고 싶을 수 있습니다. 이는 파일 수준 및/또는 저장소 수준에서 allowed_patterns 필드를 사용하여 달성할 수 있습니다.```yaml fileignoreconfig:

  • filename: test allowed_patterns: [key] allowed_patterns:
  • keyword
  • pass
root@kitploit:~
이전 예제에서 `key`는 `test` 파일에서 허용되며, `keyword`와 `pass`는 저장소 수준에서 허용됩니다.

`allowed_patterns` 필드는 Golang 정규 표현식도 지원합니다. 다음은 Golang RegExp가 유용할 수 있는 간단한 코드 예제입니다:```sh
export AWS_ACCESS_KEY_ID = AKIAIO5FODNN7EXAMPLE
export AWS_ACCESS_KEY_ID=$(vault read -field=value path/to/aws-access-key-id)

기본적으로 Talisman은 두 줄 모두에 대해 경고합니다. 두 번째 줄에서는 Hashicorp Vault에서 AWS Access Key ID를 추출하고 있는데, 이는 코드에 시크릿을 노출하지 않습니다. 이러한 유형의 사용이 코드에서 흔하다면, Vault를 사용할 때 Talisman이 경고하지 않도록 설정하고 싶을 수 있습니다. 이는 다음과 같은 구성을 통해 달성할 수 있습니다:```yaml allowed_patterns:

  • export\ AWS[ \w]KEY[ \w]=.vault\ read.
root@kitploit:~
### 동일한 유형의 여러 파일 무시하기 (와일드카드 사용)

특정 유형의 모든 파일이 항상 안전하다는 것을 알고 있다면, Talisman이 해당 파일을 스캔하지 않도록 무시하도록 선택할 수 있습니다.

단계:

1. 무시하려는 파일에 대한 와일드카드 패턴을 작성합니다. 예: `*.lock`
2. [체크섬 계산기](#checksum-calculator)를 사용하여 패턴을 입력하고 집계 체크섬을 얻습니다. 예: `talisman --checksum="*.lock" `
3. 콘솔에 출력된 fileconfig 블록을 .talismanrc 파일에 복사합니다.

파일 중 하나라도 수정되면, 새로운 체크섬을 다시 계산하여 .talismanrc 파일에 교체하지 않는 한 talisman이 해당 파일을 다시 스캔합니다.

### 언어 범위 지정을 통한 파일 무시

프로젝트의 언어 범위를 talismanrc에 지정하여 파일을 무시하도록 선택할 수 있습니다.```yaml
scopeconfig:
  - scope: go
  - scope: node
  - scope: images
  - scope: php
  - scope: python

Talisman은 지정된 범위에 따라 특정 파일을 무시하도록 구성됩니다. 예를 들어, scopeconfig에서 node 범위를 언급하면 talisman이 yarn.lock 또는 package-lock.json과 같은 파일을 스캔하지 못하게 합니다.

여러 범위를 지정할 수 있습니다.

현재 .talismanrc는 go, node, php 및 images에 대한 scopeconfig만 지원합니다. 다른 범위는 곧 추가될 예정입니다.

Custom search patterns

현재 저장소에서 찾을 사용자 정의 정규식 패턴을 지정할 수 있습니다.```yaml custom_patterns:

  • pattern1
  • pattern2
root@kitploit:~
<br/><i>
**참고**: .talismanignore 사용은 더 이상 권장되지 않습니다. 파일 .talismanrc가 이를 대체합니다. 그 이유는 다음과 같습니다:

* .talismanrc는 훨씬 더 읽기 쉬운 yaml 형식을 가집니다.
* 또한 잠재적인 민감 값이 포함된 파일을 수정할 때마다 검토해야 하는 보다 안전한 방법을 도입합니다.
* 새로운 형식은 새로운 사용 가능한 기능을 도입할 수 있는 확장성을 제공합니다. 향후 더 많은 기능을 기대해 주세요.</i>

## 심각도 임계값 구성

각 검증에는 심각도가 연결되어 있습니다.
1. 낮음
2. 중간
3. 높음

.talismanrc에 임계값을 지정할 수 있습니다:```yaml
threshold: medium

이것은 모든 Medium 심각도 이상의 문제를 보고합니다 (임계값 미만의 잠재적 위험은 경고로 보고됩니다)

  1. 모든 위험과 그 심각도 수준의 목록은 이 설정 파일에서 확인할 수 있습니다.
  2. 기본적으로 임계값은 낮음(low)으로 설정됩니다.
  3. 추가하는 모든 사용자 정의 검색 패턴은 높은 심각도(high)로 간주됩니다.

커스텀 심각도 구성

.talismanrc 파일에서 Talisman이 제공하는 탐지기의 보안 수준을 사용자 정의할 수 있습니다:```yaml custom_severities:

  • detector: Base64Content severity: medium
  • detector: HexContent severity: low
root@kitploit:~
사용자 정의 심각도와 심각도 임계값을 사용하면 Talisman이 컨텍스트에 따라 중요한 항목에 대해서만 경고하도록 구성할 수 있습니다. 이는 가양성(false positive) 수를 줄이는 데 유용할 수 있습니다.

## CLI 유틸리티로서의 Talisman

명령줄에서 `talisman`을 실행하면 전달할 수 있는 모든 매개변수 옵션을 볼 수 있습니다.```
  -c, --checksum string          checksum calculator calculates checksum and suggests .talismanrc format
  -d, --debug                    enable debug mode (warning: very verbose)
  -g, --githook string           either pre-push or pre-commit (default "pre-push")
      --ignoreHistory            scanner scans all files on current head, will not scan through git commit history
  -i, --interactive              interactively update talismanrc (only makes sense with -g/--githook)
  -p, --pattern string           pattern (glob-like) of files to scan (ignores githooks)
  -r, --reportdirectory string   directory where the scan reports will be stored
  -s, --scan                     scanner scans the git commit history for potential secrets
  -w, --scanWithHtml             generate html report (**Make sure you have installed talisman_html_report to use this, as mentioned in Readme**)
  -v, --version                  show current version of talisman

대화형 모드

정기적으로 talisman 훅에 플래그가 지정되는 파일이 너무 많지만, 체크인해도 괜찮다고 아는 경우, 이 기능을 사용하여 talisman이 프로세스를 쉽게 처리하도록 할 수 있습니다. 대화형 모드는 Talisman이 명령 프롬프트에서 직접 .talismanrc에 무시할 파일을 추가하도록 안내합니다. 이 기능을 활성화하려면 bash 파일에서 TALISMAN_INTERACTIVE 변수를 true로 설정해야 합니다.

다음 두 가지 방법 중 하나로 talisman을 대화형 모드로 호출할 수 있습니다:

  1. bash 파일을 열고 다음을 추가하세요export TALISMAN_INTERACTIVE=true Don't forget to source the bash file for the variable to take effect!

  2. Alternatively, you can also invoke the interactive mode by using the CLI utility (for using pre-commit hook) talisman -i -g pre-commit 참고: IDE의 버전 관리 통합 기능을 사용하는 경우 이 기능이 작동하지 않습니다. 제안된 파일 이름과 체크섬을 여전히 사용하여 .talismanrc 파일에 수동으로 입력할 수 있습니다.

Git 기록 스캐너(Git history Scanner)

이제 CLI에서 Talisman을 실행하고, 잠재적으로 CI/CD 파이프라인에 추가하여 저장소의 git 기록을 스캔하여 민감한 콘텐츠를 찾을 수 있습니다. 여기에는 .talismanrc 파일에 나열된 파일의 스캔도 포함됩니다.

단계:

  1. 스캔할 git 디렉터리 경로로 이동합니다. cd <스캔할 디렉터리>
  2. 스캔 명령을 실행합니다. talisman --scan
  • 이 명령을 실행하면 현재 디렉터리의 루트에 talisman_reports라는 폴더가 생성되고 보고서 파일이 그곳에 저장됩니다.
  • --reportdirectory 또는 --rd라는 추가 매개변수를 제공하여 보고서 위치를 지정할 수도 있습니다.
    예: talisman --scan --reportdirectory=/Users/username/Desktop

위에 제공된 대로 다른 옵션을 사용하여 스캔할 수 있습니다.

Talisman은 현재 스캔 대상 파일 무시를 지원하지 않습니다.

체크섬 계산기(Checksum Calculator)

Talisman 체크섬 계산기는 .talismanrc 파일에 직접 복사하여 붙여넣을 수 있는 yaml 형식을 출력하여 Talisman 탐지기에서 특정 파일 형식을 무시할 수 있습니다.

체크섬을 실행하려면 저장소의 루트로 "cd"한 후 다음 명령을 실행하세요.

예: talisman --checksum="*.pem *.txt"

  1. 이 명령은 저장소에서 모든 .pem 파일을 찾아 해당 파일들의 전체 체크섬을 계산하고 .talismanrc용 yaml 형식을 출력합니다. .txt 파일도 같은 방식으로 처리됩니다.
  2. 여러 파일 이름/패턴은 공백으로 구분하여 지정할 수 있습니다.

출력 예:

root@kitploit:~
.talismanrc format for given file names / patterns
fileignoreconfig:
- filename: '*.pem'
  checksum: f731b26be086fd2647c40801630e2219ef207cb1aacc02f9bf0559a75c0855a4
  ignore_detectors: []
- filename: '*.txt'
  checksum: d9e9e94868d7de5b2a0706b8d38d0f79730839e0eb4de4e9a2a5a014c7c43f35
  ignore_detectors: []

참고: 체크섬 계산기는 파일들의 전체 체크섬을 계산할 때 스테이징된 파일을 고려합니다.

Talisman HTML 보고서(HTML Reporting)

제공:

Talisman CLI 도구 talisman은 상세하고 공유 가능한 HTML 보고서를 제공하는 기능도 함께 제공됩니다. Talisman을 설치한 후, talisman-html-report에 설명된 단계에 따라 .talisman 폴더에 보고 패키지를 설치하세요. HTML 보고서를 생성하려면 다음을 실행하세요:

  • talisman --scanWithHtml

이 명령은 저장소를 스캔하고 스캔된 저장소 아래에 talisman_html_report 폴더를 생성합니다. 보고서에 접근하려면 이 저장소 내에서 HTTP 서버를 시작해야 합니다. 아래는 HTTP 서버를 시작하는 권장 방법입니다:

  • python -m SimpleHTTPServer <포트> (예: 8000)

이제 다음으로 이동하여 보고서에 접근할 수 있습니다:

http://localhost:8000

샘플 스크린샷

  • Welcome
  • Summary
  • Detailed Report
  • Error Report

참고: Talisman을 CI 또는 기타 호스팅 환경에서 실행하는 경우 서버를 시작할 필요가 없습니다.

제거(Uninstallation)

제거 과정은 Talisman을 어떻게 설치했는지에 따라 다릅니다. 전역 훅 템플릿(global hook template)으로 설치하거나 단일 저장소에 설치했을 수 있습니다.

설치 시 선택한 옵션에 따라 아래 단계를 따르세요.

전역 훅 템플릿에서 제거

터미널에서 다음 명령을 실행하여 기계에서 Talisman을 전역적으로 제거합니다.

pre-commit 훅의 경우:``` bash -c "$(curl --silent https://raw.githubusercontent.com/thoughtworks/talisman/main/global_install_scripts/uninstall.bash)"

root@kitploit:~
pre-push hook의 경우:```
bash -c "$(curl --silent https://raw.githubusercontent.com/thoughtworks/talisman/main/global_install_scripts/uninstall.bash)" -- pre-push

이렇게 하면

  1. 모든 저장소의 기본 디렉토리를 묻고, 그 안에서 모든 git 저장소를 찾아 talisman 훅을 제거합니다.
  2. .git-template에서 talisman 훅을 제거합니다.
  3. 중앙 설치 위치($HOME/.talisman/bin)에서 talisman을 제거합니다.

환경 변수에서 TALISMAN_HOME을 수동으로 제거해야 합니다.

단일 저장소에서 제거

Talisman을 설치할 때, 설치 중에 선택한 대로 저장소에 pre-commit 또는 pre-push 훅이 생성되었을 것입니다.

저장소의 .git/hooks 폴더에서 Talisman pre-commit 또는 pre-push 훅을 삭제하여 수동으로 훅을 제거할 수 있습니다.

Talisman에 기여하기

Talisman에 기여하려면 기여 가이드를 확인하세요.

도구 다운로드