MIT 開源 · v0.3.0ai-security-monitor
網站能打開,不代表漏洞、憑證與安全設定都沒問題;電腦看起來正常,也不代表沒有可疑連線。ai-security-monitor 把主機監控與選用的網站掃描集中到自架 Security Hub,讓你看清楚發現了什麼、該處理哪些問題,以及修完之後還剩什麼。

涵蓋全球 190+ 目的地的旅遊 eSIM
優惠碼 TRAVEL30,全站 7 折(現省 30%),不得與其他優惠碼合併。
本站聯盟推廣連結。透過連結購買,站長可獲得少量佣金,你的價格不會變貴。
你是不是也卡在這些地方?
網站上線、主機變多之後,最難的是持續看見風險,並確認每個問題真的有被處理。
網站能用,但不知道有沒有漏洞
用 httpx、tlsx、nuclei 與 testssl.sh 檢查自己的網站,找出憑證、TLS、安全標頭、已知漏洞與設定問題。
掃描報告一堆,不知道從哪看起
不同掃描器的結果由 Hub 解析、去重並集中呈現。缺少的核心安全標頭合成一筆,減少重複提醒。
修完了,卻不知道問題還在不在
重新掃描時自動比對前次結果,追蹤已修復與再次出現的問題,讓每次修補有結果可查。
這台電腦連到哪裡
每條連線分成對外、對內、監聽、本機,附上行程、國家與組織。不用懂 netstat,一張表看完。
哪些連線有問題
比對 Spamhaus、abuse.ch、blocklist.de 等公開黑名單,加上暫存目錄執行、腳本對外連線、週期性回報等異常行為,判定安全、未知、可疑或危險。
門有沒有關好
讀防火牆規則,算出每個監聽中的 port 實際能不能從網路連進來,不是只看有沒有開。
該更新的有沒有更新
作業系統支援期限、多久沒更新、有已知漏洞的軟體版本;命中 CISA KEV(已被拿來攻擊的漏洞)直接升為嚴重。
剛剛為什麼當機
整理 Windows 事件記錄、藍屏代碼、Linux journal 與 macOS 當機報告,列出可能原因與處置;也抓暴力破解、新帳號、帳號鎖定與遠端桌面登入。
全公司的電腦都還好嗎
每台主機註冊到自架的 Security Hub,總覽、分數趨勢、待處理問題與遠端封鎖審核都在同一個地方。
網站上線了,接下來誰幫你檢查?
憑證快到期、安全標頭漏設、元件有已知漏洞,往往不會讓首頁立刻壞掉。Security Hub 的網站掃描把不同工具的發現合成一份清單,下一次掃描再比對修補結果。
- 1
先登錄你有權檢查的網站
新增網址後,可先做少量請求的被動檢查。公網網站要做主動掃描,先透過 DNS TXT、驗證檔或 HTML meta 標籤證明擁有權;驗證有效 90 天。
- 2
讓工具各查擅長的問題
httpx 檢查網站指紋與建議安全標頭,tlsx 檢查憑證;驗證後可用 nuclei 找已知漏洞與設定問題,testssl.sh 檢查 TLS 協定與加密套件。
- 3
集中看發現,修補後再比對
Hub 解析並合併重複發現,依嚴重度看問題。修完後重新掃描,確認哪些已修復、哪些又出現,不用手動對照多份工具輸出。
掃描範圍要看清楚:網站若在 Cloudflare 或其他 CDN/WAF 後面,結果可能反映邊緣節點的 TLS 與標頭設定,不能直接當成源站漏洞;沒有命中也不代表網站完全安全。
網站掃描預設不啟用。使用含 webscan 的 Compose 配置,並在 .env 設定至少 32 字元的 AI_SECURITY_MONITOR_HUB_WEBSCAN_TOKEN;一般 Hub 配置不會啟動掃描端。內網目標要先由管理員加入允許網段。
查看網站掃描設定與完整流程從一台電腦,到自己的網站
主機用 agent 或桌面版;多台主機交給 Hub 集中管理。要檢查網站時,再啟用獨立的網站掃描端。
ai-security-monitor(agent)
agent/ · Rust 單一執行檔
- 裝在要保護的電腦或伺服器上:Windows、Windows Server(含 Server Core、網域控制站)、macOS、Linux
- 掃描連線、情資、防火牆、port、漏洞、硬化、事件與流量
- 可以單獨用 CLI,也能註冊到 Hub 定期回報
- 開機自動啟動(系統服務或使用者登入時),ai-security-monitor self-update 比對 SHA256SUMS 更新
Security Hub
hub/ · Next.js+PostgreSQL
- 總覽、主機、連線、待處理問題、漏洞、安全設定、流量、事件、情資分頁
- 可疑 IP 排名:依危險程度與累計次數排序,每個 IP 可以寫人工備註
- 辦公室電腦自動找到 Hub(區網或公司 DNS)並申請加入,管理員按核准,或指定網段自動通過;用指紋防止連到冒充的 Hub
- 遠端封鎖要經過審核,動作有 HMAC 簽章並釘選主機身分
- 註冊金鑰、唯讀 API token、稽核紀錄、CSV 匯出
- 單機版只綁本機,伺服器版給整個車隊;中英文、深色模式、手機版面
AI 與 MCP
ai-security-monitor ai · ai-security-monitor mcp · Hub /ai
- ai-security-monitor ai ask/analyze 交給 Claude Code 或 Codex CLI,只開唯讀工具
- ai-security-monitor mcp 讓 Claude Code、Codex、Cursor、VS Code 直接查這台電腦
- Hub 也是 MCP server,可以問整個車隊的狀況
- Hub 網頁上的 AI 助手用白話解釋目前風險
桌面版(AI Security Monitor)
desktop/ · Tauri 2
- 不想打指令的人用:系統匣常駐,點開就是視窗介面
- 總覽分數、連線(依判定與方向篩選)、掃描結果、威脅情資狀態
- 設定頁可以填 Hub 網址、尋找公司的 Hub 並申請加入
- 兩個開機選項:開機後在背景自動回報、登入時開啟桌面版(只常駐系統匣)
網站掃描端(選用)
web-scan-runner · 獨立容器
- 向 Hub 領取工作,執行 httpx、tlsx、nuclei、testssl.sh 並回傳結果
- Hub 負責解析、去重與歷次比對;實際網站請求由掃描端發出
- 限制每秒請求數、同時連線數與掃描時間;只連通過範圍檢查的位址
- 使用 compose.webscan.yml 或 compose.standalone.webscan.yml 才會啟用
架構
每台主機上的 agent 定時掃描、回報到自架的 Hub;Hub 彙整後畫成儀表板,AI 透過 MCP 讀資料、用白話解讀。
- 1🦀
主機上的 agent
掃描連線、防火牆、port、漏洞、硬化、事件與流量,比對本機快取的威脅情資,判定安全到危險。
- 2📤
定時回報
每分鐘送連線快照、每 10 分鐘送完整報告到 Hub(HTTPS+主機身分 token),斷線時先存在本機待重送。
- 3🛡️
Security Hub
Next.js+PostgreSQL 彙整所有主機:分數、可疑 IP 排名、待處理問題、遠端封鎖審核與稽核紀錄。
- 4🤖
AI 解讀
agent 與 Hub 都是 MCP server;Claude Code 或 Codex 只拿唯讀工具,查資料後用白話說明風險與處置。
資料夾結構
一個 repo 放齊 agent、Hub、桌面版與部署設定。
- agent/
- Rust agent(ai-security-monitor 執行檔):連線、情資、防火牆、漏洞、硬化、事件、流量、MCP、AI、服務與自我更新
- hub/
- Security Hub:Next.js App Router 頁面與 API、Drizzle schema 與 migration、i18n、測試
- desktop/
- Tauri 2 桌面版:Rust 外殼(src-tauri)+網頁介面(ui)
- contract/
- agent 與 Hub 之間的 JSON 契約(註冊、報告、快照、遠端動作)
- feeds/
- 威脅情資來源清單、已知良好服務、硬化規則(YAML)、作業系統支援期限、事件說明
- docker/
- Hub 映像的 Dockerfile 與 compose(單機版、伺服器版、開發用)
- scripts/
- 一行安裝腳本(install.sh/install.ps1)、版本檢查、示範資料與截圖產生
- docs/
- 各功能的中英文件與截圖
值得一提的設計
資安工具最怕的是亂報警跟亂改設定,這幾個地方特別小心。
每個判定都附來源
命中哪個情資來源、廠商、信心分數、授權與原始網址都列出來,不是黑箱分數。
預設只預覽
封鎖 IP、關 port、安裝服務、更新這些會改系統的命令,沒加 --yes 都只顯示會做什麼。
封鎖可以撤銷
fw sync-blocklist 只同步高信心情資,先預演、再確認,規則都能一鍵移除。
尊重情資授權
非商用授權的來源(例如 DShield)預設只告警、不拿來封鎖;完整清單在 THIRD_PARTY_NOTICES。
濾掉保留網段
同步黑名單時排除 0/8、10/8、192.168/16 這類保留網段,也檢查跟本機 IP 的重疊,避免把自己鎖在外面。
60 條硬化檢查
UAC、Defender、BitLocker、SMBv1、RDP NLA、SSH、核心參數、FileVault、Gatekeeper,嚴重度加權算分,可用 YAML 自訂。
不抓封包也看得到流量
flow-lite 看各行程連到哪裡;有 pcap 時再分析 DNS、TLS SNI、明文協定、大量上傳與週期性連線。
AI 只拿唯讀權限
交給 Claude Code 或 Codex 分析時只開唯讀工具,AI 能看、不能動你的系統。
內建的威脅情資來源(節錄)
共 26 個來源。AbuseIPDB、GreyNoise、CrowdSec 可以自備 key 線上查詢;也能完全關掉對外查詢。
長什麼樣子
截圖用的是 repo 內建的示範資料(虛構主機、文件保留網段 IP):前面是 Security Hub,最後四張是 Windows 桌面版。















開始之前,先確認掃描範圍
先把限制講清楚,比事後解釋誠實。
- 1
主機監控與網站掃描,範圍不同
agent 檢查所在主機;選用的網站掃描端會連線檢查你擁有或取得書面授權的網站。公網主動掃描需先驗證擁有權,內網則需管理員設定白名單;不做注入、DoS 或模糊測試。
- 2
部分檢查需要系統管理員權限
讀防火牆規則、事件記錄、安裝系統服務時需要管理員或 root;沒有權限時會跳過並在 ai-security-monitor doctor 裡說明。Windows Server 上不適用的檢查(例如沒裝 Defender、Server Core 沒有 SmartScreen)會標成「不適用」,不算失敗。
- 3
情資判定是參考,不是定罪
公開黑名單會有誤判(例如 CDN 網域),所以每筆都附來源讓你自己判斷;網域層級的命中預設降為可疑。
- 4
Hub 需要 Docker 與 PostgreSQL
compose 檔已經內附 PostgreSQL;只想看一台電腦的話,用單機版就好,只綁 127.0.0.1。
- 5
AI 分析要自備 Claude Code 或 Codex
ai-security-monitor 呼叫你電腦上已登入的 CLI;Hub 的 Docker 映像 latest 版已內含兩種 CLI,slim 版不含。不用 AI,其他功能照樣能用。
安裝 ai-security-monitor
一行指令下載最新版並比對 Release 的 SHA256SUMS,不符就停止。
我該下載哪一個?
依你的情況挑一個就好。所有檔案都在 GitHub Release,附 SHA256SUMS 可以核對。
桌面版安裝檔
AI-Security-Monitor-<版本>-windows-x64-setup.exe/macOS .dmg/Linux .AppImage 或 .deb
雙擊安裝。沒有程式碼簽章,Windows 的 SmartScreen 請按「其他資訊」→「仍要執行」,macOS 第一次請按右鍵 → 打開。
命令列版
用下面的一行安裝指令
自動下載、核對 SHA256、設定開機啟動。單獨的 ai-security-monitor-<版本>-<系統> 執行檔請在終端機執行,不要雙擊。
Security Hub(Docker)
ghcr.io/markku636/ai-security-monitor-hub
架好 Hub 後,辦公室電腦可以自動找到它並申請加入,你在 Hub 按核准就好,不用一台台發金鑰。
Security Hub+網站掃描端
docker/compose.standalone.webscan.yml 或 docker/compose.webscan.yml
先設定共用掃描權杖並啟動含 webscan 的配置,再到 Hub 登錄網站與驗證擁有權。只安裝桌面版或主機 agent 不會啟用網站掃描。
可以忽略
asa-*
只給舊版 asa 0.1.x 自我更新用。
Linux / macOS
Windows(PowerShell)
也可以到 GitHub Release 直接下載各平台的執行檔。裝好之後先跑 ai-security-monitor doctor 檢查權限、情資新鮮度與 Hub 連線;要開機自動回報就跑 ai-security-monitor service install --yes(伺服器加 --system),桌面版則在設定頁打開「開機/登入後在背景自動回報」。從舊版 asa(0.1.x)升級:重跑上面的安裝指令,再執行 ai-security-monitor service install --yes,設定、金鑰與 Hub 註冊會自動沿用;舊的「AI Security Agent」桌面版請先解除安裝。
架設 Security Hub
- 1
準備 Docker。Hub 映像 ghcr.io/markku636/ai-security-monitor-hub 支援 amd64 與 arm64,可以直接拉。
- 2
複製 .env.example 成 .env,填 AI_SECURITY_MONITOR_HUB_ADMIN_SECRET 與 AI_SECURITY_MONITOR_HUB_DB_PASSWORD(可以用 openssl rand -hex 32 產生)。
- 3
單機版用 docker/compose.standalone.yml,打開 http://127.0.0.1:8088;伺服器版用 docker/compose.yml,建議放在 TLS 反向代理後面。
- 4
用管理員金鑰登入,到「新增主機」:把頁面上的一行安裝指令(不含金鑰)給辦公室電腦,或讓它們用桌面版「尋找公司的 Hub」→「申請加入」,再到「待核准的主機」按核准。
單機版一次起好(記得先填好 .env):
常用命令
會改變系統的命令沒加 --yes 都只會預覽。加 --lang en 切英文,--json 給程式讀。
ai-security-monitor doctor環境檢查:權限、情資新鮮度、外部工具、Hub 連線。
ai-security-monitor intel update下載威脅情資;之後 ai-security-monitor watch 會自動更新。
ai-security-monitor connections --intel目前所有連線與判定。
ai-security-monitor scan完整掃描:連線、情資、防火牆、port、事件、漏洞、硬化。
ai-security-monitor fw sync-blocklist --dry-run預覽會封鎖哪些高信心情資 IP。
ai-security-monitor ai ask "這台電腦有沒有連到危險的地方?"交給 Claude Code 或 Codex 用白話解讀。
ai-security-monitor enroll https://hub.example.com --key asa_ek_…註冊到 Security Hub,之後定期回報。
技術選擇
agent 是一個沒有執行期相依的執行檔;Hub 用 Docker 一次帶齊。
授權與資料來源
本專案以 MIT 授權釋出,商用、修改、再散布都可以。威脅情資、漏洞與地理資料來自各自的提供者並遵守其授權(例如 DShield 非商用、DB-IP 需標註),每一筆命中都附來源網址。 選用網站掃描器各有授權:testssl.sh 為 GPL-2.0,以獨立程式執行,映像內附授權全文。

站長優惠
出國工作,網路也要跟著走
eSIM 226 是涵蓋全球 190+ 目的地的旅遊 eSIM:出發前線上把方案買好,落地掃 QR Code 就有網路,免換實體卡、免付天價漫遊費,原門號留在手機裡照樣收銀行簡訊。日本 3GB/15 天約 3.4 美元起,短程旅行不用買整個月。 優惠碼 TRAVEL30,全站 7 折(現省 30%),不得與其他優惠碼合併。
- 190+ 目的地,日韓歐美一次涵蓋
- 掃碼即開通,不必等實體卡寄送
- 走當地資費,回國不會收到漫遊帳單
本站聯盟推廣連結。透過連結購買,站長可獲得少量佣金,你的價格不會變貴。

