MIT 開源 · v0.3.0

ai-security-monitor

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

下載與安裝GitHub 原始碼
★ 完全免費 · MIT▢ Windows / Windows Server / macOS / Linux · Hub 用 Docker 自架
Windows 桌面版
Windows 上的桌面版 AI Security Monitor:系統匣常駐,點開就看得到這台電腦的分數與可疑連線。
聯盟推薦

涵蓋全球 190+ 目的地的旅遊 eSIM

優惠碼 TRAVEL30,全站 7 折(現省 30%),不得與其他優惠碼合併。

看 eSIM 226 方案

本站聯盟推廣連結。透過連結購買,站長可獲得少量佣金,你的價格不會變貴。

你是不是也卡在這些地方?

網站上線、主機變多之後,最難的是持續看見風險,並確認每個問題真的有被處理。

🔍

網站能用,但不知道有沒有漏洞

用 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. 1

    先登錄你有權檢查的網站

    新增網址後,可先做少量請求的被動檢查。公網網站要做主動掃描,先透過 DNS TXT、驗證檔或 HTML meta 標籤證明擁有權;驗證有效 90 天。

  2. 2

    讓工具各查擅長的問題

    httpx 檢查網站指紋與建議安全標頭,tlsx 檢查憑證;驗證後可用 nuclei 找已知漏洞與設定問題,testssl.sh 檢查 TLS 協定與加密套件。

  3. 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. 1🦀

    主機上的 agent

    掃描連線、防火牆、port、漏洞、硬化、事件與流量,比對本機快取的威脅情資,判定安全到危險。

  2. 2📤

    定時回報

    每分鐘送連線快照、每 10 分鐘送完整報告到 Hub(HTTPS+主機身分 token),斷線時先存在本機待重送。

  3. 3🛡️

    Security Hub

    Next.js+PostgreSQL 彙整所有主機:分數、可疑 IP 排名、待處理問題、遠端封鎖審核與稽核紀錄。

  4. 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 能看、不能動你的系統。

內建的威脅情資來源(節錄)

Spamhaus DROPabuse.ch FeodoURLhausThreatFoxblocklist.deCINSEmerging ThreatsDShieldTor 出口節點IPsumFireHOLCISA KEVOSV

共 26 個來源。AbuseIPDB、GreyNoise、CrowdSec 可以自備 key 線上查詢;也能完全關掉對外查詢。

長什麼樣子

截圖用的是 repo 內建的示範資料(虛構主機、文件保留網段 IP):前面是 Security Hub,最後四張是 Windows 桌面版。

總覽:所有主機的平均安全分數拆成連線、曝露、漏洞、硬化四項,旁邊是待處理問題、危險與可疑連線、情資來源命中。
總覽:所有主機的平均安全分數拆成連線、曝露、漏洞、硬化四項,旁邊是待處理問題、危險與可疑連線、情資來源命中。
連線:上方是可疑 IP 排名(累計次數、目前條數、備註),下面是每條連線的方向、判定、行程與命中的情資來源。
連線:上方是可疑 IP 排名(累計次數、目前條數、備註),下面是每條連線的方向、判定、行程與命中的情資來源。
單台主機:五項分數、趨勢,以及看過的危險目的地。
單台主機:五項分數、趨勢,以及看過的危險目的地。
Windows Server:網域控制站 dc-01(Server Core)的分數、主機資訊,以及從外面連進來的可疑遠端桌面。
Windows Server:網域控制站 dc-01(Server Core)的分數、主機資訊,以及從外面連進來的可疑遠端桌面。
待處理問題:暴力破解、對外開放的遠端桌面、帳號鎖定等,依嚴重度排好,可以批次處理。
待處理問題:暴力破解、對外開放的遠端桌面、帳號鎖定等,依嚴重度排好,可以批次處理。
漏洞與更新:作業系統支援期限、KEV 命中、有已知漏洞的軟體。
漏洞與更新:作業系統支援期限、KEV 命中、有已知漏洞的軟體。
系統硬化:最常沒通過的檢查與各主機分數。
系統硬化:最常沒通過的檢查與各主機分數。
事件與當機:藍屏代碼與可能原因、暴力破解來源。
事件與當機:藍屏代碼與可能原因、暴力破解來源。
威脅情資:每個來源的授權、信心與命中次數。
威脅情資:每個來源的授權、信心與命中次數。
深色模式:每條檢查的目前值、期望值與修正方式。
深色模式:每條檢查的目前值、期望值與修正方式。
新增主機:建立註冊金鑰,產生各平台的一行安裝指令。
新增主機:建立註冊金鑰,產生各平台的一行安裝指令。
Windows 桌面版總覽:分數、問題數、情資新舊與可疑連線。
Windows 桌面版總覽:分數、問題數、情資新舊與可疑連線。
Windows 桌面版連線:依判定與方向篩選,點 IP 看國家、組織與命中的情資。
Windows 桌面版連線:依判定與方向篩選,點 IP 看國家、組織與命中的情資。
Windows 桌面版 AI 分析:用本機已登入的 Claude Code 或 Codex 白話解讀。
Windows 桌面版 AI 分析:用本機已登入的 Claude Code 或 Codex 白話解讀。
Windows 桌面版設定:Hub 網址、尋找公司的 Hub、開機自動啟動。
Windows 桌面版設定:Hub 網址、尋找公司的 Hub、開機自動啟動。

開始之前,先確認掃描範圍

先把限制講清楚,比事後解釋誠實。

  1. 1

    主機監控與網站掃描,範圍不同

    agent 檢查所在主機;選用的網站掃描端會連線檢查你擁有或取得書面授權的網站。公網主動掃描需先驗證擁有權,內網則需管理員設定白名單;不做注入、DoS 或模糊測試。

  2. 2

    部分檢查需要系統管理員權限

    讀防火牆規則、事件記錄、安裝系統服務時需要管理員或 root;沒有權限時會跳過並在 ai-security-monitor doctor 裡說明。Windows Server 上不適用的檢查(例如沒裝 Defender、Server Core 沒有 SmartScreen)會標成「不適用」,不算失敗。

  3. 3

    情資判定是參考,不是定罪

    公開黑名單會有誤判(例如 CDN 網域),所以每筆都附來源讓你自己判斷;網域層級的命中預設降為可疑。

  4. 4

    Hub 需要 Docker 與 PostgreSQL

    compose 檔已經內附 PostgreSQL;只想看一台電腦的話,用單機版就好,只綁 127.0.0.1。

  5. 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 第一次請按右鍵 → 打開。

🗄️伺服器(含 Windows Server、Server Core)、沒有桌面

命令列版

用下面的一行安裝指令

自動下載、核對 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-*

只給舊版 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. 1

    準備 Docker。Hub 映像 ghcr.io/markku636/ai-security-monitor-hub 支援 amd64 與 arm64,可以直接拉。

  2. 2

    複製 .env.example 成 .env,填 AI_SECURITY_MONITOR_HUB_ADMIN_SECRET 與 AI_SECURITY_MONITOR_HUB_DB_PASSWORD(可以用 openssl rand -hex 32 產生)。

  3. 3

    單機版用 docker/compose.standalone.yml,打開 http://127.0.0.1:8088;伺服器版用 docker/compose.yml,建議放在 TLS 反向代理後面。

  4. 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 一次帶齊。

AgentRust 1.85+
HubNext.js+Tailwind
資料庫PostgreSQL 18
部署Docker(amd64 / arm64)
AIClaude Code / Codex CLI
整合MCP server ×2
開機啟動Windows 服務 / systemd / launchd
CIGitHub Actions 三平台

授權與資料來源

本專案以 MIT 授權釋出,商用、修改、再散布都可以。威脅情資、漏洞與地理資料來自各自的提供者並遵守其授權(例如 DShield 非商用、DB-IP 需標註),每一筆命中都附來源網址。 選用網站掃描器各有授權:testssl.sh 為 GPL-2.0,以獨立程式執行,映像內附授權全文。

先找出問題,再確認修好了沒有

從一台主機,或一個你有權管理的網站開始。把檢查結果集中起來,修補後再掃一次,讓防護有跡可循。

贊助開源

這些工具都是免費且開源的

沒有付費牆、不用註冊帳號,程式碼全部公開在 GitHub。如果它幫你省下了時間,可以請我喝杯咖啡,讓後續的更新跟新工具繼續做下去。

請我喝杯咖啡

自訂金額·PayPal 安全結帳

eSIM 226

站長優惠

出國工作,網路也要跟著走

eSIM 226 是涵蓋全球 190+ 目的地的旅遊 eSIM:出發前線上把方案買好,落地掃 QR Code 就有網路,免換實體卡、免付天價漫遊費,原門號留在手機裡照樣收銀行簡訊。日本 3GB/15 天約 3.4 美元起,短程旅行不用買整個月。 優惠碼 TRAVEL30,全站 7 折(現省 30%),不得與其他優惠碼合併。

  • 190+ 目的地,日韓歐美一次涵蓋
  • 掃碼即開通,不必等實體卡寄送
  • 走當地資費,回國不會收到漫遊帳單

本站聯盟推廣連結。透過連結購買,站長可獲得少量佣金,你的價格不會變貴。

看方案