案例研究 · 安全維運與巡檢
智甲 EPP 自動巡檢與 CVE 漏洞掃描
維運工程師要做季度巡檢:遠端檢查智甲 EPP 管理端的執行狀態並產出可交付的合規報告。一條包含 SSH 連線資訊、巡檢命令、服務檢查腳本與漏洞掃描要求的複合指令交給 AVL Code,約 15 分鐘後,他手裡多了一份已脫敏的 HTML 巡檢報告和一個可複用的 paramiko 巡檢腳本。
對象 · 智甲 EPP 管理端(CentOS 7 內網主機)· 約束 · 複合指令一次下發 · 全程無人工介入· 模型 · 瀾砥 N2.5· 交付物 · HTML 巡檢報告 + 可複用巡檢腳本· 耗時 · 約 15 分鐘
會話回放與報告為簡體中文原始記錄 · 生成依據:AVL Code + 瀾砥大模型
概覽
- 01
環境探查與 SSH 連線 — paramiko 跨平台建連,巡檢命令執行拿到 inspection.json
你把 SSH 連線資訊和巡檢命令一次性交給 AVL Code。它會先探查本地環境,發現 Windows 沒有 sshpass/plink 後自動改用 Python paramiko 建連,執行巡檢命令並讀取輸出的 inspection.json。
- 02
服務與系統狀態採集 — 46 項服務狀態結構化解析(44 執行 / 2 停止)
你等它執行服務檢查腳本。46 個服務的 RUNNING/STOPPED 狀態被逐項解析成結構化資料,連同系統版本、資源佔用一起進入巡檢資料集。
- 03
多源漏洞掃描 — CVE-2017-5972(CVSS 7.5)檢出,兩次降級不中斷
你讓它呼叫 cve-mcp-server 掃漏洞。私有 IP 限制和 NVD API 逾時兩道坎都被自動降級策略繞過,最終給出帶風險評分的漏洞結論。
- 04
脫敏與報告交付 — HTML 報告生成 + fs.patch 增量修正
你拿到參考既有樣式生成的 HTML 巡檢報告,序列號已脫敏;隨後一句糾偏指令,報告經增量修改當場更新。
向 AVL Code 發布任務
現在需要你用ssh連接<內網IP>,使用者名root,密碼<憑證>。在/root下執行命令 cd /data0/app_new/&&LD_LIBRARY_PATH=./env/posix/lib7/ python /root/data_capture_safety.pyc對智甲EPP產品進行巡檢;執行命令/data0/bin/status_supervisorctl.sh檢查智甲EPP的服務執行狀態;呼叫cve-mcp-server,對<內網IP>進行漏洞掃描檢測。將生成的inspection.json檔案裡的內容、服務執行狀態和漏洞檢測結果寫成巡檢報告,報告樣式參考《NetAdmin_工具相容性報告》。報告中的序列號和密碼是敏感資訊,需要替換為*號處理。 前提:目標主機可 SSH 存取(本例為 root 憑證);本地裝有 Python 與 paramiko;cve-mcp-server 已註冊可用;另備一份用作樣式參考的既有 HTML 報告(本例為《NetAdmin_工具相容性報告》)
復現材料見文末 親自檢測 ↓
SSH 連線與巡檢
巡檢的第一道坎不在遠端,在本地:你的 Windows 工作機上根本沒有趁手的 SSH 自動化工具。AVL Code 拿到指令後沒有直接連,而是先做了兩件事。
現在需要你用ssh連接<內網IP>,使用者名root,密碼<憑證>。
在/root下執行命令 cd /data0/app_new/&&LD_LIBRARY_PATH=./env/posix/lib7/ python /root/data_capture_safety.pyc對智甲EPP產品進行巡檢解析複合指令,拆出 4 個子任務:SSH 巡檢 → 服務檢查 → 漏洞掃描 → 報告生成
→ 探查本地環境:Python / paramiko 就緒 · Windows 無 sshpass/plink → 改用 paramiko 建連
→ SSH 連線成功(root)→ 執行巡檢命令,擷取輸出
→ 讀取巡檢結果 inspection.json服務狀態採集
inspection.json 只是巡檢的一半,另一半是「哪些服務活著」。這一步的產出會直接決定報告裡的服務狀態總覽和風險等級。
執行命令/data0/bin/status_supervisorctl.sh檢查智甲EPP的服務執行狀態;
將生成的inspection.json檔案裡的內容、服務執行狀態和漏洞檢測結果寫成巡檢報告執行 status_supervisorctl.sh → 46 個服務:44 執行 · 2 停止 · 任務佇列無積壓
→ 採集系統資訊:CentOS 7(已 EOL)· CPU 0.90% · 記憶體 67% · 磁碟 11%
→ 自動完成 inspection.json 中文編碼轉換
→ 關鍵發現:授權將於 2026-06-24 過期(剩餘 1 天)· 1/1 用戶端離線漏洞掃描
漏洞掃描是最容易卡住的一步:情報源可能逾時,工具可能拒絕你的請求。這一步你會看到降級策略如何讓掃描照常完成。
呼叫cve-mcp-server,對<內網IP>進行漏洞掃描檢測。呼叫 cve-mcp-server:IP 信譽查詢被拒(私有 IP)→ 轉為基於系統版本 + 軟體套件的漏洞列舉
→ NVD API 多次逾時 → 按降級鏈完成掃描
→ 融合 NVD / CISA KEV / OSV.dev / EPSS 多源情報計算風險評分
→ 檢出核心漏洞 CVE-2017-5972(CVSS 7.5):SYN cookie DoS 風險報告生成與修正
合規報告的底線有兩條:樣式要規範,敏感資訊不能漏。這一步你拿到報告,還會看到它如何被一句話修正。
將巡檢結果和漏洞檢測結果寫成HTML格式的巡檢報告,報告樣式參考《NetAdmin_工具相容性報告》。報告中的序列號和密碼是敏感資訊,需要替換為*號處理。
──第二輪──
【病毒庫版本】狀態應該是【異常】,在下方增加一行提示:病毒庫已經超過一個月未更新,建議升級病毒庫。升級套件下載位址:https://iepupdate.antiy.cn/update_list/GettoollistforZip讀取參考報告的 HTML 結構,複用其樣式框架
→ 序列號替換 ****、密碼遮罩處理
→ 生成智甲 EPP 巡檢報告:系統資訊 / 授權(脫敏)/ 46 項服務狀態 / 漏洞結果 / 風險彙總 / 建議措施
→ 收到糾偏後 fs.patch 增量修改(不重寫整份檔案):病毒庫狀態改判【異常】+ 新增升級提示行與下載位址親自檢測
照做一遍:把佔位符換成你的主機資訊,步驟順序與本文一致。
python --version python -c "import paramiko" cd /data0/app_new/ && LD_LIBRARY_PATH=./env/posix/lib7/ python /root/data_capture_safety.pyc /data0/bin/status_supervisorctl.sh check_ip_reputation <內網IP> check_package_vulns <作業系統版本> <軟體套件列表> scan_dependencies <軟體套件清單> lookup_cve <CVE編號> fs.patch <報告路徑> <修改內容> - 第 1 步:環境探查(本地)。
- 第 2 步:SSH 連線與巡檢(Windows 無 sshpass/plink 時走 paramiko 腳本)。
- 第 3 步:服務狀態檢查。
- 第 4 步:漏洞掃描(cve-mcp-server 工具,逾時/私有 IP 時按降級鏈走)。
- 第 5 步:報告增量修正(不重寫整份 HTML)。
- 會話匯出未包含逐條工具呼叫明細,過程中的降級鏈與工具名(paramiko、check_ip_reputation、fs.patch 等)以案例報告記載為準。另請
- 注意:session.html 匯出中第一條使用者訊息為精簡版(「密碼你知道」),本文引用的完整複合指令以案例報告「使用者指令(原始輸入)」為準,兩處版本差異如實保留。所有內網 IP 與憑證在本文中均以佔位符替代。
下一個問題: 報告裡寫著「授權將於明天過期」——把「立即續約授權」提上工單之後,下一季度的巡檢能否直接複用巡檢腳本批量跑多台主機?
