關于DakshSCRA
DakshSCRA是一款功能強大的源代碼安全審計工具,該工具旨在提升源代碼安全審計的效率,并為廣大代碼安全審計人員提供一種結構良好且組織有序的代碼審計方法。
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_dir dakshsca.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.txt DakshSCRA/runtime/filepaths.txt
許可證協議
本項目的開發與發布遵循GPL-3.0開源許可證協議。
項目地址
DakshSCRA:https://github.com/coffeeandsecurity/DakshSCRA
Anna艷娜
007bug
上官雨寶
黑白之道
安全圈
cayman
尚思卓越
上官雨寶
系統安全運維
FreeBuf
FreeBuf