小白写博客,并不是很了解,希望有大佬可以指点

1.首先禁用这些暴露的密钥!

2.安装 gitleaks

git bash页面

winget install Gitleaks.Gitleaks

其他系统可参照下表安装:

操作系统 安装命令
macOS (使用 Homebrew) brew install gitleaks
Linux (Ubuntu/Debian) sudo apt install gitleaks
Docker docker pull zricethezav/gitleaks:latest

 如果 winget 不可用(极少见)

https://github.com/gitleaks/gitleaks/releases

 

你可以根据需求,参考下表选择不同的扫描方式。

扫描目标 命令 (gitbash 中执行) 说明
全面扫描 Git 历史 (推荐) gitleaks git --verbose . 这是最全面的方式,会扫描项目的所有提交历史,能发现已删除但仍残留在历史中的敏感信息。当前目录用 . 表示,这也是我们刚才执行命令的位置。
只扫描当前文件 gitleaks dir --verbose 速度快,但扫描范围有限,仅检查当前文件快照,无法发现历史记录中的问题。
只检查即将提交的更改 gitleaks git --pre-commit 在每次 git commit 前使用,能及早阻止敏感信息进入版本库,是预防泄露的最佳实践

执行gitleaks git --verbose .后,终端会显示扫描进度。--verbose参数(即--verbose)可以让你看到更详细的过程。如果发现敏感信息,它会直接在终端中列出。

 扫描日志中记录的关键信息

  • Leak:发现的风险项。

  • RuleID:匹配到的规则ID (如 generic-api-key,表示通用的 API 密钥模式)。

  • Description:对该风险的描述。

  • Commit:存在该风险的提交哈希值。

  • File:发现风险的文件路径。

  • Line:风险所在的行号。

  • Match:匹配到的内容片段(可能已部分遮蔽)。

  • Secret:泄露的密钥原文(此项需要重点关注)。

安装到本地

可以检测暴露的隐私

3.下载 BFG

https://rtyley.github.io/bfg-repo-cleaner/

下载 bfg-1.15.0.jar(或最新版),放到项目目录外(比如桌面)

4.创建 secrets.txt(要替换的字符串列表)

在项目根目录下创建一个 secrets.txt
可以让ai帮你检查哪些意思暴露并帮你写好这个文件

5.运行 BFG重写本地历史,密钥变成 REPLACED

在项目目录的 Git Bash 中

java -jar bfg路径 --replace-text secrets.txt .

6.让ai修改你的项目中的硬编码

7.强制推送到远程仓库(覆盖旧历史)

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐