MIT 開源 · v0.1.0

ai-security-monitor

防禦型資安 agent asa+Security Hub。抓出對外與對內的異常連線,用公開威脅情資判定安全、未知、可疑或危險,每一筆都附來源;再檢查防火牆、漏洞與系統設定,交給 Claude Code 或 Codex 用白話告訴你該怎麼處理。

安裝 asaGitHub 原始碼
★ 完全免費 · MIT▢ Windows / macOS / Linux · Hub 用 Docker 自架
Security Hub · 總覽
總覽:車隊平均安全分數拆成連線、曝露、漏洞、硬化四項,旁邊是待處理問題、危險與可疑連線、情資來源命中。

它幫你回答什麼

AI 讓找漏洞變得很容易,攻擊者也在用。防守的這一方,先把這幾個問題答清楚。

🌐

這台電腦連到哪裡

每條連線分成對外、對內、監聽、本機,附上行程、國家與組織。不用懂 netstat,一張表看完。

🚨

哪些連線有問題

比對 Spamhaus、abuse.ch、blocklist.de 等公開黑名單,加上暫存目錄執行、腳本對外連線、週期性回報等異常行為,判定安全、未知、可疑或危險。

🧱

門有沒有關好

讀防火牆規則,算出每個監聽中的 port 實際能不能從網路連進來,不是只看有沒有開。

🩹

該更新的有沒有更新

作業系統支援期限、多久沒更新、有已知漏洞的軟體版本;命中 CISA KEV(已被拿來攻擊的漏洞)直接升為嚴重。

💥

剛剛為什麼當機

整理 Windows 事件記錄、藍屏代碼、Linux journal 與 macOS 當機報告,列出可能原因與處置,也抓暴力破解與新帳號。

🏢

全公司的電腦都還好嗎

每台主機註冊到自架的 Security Hub,總覽、分數趨勢、待處理問題與遠端封鎖審核都在同一個地方。

由三個部分組成

agent 可以單獨用;需要集中管理時再架 Hub。兩邊都能交給 AI 解讀。

🦀

asa(agent)

agent/ · Rust 單一執行檔

  • 裝在要保護的電腦或伺服器上,Windows、macOS、Linux 都有
  • 掃描連線、情資、防火牆、port、漏洞、硬化、事件與流量
  • 可以單獨用 CLI,也能註冊到 Hub 定期回報
  • 開機自動啟動(系統服務或使用者登入時),asa self-update 比對 SHA256SUMS 更新
🛡️

Security Hub

hub/ · Next.js+PostgreSQL

  • 總覽、主機、連線、發現、漏洞、硬化、流量、事件、情資分頁
  • 遠端封鎖要經過審核,動作有 HMAC 簽章並釘選主機身分
  • 註冊金鑰、唯讀 API token、稽核紀錄、CSV 匯出
  • 單機版只綁本機,伺服器版給整個車隊;中英文、深色模式、手機版面
🤖

AI 與 MCP

asa ai · asa mcp · Hub /ai

  • asa ai ask/analyze 交給 Claude Code 或 Codex CLI,只開唯讀工具
  • asa mcp 讓 Claude Code、Codex、Cursor、VS Code 直接查這台電腦
  • Hub 也是 MCP server,可以問整個車隊的狀況
  • Hub 網頁上的 AI 助手用白話解釋目前風險

值得一提的設計

資安工具最怕的是亂報警跟亂改設定,這幾個地方特別小心。

🔎

每個判定都附來源

命中哪個情資來源、廠商、信心分數、授權與原始網址都列出來,不是黑箱分數。

👀

預設只預覽

封鎖 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),跑 scripts/demo-seed.mjs 就能重現。

總覽:車隊平均安全分數拆成連線、曝露、漏洞、硬化四項,旁邊是待處理問題、危險與可疑連線、情資來源命中。
總覽:車隊平均安全分數拆成連線、曝露、漏洞、硬化四項,旁邊是待處理問題、危險與可疑連線、情資來源命中。
連線:方向、判定、行程、國家與組織,右邊是理由與命中的情資來源。
連線:方向、判定、行程、國家與組織,右邊是理由與命中的情資來源。
單台主機:五項分數、趨勢,以及看過的危險目的地。
單台主機:五項分數、趨勢,以及看過的危險目的地。
漏洞與更新:作業系統支援期限、KEV 命中、有已知漏洞的軟體。
漏洞與更新:作業系統支援期限、KEV 命中、有已知漏洞的軟體。
系統硬化:最常沒通過的檢查與各主機分數。
系統硬化:最常沒通過的檢查與各主機分數。
事件與當機:藍屏代碼與可能原因、暴力破解來源。
事件與當機:藍屏代碼與可能原因、暴力破解來源。
威脅情資:每個來源的授權、信心與命中次數。
威脅情資:每個來源的授權、信心與命中次數。
深色模式:每條檢查的目前值、期望值與修正方式。
深色模式:每條檢查的目前值、期望值與修正方式。
新增主機:建立註冊金鑰,產生各平台的一行安裝指令。
新增主機:建立註冊金鑰,產生各平台的一行安裝指令。

開始之前要知道的五件事

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

  1. 1

    它是防禦工具,不是掃別人的工具

    asa 只看自己這台電腦的連線、設定與記錄,不會去掃描或攻擊其他主機。

  2. 2

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

    讀防火牆規則、事件記錄、安裝系統服務時需要管理員或 root;沒有權限時會跳過並在 asa doctor 裡說明。

  3. 3

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

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

  4. 4

    Hub 需要 Docker 與 PostgreSQL

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

  5. 5

    AI 分析要自備 Claude Code 或 Codex

    asa 呼叫你電腦上已登入的 CLI;Hub 的 Docker 映像 latest 版已內含兩種 CLI,slim 版不含。不用 AI,其他功能照樣能用。

安裝 asa

一行指令下載最新版並比對 Release 的 SHA256SUMS,不符就停止。

Linux / macOS

Windows(PowerShell)

也可以到 GitHub Release 直接下載各平台的執行檔。裝好之後先跑 asa doctor 檢查權限、情資新鮮度與 Hub 連線;要開機自動回報就跑 asa service install --yes(伺服器加 --system)。

架設 Security Hub

  1. 1

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

  2. 2

    複製 .env.example 成 .env,填 ASA_HUB_ADMIN_SECRET 與 ASA_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

    用管理員金鑰登入,到「新增主機」建立註冊金鑰,複製各平台的一行安裝指令到要保護的電腦執行。

單機版一次起好(記得先填好 .env):

常用命令

會改變系統的命令沒加 --yes 都只會預覽。加 --lang en 切英文,--json 給程式讀。

  • asa doctor

    環境檢查:權限、情資新鮮度、外部工具、Hub 連線。

  • asa intel update

    下載威脅情資;之後 asa watch 會自動更新。

  • asa connections --intel

    目前所有連線與判定。

  • asa scan

    完整掃描:連線、情資、防火牆、port、事件、漏洞、硬化。

  • asa fw sync-blocklist --dry-run

    預覽會封鎖哪些高信心情資 IP。

  • asa ai ask "這台電腦有沒有連到危險的地方?"

    交給 Claude Code 或 Codex 用白話解讀。

  • asa 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 需標註),每一筆命中都附來源網址。

先知道自己連到哪裡,才談得上防禦

免費、MIT 開源、跨平台。覺得有用的話,給 repo 一顆星,或在 GitHub 上開 issue 告訴我缺什麼。

贊助開源

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

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

請我喝杯咖啡

自訂金額·PayPal 安全結帳