DeepSecrets:一款能够理解代码语义的代码敏感信息扫描工具

关于DeepSecrets

DeepSecrets是一款能够理解代码语义的代码敏感信息扫描工具,在该工具的帮助下,广大研究人员将能够更有效地扫描和分析代码中的敏感信息。

社区中很多现有的代码分析工具其实并不能够真正地“理解”代码,而是直接解析代码文本。DeepSecrets通过语义分析、危险变量检测和更有效的熵分析扩展了传统的基于正则表达式的代码搜索方法。DeepSecrets提供的代码理解功能支持500多种编程语言和代码格式,并通过词法分析和解析(SAST工具中常用的技术)实现其功能。

除此之外,DeepSecrets还引入了一种搜索敏感数据的新方法,即使用已知敏感信息的哈希值并直接在代码中找到对应的数据。

工具安装

由于该工具基于Python开发,因此我们首先需要在本地设备上安装并配置好Python环境。接下来,广大研究人员可以直接使用pip工具从GitHub下载最新版本的DeepSecrets源码:

$ pip install git+https://github.com/avito-tech/deepsecrets.git

或者直接从Pypi下载和安装DeepSecrets:

$ pip install deepsecrets

工具使用

执行扫描

下列命令即可直接对目标代码执行敏感数据扫描与分析:

$ deepsecrets --target-dir /path/to/your/code --outfile report.json

上述命令将会使用工具默认配置并针对“/path/to/your/code”路径下的代码执行敏感数据扫描,其中:

1、正则表达式检测使用的是工具内置的规则集;

2、语义检查负责执行变量检测和熵检查;

扫描生成的报告将存储到report.json文件中。

配置微调

运行下列命令即可查看工具帮助信息:

deepsecrets --help

我们还可以通过使用“--regex-rules”选项来指定使用自己的规则集,或使用“--excluded-paths”选项来排除不需要扫描的代码路径。

规则集构建

正则表达式

为正则表达式检测提供的内置规则集路径为“/deepsecrets/rules/regexes.json”,广大研究人员可以按照原有数据格式自行修改或创建自定义规则集。

敏感数据哈希

为正则表达式检测提供的规则集样例路径为“/deepsecrets/rules/regexes.json”,广大研究人员可以按照原有数据格式自行修改或创建自定义规则集。

许可证协议

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

项目地址

DeepSecrets:【GitHub传送门

参考资料

Modernizing Secrets Scanning: Part 1–the Problem | HackerNoon

  • 18
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值