DakshSCRA会对目标代码进行仔细审查,然后将潜在的安全问题进行标记,并敦促剖析职员对已标记的潜在安全问题进行调查和确认。如果将所有的潜在问题都标记为Bug的话,会增加误报率,同时也会花费掉审计职员大量宝贵的韶光和资源。DakshSCRA不会对所有潜在的问题都标记为Bug,同时也减少了审计职员在处理误报方面要花费的韶光,从而促进更高效的代码审查过程。
功能特性1、识别源代码中审计职员感兴趣的部分:鼓励重点调查和确认,而不是不加差异地将所有内容标记为Bug;
2、确定文件路径中感兴趣的部分:识别文件路径中的模式,以确定要查看的干系部分;
3、软件级别的数据侦查以识别所利用的技能:识别项目技能,使代码审查职员能够按照适当的规则进行精确的扫描;
4、代码审查的自动化科学事情量估算:供应一种可丈量的方法来估算代码审查过程所需的事情量;
5、利用特定于平台的规则以查找感兴趣的部分;
6、支持为任何新措辞或现有措辞扩展或添加新规则;
7、支持天生文本格式、HTML和PDF格式的报告以供审计职员查看和检讨;
工具安装由于该工具基于Python 3开拓,因此我们首先须要在本地设备上安装并配置好Python 3环境。接下来,广大研究职员可以直策应用下列命令将该项目源码克隆至本地:
git clone https://github.com/coffeeandsecurity/DakshSCRA.git
然后安装virtualenv:
$ pip install virtualenv
利用virtualenv搭建一个虚拟环境:
$ virtualenv -p python3 {name-of-virtual-env}例如: virtualenv -p python3 venv
激活刚才创建的虚拟环境:
$ source {name-of-virtual-env}/bin/activate例如: source venv/bin/activate
运行了激活命令之后,你将会看到终端窗口提示符变为如下所示:
(venv) $
配置完成后,在虚拟环境中运行下列命令安装该工具所需的其他依赖组件:
pip install -r requirements.txt
工具利用
下列命令可以直接查看工具的帮助选项:
pip install -r requirements.txt
usage: dakshscra.py [-h] [-r RULE_FILE] [-f FILE_TYPES] [-v] [-t TARGET_DIR] [-l {R,RF}] [-recon] [-estimate] options:-h, --help 查看工具帮助信息和退出-r RULE_FILE 指定平台专用的规则名称-f FILE_TYPES 指定要扫描的文件类型-v 指定Verbose模式等级 {'-v', '-vv', '-vvv'}-t TARGET_DIR 指定目标目录路径-l {R,RF}, --list {R,RF} 列举规则[R]和文件类型[RF]-recon 检测目标代码利用的平台、框架和编程措辞-estimate 评估代码审计事情量
工具利用样例
'-f'是一个可选项,如果不指定,工具默认会利用选择的规则扫描对应的文件类型:
dakshsca.py -r php -t /source_dir_path
可以利用 '-f'选项覆盖默认设置,并制订其他的文件类型:
dakshsca.py -r php -f dotnet -t /path_to_source_dirdakshsca.py -r php -f custom -t /path_to_source_dir
'-recon'和'-r'选项一起利用,则实行数据侦查和基于规则的扫描:
dakshsca.py -recon -r php -t /path_to_source_dir
如果只利用了'-recon'但没有'-r'选项的话,则只实行数据侦查:
dakshsca.py -recon -t /path_to_source_dir
'-v'代表开启Verbose模式,该选项是默认选项,'-vvv'将实行所有的规则检测及结果:
dakshsca.py -r php -vv -t /path_to_source_dir
支持的RULE_FILE:
dotnet、java、php、python、javascript
支持的FILE_TYPES:
dotnet、java、php、python、javascript、custom、allfiles
报告天生
HTML报告路径:
DakshSCRA/reports/html/report.html
PDF报告路径:
DakshSCRA/reports/html/report.pdf
数据侦查报告路径:
DakshSCRA/reports/text/recon.txt
识别模式文本报告:
DakshSCRA/reports/text/areas_of_interest.txt
项目文件识别报告:
DakshSCRA/reports/text/filepaths_aoi.txtDakshSCRA/runtime/filepaths.txt
容许证协议
本项目的开拓与发布遵照GPL-3.0开源容许证协议。
项目地址DakshSCRA:https://github.com/coffeeandsecurity/DakshSCRA