name: db-security description: | 資料庫安全審計,支援SQL隱碼攻擊檢測、敏感資料掃描、許可權審計、登入安全監控、審計日誌分析、密碼策略檢查、配置安全審計。
使用場景: - 使用者說"安全檢查" -> 執行 audit - 使用者說"檢測注入" -> 執行 sql-injection - 使用者說"掃描敏感資料" -> 執行 sensitive-data - 使用者說"安全評分" -> 執行 score - 使用者說"檢查許可權" -> 執行 permissions - 使用者說"登入安全" -> 執行 login-security - 使用者說"審計日誌" -> 執行 audit-log - 使用者說"高危操作" -> 執行 high-risk - 使用者說"密碼策略" -> 執行 password-policy - 使用者說"弱密碼" -> 執行 weak-passwords - 使用者說"配置安全" -> 執行 config
用法:
- dbskiter --output-mode=ai --database=
當用戶提到以下關鍵詞時,使用此skill:
| 使用者說法 | 執行命令 | 說明 |
|---|---|---|
| "安全檢查" | dbskiter --output-mode=ai --database=<name> security audit |
完整安全審計 |
| "有注入風險嗎" | dbskiter --output-mode=ai --database=<name> security sql-injection "<SQL>" |
SQL隱碼攻擊檢測 |
| "有敏感資料嗎" | dbskiter --output-mode=ai --database=<name> security sensitive-data |
敏感資料掃描 |
| "安全評分多少" | dbskiter --output-mode=ai --database=<name> security score |
安全評分 |
| "檢查許可權" | dbskiter --output-mode=ai --database=<name> security permissions |
許可權審計 |
| "登入安全" | dbskiter --output-mode=ai --database=<name> security login-security |
登入安全監控 |
| "審計日誌" | dbskiter --output-mode=ai --database=<name> security audit-log |
審計日誌分析 |
| "高危操作" | dbskiter --output-mode=ai --database=<name> security high-risk |
高危操作檢測 |
| "密碼策略" | dbskiter --output-mode=ai --database=<name> security password-policy |
密碼策略檢查 |
| "弱密碼" | dbskiter --output-mode=ai --database=<name> security weak-passwords |
弱密碼檢查 |
| "配置安全" | dbskiter --output-mode=ai --database=<name> security config |
配置安全審計 |
dbskiter --output-mode=ai --database=<資料庫名> security audit
輸出:安全評分 + 所有風險項 + 修復建議
dbskiter --output-mode=ai --database=<資料庫名> security sql-injection "SELECT * FROM users WHERE id = %s" --params='{"id": "1 OR 1=1"}'
輸出:風險評分、注入型別、修復建議
dbskiter --output-mode=ai --database=<資料庫名> security sensitive-data
預設行為:掃描所有表,識別身份證、手機號、郵箱等
可選引數:
- --tables=users,orders:只掃描指定表
- --sample-size=100:每表取樣100行(預設100)
7w4.net小蔥技能。
dbskiter --output-mode=ai --database=<資料庫名> security score
輸出:總體評分、各維度得分、扣分項
dbskiter --output-mode=ai --database=<資料庫名> security permissions
輸出:使用者許可權列表、過度授權警告
dbskiter --output-mode=ai --database=<資料庫名> security login-security --hours=24
輸出:登入失敗統計、異常登入IP、暴力破解檢測
可選引數:
- --hours=24:檢查最近多少小時(預設24)
dbskiter --output-mode=ai --database=<資料庫名> security audit-log --hours=24 --users=admin,root
輸出:使用者操作記錄、DDL變更、許可權變更
可選引數:
- --hours=24:分析最近多少小時(預設24)
- --users=admin,root:指定使用者(逗號分隔)
dbskiter --output-mode=ai --database=<資料庫名> security high-risk --hours=24
輸出:DROP/DELETE/TRUNCATE等高危操作記錄
可選引數:
- --hours=24:檢查最近多少小時(預設24)
dbskiter --output-mode=ai --database=<資料庫名> security password-policy
輸出:當前密碼策略、合規性檢查、改進建議
dbskiter --output-mode=ai --database=<資料庫名> security weak-passwords
輸出:弱密碼使用者列表、空密碼使用者、風險等級
dbskiter --output-mode=ai --database=<資料庫名> security config
輸出:配置安全問題、推薦值、風險等級
步驟1:執行 dbskiter --output-mode=ai --database=<name> security audit
步驟2:解讀AI返回的結構化資料(raw_metrics/rule_flags/context/reference_values/ai_hints)
步驟3:按嚴重程度列出需要修復的問題
步驟4:提供修復命令或建議
步驟1:執行 dbskiter --output-mode=ai --database=<name> security sql-injection "<SQL>" --params='...'
步驟2:解讀AI返回的rule_flags和raw_metrics中的風險資訊
步驟3:如果風險評分>70,詳細說明風險點
步驟4:提供安全的寫法(引數化查詢)
步驟1:執行 dbskiter --output-mode=ai --database=<name> security sensitive-data
步驟2:解讀AI返回的raw_metrics中的敏感欄位列表
步驟3:列出發現的敏感欄位
步驟4:建議加密或脫敏方案
{
"summary": "安全評分72分,發現5個風險項",
"score": 72,
"level": "C",
"risk_count": 5,
"risks": [
{
"severity": "CRITICAL",
"category": "sensitive_data",
"message": "users.phone包含手機號,未加密",
"suggestion": "對手機號欄位加密儲存"
},
{
"severity": "HIGH",
"category": "permissions",
"message": "使用者app_user擁有SUPER許可權",
"suggestion": "移除SUPER許可權,只授予必要許可權"
}
]
}
AI應該關注:
- score:安全評分(<80需要關注)
- level:安全等級(A/B/C/D)
- risks中severity為"CRITICAL"或"HIGH"的項
{
"summary": "風險評分85分,檢測到永真條件注入",
"risk_score": 85,
"level": "HIGH",
"injection_types": ["tautology"],
"suggestions": [
"使用引數化查詢替代字串拼接",
"對使用者輸入進行嚴格驗證"
]
}
AI應該關注:
- risk_score:風險評分(>70為高風險)
- injection_types:注入型別
- suggestions:修復建議
這個資料庫安全 Skill 文件寫得很清楚,覆蓋了安全檢查、注入檢測、敏感資料掃描等常用場景,使用說明和示例都很完備。但它目前只有文件說明,沒有實際的程式碼檔案可用。如果需要真正執行這些安全檢測功能,可能還需要配合 dbskiter 工具本身才能工作。