如何使用Talisman检测Git代码库中是否遗留有令牌凭证等敏感信息

admin 2022年4月9日23:49:47评论31 views字数 2411阅读8分2秒阅读模式

如何使用Talisman检测Git代码库中是否遗留有令牌凭证等敏感信息

 关于Talisman 

Talisman是一款功能强大的敏感数据检测工具,可以通过在目标代码库中设置钩子,来确保代码库中没有开发人员遗留的潜在凭证数据或敏感信息。

在该工具的帮助下,广大开发人员可以验证潜在的SSH密钥、授权令牌和私钥等。

 工具下载 

广大开发人员可以使用下列命令将该工具源码克隆至本地:

git clone https://github.com/thoughtworks/talisman.git

 工具安装 

Talisman支持macOS、Linux和Windows操作系统平台,并且能够以下列方式进行安装:

1、将Git钩子以全局Git钩子模版和CLI实用工具方式安装;

2、将Git钩子设置在单个Git库中使用;

以全局钩子模版安装

我们建议广大开发人员以Git钩子模版的形式安装和使用Talisman,因为这种方式不仅可以将Talisman安装在现有的Git代码库中,而且还可以安装在我们初始化或克隆的任何新代码库中。

首先,打开终端并运行下列命令,然后下载并安装代码库:

curl --silent  https://raw.githubusercontent.com/thoughtworks/talisman/master/global_install_scripts/install.bash > /tmp/install_talisman.bash && /bin/bash /tmp/install_talisman.bash

curl --silent  https://raw.githubusercontent.com/thoughtworks/talisman/master/global_install_scripts/install.bash > /tmp/install_talisman.bash && /bin/bash /tmp/install_talisman.bash pre-push

接下来,如果你没有在“$PATH”中设置“TALISMAN_HOME”的话,工具将提醒你进行配置。

最后,选择一个Talisman需要扫描的代码库,并设置一个Git钩子为符号连接。这里可以将“SEARCH_ROOT”环境变量设置为目标代码库的路径。

处理已有钩子

在全局范围内安装Talisman不会影响代码库中已有的钩子。如果工具的安装脚本找到了已有钩子,则会显示在控制台中。

安装在单个项目中

首先,使用下列命令下载Talisman的安装脚本:

curl https://thoughtworks.github.io/talisman/install.sh > ~/install-talisman.sh
chmod +x ~/install-talisman.sh

接下来,将钩子安装进单独的项目中:

cd my-git-project
~/install-talisman.sh

cd my-git-project
~/install-talisman.sh pre-commit

处理已有钩子

Talisman需要通过设置来跟现有的Git钩子链接,将下列代码添加进“.pre-commit-config.yaml”即可:

-   repo: https://github.com/thoughtworks/talisman
rev: '' # Update me!
hooks:
# either `commit` or `push` support
- id: talisman-commit
# - id: talisman-push

 工具使用 

工具安装完成之后,Talisman将会自动运行并检测代码库中潜在的敏感信息。一旦检测到敏感数据或潜在的安全数据泄露,Talisman便会立刻显示相关的详细信息:

如何使用Talisman检测Git代码库中是否遗留有令牌凭证等敏感信息

以CLI工具使用

如果我们在命令行工具中执行Talisman,将会看到该工具所支持的全部选项参数:

-c, --checksum string          校验和计算,建议.talismanrc格式
-d, --debug 启用调试模式
-g, --githook string 以pre-push或pre-commit方式设置钩子
--ignoreHistory 以当前线程扫描所有文件
-i, --interactive 交互式更新Talisman
-p, --pattern string 扫描文件模式
-r, --reportdirectory string 存储扫描报告的路径
-s, --scan 扫描Git提交历史
-w, --scanWithHtml 生成HTML报告
-v, --version 显示Talisman当前版本

 生成HTML报告 

下列命令可以生成HTML格式报告:

talisman --scanWithHtml

上述命令将在目标代码库中创建一个名为“talisman_html_report”的目录。此时,我们需要在该代码库中启动一个HTTP服务器,以访问报告内容:

python -m SimpleHTTPServer <port> (eg: 8000)

接下来,打开浏览器并输入下列地址,即可获取HTML版本的扫描报告:

http://localhost:8000

 工具使用截图 

欢迎界面

如何使用Talisman检测Git代码库中是否遗留有令牌凭证等敏感信息

概述界面

如何使用Talisman检测Git代码库中是否遗留有令牌凭证等敏感信息

详细报告

如何使用Talisman检测Git代码库中是否遗留有令牌凭证等敏感信息

错误报告

如何使用Talisman检测Git代码库中是否遗留有令牌凭证等敏感信息

许可证协议

本项目的开发与发布遵循MIT开源许可证协议。

项目地址

https://github.com/thoughtworks/talisman

参考资料

https://git-scm.com/docs/git-init#_template_directory

https://github.com/thoughtworks/talisman#handling-existing-hooks

https://pre-commit.com/

https://github.com/typicode/husky/blob/master/DOCS.md

如何使用Talisman检测Git代码库中是否遗留有令牌凭证等敏感信息



精彩推荐






如何使用Talisman检测Git代码库中是否遗留有令牌凭证等敏感信息

如何使用Talisman检测Git代码库中是否遗留有令牌凭证等敏感信息
如何使用Talisman检测Git代码库中是否遗留有令牌凭证等敏感信息
如何使用Talisman检测Git代码库中是否遗留有令牌凭证等敏感信息

原文始发于微信公众号(FreeBuf):如何使用Talisman检测Git代码库中是否遗留有令牌凭证等敏感信息

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月9日23:49:47
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   如何使用Talisman检测Git代码库中是否遗留有令牌凭证等敏感信息http://cn-sec.com/archives/893725.html

发表评论

匿名网友 填写信息