Seekret,GitHub仓库和目录敏感信息搜索工具

Seekret是一个可以从各种源里面查找敏感信息的Go库和命令行工具。

命令行用法

描述

seekret从不同源(目录中的文件或者git仓库)中搜索敏感信息。可以用它来防止将敏感信息发布到容易暴露的位置上。

安装seekret

可以直接使用go get命令来安装seekret

用法

常规选项

Git的选项

Dir的选项

例子

扫描本地仓库所有commits中的全部文件

扫描远程仓库所有commits里的全部文件

扫描本地仓库里的最后一个commit里的全部文件

扫描本地文件夹下的所有文件(包括隐藏文件)

动手实践

seekret-secrets是准备用来测试seekret的,可以用来执行下面的例子:

1、检查远程git仓库:

2、检查本地git仓库:

3、检查最近2个commits:

4、在检查中使用exceptions:

库的用法

导入seekret库

初始化seekret上下文

加载Rules

加载对象

加载exceptions

检查

获取检查结果

Rules规则

敏感信息的特征是通过rules文件中的规则来标识的。这些扩展名为“.rule”的文件按照下面的格式用YAML来定义:

对于包含敏感信息的文件,必须满足”match”正则表达式,并且不符合“unmatch”里的任何正则表达式规则。

Exceptions例外

Exceptions里的条件决定了什么内容不是敏感信息。按照下面的格式使用YAML来定义:

这些条件是可选的,因此不是所有的条件都要指定,但是被认为是例外的内容必须满足所有指定的条件。

各种条件的含义解释:

rule 规则的名称。
object 匹配对象名称(通常是文件名)的正则表达式。
line 对象中的行数。
content 匹配内容的正则表达式。

下载地址

https://github.com/apuigsech/seekret

译者:felix