前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何使用Talisman检测Git代码库中是否遗留有令牌凭证等敏感信息

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

作者头像
FB客服
发布于 2022-04-12 01:28:53
发布于 2022-04-12 01:28:53
1.1K00
代码可运行
举报
文章被收录于专栏:FreeBufFreeBuf
运行总次数:0
代码可运行

关于Talisman

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

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

工具下载

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git clone https://github.com/thoughtworks/talisman.git

工具安装

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

1、将Git钩子以全局Git钩子模版和CLI实用工具方式安装; 2、将Git钩子设置在单个Git库中使用;

以全局钩子模版安装

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
curl --silent  https://raw.githubusercontent.com/thoughtworks/talisman/master/global_install_scripts/install.bash > /tmp/install_talisman.bash && /bin/bash /tmp/install_talisman.bash
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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的安装脚本:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
curl https://thoughtworks.github.io/talisman/install.sh > ~/install-talisman.sh

chmod +x ~/install-talisman.sh

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd my-git-project

~/install-talisman.sh

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd my-git-project

~/install-talisman.sh pre-commit

处理已有钩子

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
-   repo: https://github.com/thoughtworks/talisman

    rev: ''  # Update me!

    hooks:

    # either `commit` or `push` support

    -   id: talisman-commit

# -   id: talisman-push

工具使用

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

以CLI工具使用

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
-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格式报告:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
talisman --scanWithHtml

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python -m SimpleHTTPServer <port> (eg: 8000)

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
http://localhost:8000

工具使用截图

欢迎界面

概述界面

详细报告

错误报告

许可证协议

本项目的开发与发布遵循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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-04-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于Talisman
  • 工具下载
  • 工具安装
    • 以全局钩子模版安装
    • 安装在单个项目中
  • 以CLI工具使用
  • 工具使用截图
    • 欢迎界面
    • 概述界面
    • 详细报告
    • 错误报告
  • 许可证协议
  • 项目地址
  • 参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档