代碼掃描工具TScanCode


引入開源工具TscanCode對源代碼進行靜態掃描,開發人員對工具掃描的問題進行有針對性的分析及處理。

一、TScanCode安裝

代碼倉庫為:https://github.com/Tencent/TscanCode, 我們可以自己下載下來編譯,
也可以使用騰訊預編譯好的可執行文件(代碼倉庫的 release 目錄)。簡單起見,我們直接使用預編譯好的文件就行。

第一種:
$ git clone https://github.com/Tencent/TscanCode.git
$ cd TscanCode/release/linux/
$ unzip TscanCodeV2.14.24.linux.zip 
$ cd TscanCodeV2.14.24.linux/TscanCodeV2.14.2395.linux
$ chmod a+x tscancode 
$ echo "PATH=$PATH:$(pwd)" >> ~/.bashrc
$ source ~/.bashrc

第二種,建議使用:
cd trunk/
make
修改cfg/cfg.xml  #cfg.xml 配置不當,可能導致檢測結果為空,建議value="0"的再開啟一些

二、掃描規則與配置

2.1 檢測問題列表

代碼安全靜態掃描工具TscanCode主要能夠發現的問題如下:
1、自動變量檢查: 返回自動變量(局部變量)指針;
2、越界檢查:數組越界返回自動變量(局部變量)指針;
3、類檢查:構造函數初始化;
4、內存泄露檢查;
5、空指針檢查;
6、廢棄函數檢查;

2.2 掃描規則配置

代碼安全靜態掃描工具TscanCode支持多平台運行,包括Linux、Windows版本,在Linux下可通過cfg/cfg.xml對掃描的規則進行配置,
其中通過設置value=0則禁用,value=1則啟用。

三、 靜態掃描過程

3.1 配置掃描規則

根據需要定制掃描規則,編輯2.2 所述的規則配置文件cfg/cfg.xml,或直接使用默認的掃描規則。

3.2 准備掃描對象

將源代碼放到指定路徑下${SRC_CODE}(路徑中不能包含root文件夾,TscanCode特殊性)。
如,export SRC_CODE=~/rpmbuild/kylin-scanner/

3.3 執行代碼掃描

進到tscancode安裝目錄,這里為./trunk/目錄。
執行./tscancode --xml --enable=all -q ${SRC_CODE} >scan_result.xml 2>&1;

TscanCode會將結果按照固定的XML格式寫入文件中。

3.4 分析掃描結果

選擇Excel工具打開XML報告(為了處理更直觀),在左側插入一列處理情況。
開發人員根據報告對代碼上下文進行分析,判斷是否為工具誤報。
對於確認為問題的代碼,由開發人員處理后重新進行代碼安全靜態掃描,直到問題關閉。

參考:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM