前言¶
DeepSeek Harness(DSH)是一個以插件爲核心的生態。在安全開發流程中,被動等待告警往往滯後,無法及時掌握系統狀態。Dolphin(小海豚)將滲透測試的方法論(信息收集、漏洞探測、利用驗證、報告)轉化爲主動防禦巡檢流程,填補了 DSH 生態中“主動防禦巡檢”的空白。它像海豚巡遊一樣,定期、主動地對目標主機做安全掃描與評估。
核心能力¶
Dolphin 主要提供以下能力:
- 基於 Semgrep 的掃描:利用靜態分析引擎進行規則匹配。
- 基於 SSH 的遠程巡邏:通過 SSH 將掃描命令下發至遠程主機執行,回收結果並本地存檔。
- 結構化報告生成:輸出統一的 SecurityFinding 數據模型,存檔爲 JSON 報告。
- 跨平臺支持:支持 Windows / Linux / macOS / WSL2。
- 隔離部署:自動在目標端隔離部署 semgrep,避免污染生產環境(支持 pipx / venv / 便攜包)。
- 零硬編碼路徑:所有數據路徑由運行時 API 推導,兼容 Windows 與 POSIX 路徑。
- SSH 層純 JS:基於 ssh2,控制端與目標端可以是任意操作系統組合。
- 自動健康檢查:巡邏前自動探測遠端環境。
- 遠程命令 POSIX 化校驗:下發命令前進行語法校驗,防止注入。
安裝與依賴¶
本插件由 ccr-wer 維護,採用 MIT 協議。
- 安裝插件
通過 npm registry 安裝:
npm install dsh-dolphin-security
-
環境要求
- Node.js >= 20
- npm 包管理器
-
前置依賴
Dolphin 依賴 semgrep(LGPL-2.1)。必須先安裝 semgrep 並確保其可在命令行中直接調用:
pip install semgrep
安裝後可通過 `semgrep --version` 驗證。
使用方式¶
Dolphin 既可在 DSH 宿主中作爲插件運行,也可作爲獨立 CLI 腳本使用。
本地掃描
對指定目錄執行靜態掃描:
node dolphin-patrol.js --local <目錄>
# 示例
node dolphin-patrol.js --local D:/your-project/src
遠程巡邏
通過 SSH 對遠程主機進行巡檢。需先定義目標主機信息(通常參考 test-ssh-hosts.js 模板),然後執行:
node dolphin-patrol.js --patrol <alias> <遠程目錄>
# 示例
node dolphin-patrol.js --patrol server01 /srv/app
遠端未安裝 semgrep 時,插件會自動在隔離環境(如 ~/.local/share/pipx 或 /tmp)中部署並執行掃描。
自測與調試
# 運行自檢
node dolphin-patrol.js
# 模擬數據自測
node dolphin-core.js --mock [目錄]
# SSH 引擎自檢
node dolphin-ssh-core.js
# 測試主機庫與健康檢查
node test-ssh-hosts.js
# 起本地 ssh2 服務端驗證完整閉環
node test-ssh-hosts.js --live
技術細節與架構¶
- 架構:採用“眼睛(掃描層)、手腳(執行層)、大腦(融合控制器)”三層架構。
dolphin-core.js負責掃描封裝,dolphin-ssh-core.js負責 SSH/SFTP 能力,dolphin-patrol.js負責下發命令與結果聚合。 - 安全部署:遠端工具部署採用隔離技術(pipx / venv / 便攜包),嚴禁使用
sudo或寫入系統 site-packages。遠端命令經嚴格 POSIX 語法校驗。 - 跨平臺:SSH 層基於純 JS 實現,支持任意操作系統組合的控制端與目標端。
注意事項¶
- 免責聲明:本項目嚴禁用於非法滲透測試。僅限用於你擁有合法所有權或已獲得明確書面授權的系統與代碼。使用本工具對第三方系統發起掃描可能違反相關法律法規。
- 權限要求:必須先安裝 semgrep 並加入 PATH。
- 安裝方式:請務必通過
npm install安裝,不要手工拷貝目錄,以免缺失運行文件。
資源¶
- 官方目錄:https://www.skillhub.cn/plugins/ccr-wer/dsh-dolphin-security
- 源碼倉庫:https://github.com/ccr-wer/dsh-dolphin-security