Please enable JavaScript.
Coggle requires JavaScript to display documents.
Aspect-based Security Solver Plugin - Coggle Diagram
Aspect-based Security Solver Plugin
從SonarQube取得專案的issues (全部issue取得途徑需要2種方式)
Web API(GET: api/issues/search)
Web API(GET: security hotspot issue)
篩選可處理的issue
根據不同的security issue產生處理的aspect code
處理issue的Aspect code建構類型
根據專案程式結構不同產生相對應aspect code
SQL Injection Issue
使用JavaPaser找處理issue所需的關鍵資料
SQL Query String
字串結構
Select…From…Where statement
INSERT INTO table_name VALUES (value1, value2, value3,…);
字串出現組合
Pure String
No SQL Injection Problem
String with string concatenation
Pure string concatenation
1 more item...
string concatenation with variable(s)
2 more items...
Connection Object
程式結構
Method parameter
Static Object
This Class
Method parameter have Statement Object (Connection Object only)
通用型aspect code
建構Aspect Code所需提供的資料
Class Declaration
Aspect Advice Annotation and PointCut
Advice: 根據處理issue的方式選擇Advice類型
PointCut: 處理issue的關鍵method(若需要可以使用JavaPaser取得)
Aspect Annotation
Import Info
Package Info
可由JavaPaser取得
Method Declaration
Method 型別
Method 行為
若Aspect Adivce類型為Around
關鍵執行處理內容
method原執行內容
Method是否有回傳值
輸出aspect code至專案程式碼目錄上
將原專案sourcode與aspect code使用aspect編織編譯的bytecode反編譯成source code至專案中
需要知道專案原始碼和class檔的目錄位置
產生報告資訊至Jenkins上
此專案已處理的issue之aspect code
此專案已處理的issue與SonarQube掃描驗證狀態