OpenOSINT 把 20 個 OSINT 工具塞進一個對話介面,但真正的設計重點在工具呼叫的硬停止
AI-powered OSINT agent with interactive REPL, MCP server, and CLI. 19 tools. Works with Claude, GPT-4, or local models. For authorized security research only.
秒懂
- 它是什麼?
- OpenOSINT 是 Python 寫的 OSINT 代理,同時提供 REPL、CLI、MCP server 與網頁介面。它的核心主張不是模型多聰明,而是 AI 只能發出工具呼叫、由你的程式碼去執行真正的二進位檔。
- 適合誰用?
- 如果你已經在做授權範圍內的偵察,而且想要一個能接 Claude、GPT-4 或本地模型的 MCP server 外殼,OpenOSINT 值得先在本機跑一次 openosint 的 REPL 確認工具清單與模型設定;若你只需要單一工具,直接呼叫 holehe 或 maigret 更省事。要採用前請先確認三件事:你對目標的授權範圍、MIT 授權與 COMMERCIAL.md 商用條款的分界,以及贊助商整合是否會影響你對結果來源的判讀。
- 可以商用嗎?
- 可以。MIT 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
- 還在維護嗎?
- 有在維護。儲存庫在最近一天內有新的提交。
- 用什麼語言寫的?
- 主要是 Python(依據 GitHub 的語言統計)。
以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。
開源專案深度解析
它想解決的不是情報不足,而是工具切換與模型幻覺
做偵察的人手上通常已經有一堆工具:查使用者名稱的、查郵箱的、查 IP 的。麻煩的地方在於每個工具參數不同、輸出格式不同,切來切去很花時間。OpenOSINT 的做法是把這些工具包成代理可以呼叫的函式,讓使用者用自然語言下指令,由代理決定呼叫哪個工具。README 用一句話說明它的定位:把 20 個調查工具放在自然語言介面後面。
第二個問題更關鍵。大型語言模型在沒有外部資料時會編造結果,這在資安場景是致命的,因為一份看起來合理的報告可能整段都是錯的。OpenOSINT 對此的處理方式寫在標語裡:AI 發出的是硬停止的工具呼叫,真正執行二進位檔的是你的程式碼,所以幻覺出來的發現結構上不可能存在。這個說法能不能完全成立,取決於工具回傳的內容有沒有被忠實呈現,但至少它把「模型不得自行生成事實」寫成了架構約束。
目標讀者是安全研究員與分析師,README 也明講僅限授權的安全研究。這不是給一般使用者查人的玩具。
四個入口共用同一批工具:REPL、CLI、MCP server、Web UI
同一個專案提供了四種使用方式。預設執行 openosint 會進入互動式 AI REPL;openosint web 開網頁介面;openosint email target@example.com 這種寫法則是跳過 AI 直接呼叫單一工具。第四種是 MCP server,走 Model Context Protocol,可以掛到支援該協定的客戶端上。
這四種入口的差異不只是介面。直接呼叫工具時,模型完全不參與,輸出就是工具原始輸出;走 REPL 或 MCP 時,模型負責決定呼叫什麼、怎麼解讀。對需要可重現結果的工作來說,這個區別很重要:同一條指令,直接呼叫是可預期的,經過模型則取決於模型當下的判斷。
從 repository 的 topics 可以看出工具涵蓋的範圍,裡面列了 maigret、sherlock、holehe 這幾個常見的帳號與郵箱列舉工具,以及 threat-intelligence、reconnaissance 這類標籤。README 的示範動畫顯示的是一次 DNS 查詢,並在標題寫著兩秒內回傳記錄。這個數字來自專案自己的示範素材,不是獨立測量,實際速度會受網路與目標回應影響。
網頁介面還附了一個 3D 地球檢視,調查結果會落在地球上的點,點擊可以展開後續調查。README 特別註明 demo 用的是合成資料,實體是在 statement 層植入的,不是由目前的 mapper 產生。這種揭露方式值得肯定,因為展示畫面很容易讓人誤以為是實際能力。
實體圖與 same_as 邊緣:把不確定性交回給人判斷
README 的第二段示範揭示了專案另一個層次:實體解析。示範畫面裡有兩個 Organization 節點,分別由 openosint:github 與 openosint:whois 兩個資料集獨立觀測到,中間用一條虛線連起來,標為 same_as 候選邊,分數 0.83。點開節點會看到每一條陳述各自標註資料集、抽取器、run id 與信心值。點開虛線則會出現人工複核卡片,把兩個實體逐欄比對,相符的欄位標綠、不同的標琥珀色,並附上產生該分數的名稱比對特徵說明。複核者按下 Accept 之後,圖會就地更新,候選邊變成實線的 same_as。
這個流程的設計取向很清楚:系統不自動判定兩個身分是同一個人,而是把判斷依據攤開,等人來決定。0.83 這個分數不是機率宣告,而是排序用的訊號。對調查工作來說這是對的,因為錯誤合併兩個實體會污染整條線索,而且很難回溯。
需要留意的是,README 自己說明這個示範是確定性的合成資料,而且實體是在 statement 層植入的,不是由目前的 mapper 產生。也就是說,這段展示證明的是複核介面與資料模型,不是實體解析的準確度。要評估後者,得自己拿真實資料跑一遍。
安裝與啟動:從 pip 到 MCP 註冊表
安裝指令只有一行:pip install openosint。之後三個基本入口分別是 openosint(互動式 REPL)、openosint web(網頁介面)、openosint email target@example.com(直接呼叫工具、不經 AI)。
MCP 的部分,專案已經發布到官方註冊表,識別碼是 io.github.OpenOSINT/openosint,README 開頭的 mcp-name 欄位寫的也是同一組。要掛進支援 MCP 的客戶端,就是用這組名稱去接。
模型方面,README 說明可以搭配 Claude、GPT-4 或本地模型。這代表需要自備對應的 API 金鑰或本地推論環境。不過 README 的這一段沒有列出實際的環境變數名稱或設定檔路徑,repo 描述也只提到 19 個工具,而 README 內文寫的是 20 個,兩者不一致。要確認工具數量與模型設定鍵,得直接看 repo 內的設定範例或執行 openosint --help,本文無法從現有素材斷定。
授權是 MIT。但專案另外有一份 COMMERCIAL.md,提供從每年 300 歐元起的商用授權,內容包含供應商合約、SLA 與賠償條款。README 也列出付費項目:55 美元的 Complete Kit(prompt 與 playbook 打包)、350 美元的 Setup Sprint(到府安裝服務)。這些是商業選項,不影響 MIT 授權下的使用權利,但如果你需要 SLA 或賠償保障,就是走 COMMERCIAL.md 那條路。
贊助商整合與工具來源,是判讀結果時要先分清楚的兩件事
README 的贊助區塊列了三個整合:IP2Location.io 提供 search_ip2location 這個工具,涵蓋 IP 地理定位、ISP、VPN/Proxy/Tor 與資料中心偵測;RapidProxy 提供住宅代理;TestMu AI 是 AI 測試雲平台。前兩者與工具輸出直接相關,第三者的關聯在 README 裡看不出來。
這不是說結果不可信,而是使用時要知道某個欄位是本地工具算出來的,還是第三方服務回傳的。README 在贊助區塊下方用斜體寫著「Open: Breach / Compromised-Credential Data · Email / Identity Lookup」,指向 SPONSORSHIP.md,意思是這兩個領域的贊助位置仍開放。對照工具清單裡有 holehe 這類郵箱查詢工具,可以預期未來這塊可能出現商業資料源。
另一個現實是,這類專案的工具多半是包裝既有的開源專案。maigret、sherlock、holehe 各自有自己的維護節奏與授權。OpenOSINT 的價值在整合層與代理層,不在這些工具的實作。當底層工具改版或停止維護時,整合層要跟著動,這個維護成本落在 OpenOSINT 身上,不在上游。
什麼時候不該用它:單一任務、嚴格可重現性、以及授權邊界
第一種不該用的情況是你只需要一個工具。如果工作就是查一個使用者名稱在哪些平台存在,直接跑 maigret 或 sherlock 就好。多一層模型只會增加變數與成本,還可能因為模型改寫輸出而丟失原始細節。
第二種是需要嚴格可重現性的場合。走 REPL 或 MCP 時,模型決定呼叫順序與參數,同樣的提示在不同時間、不同模型版本下可能得到不同的調查路徑。這對取證或需要逐字記錄的工作不適合。這種情況下應該用 openosint email target@example.com 這種直接呼叫形式,或根本不經過這個專案。
第三種是授權邊界不清楚的時候。README 明講僅限授權的安全研究,工具本身做的是帳號列舉與郵箱查詢,這些行為在許多司法管轄區有法律風險。專案提供的是技術能力,不提供法律依據。
還有一個版本節奏的訊號:近期發布是 v2.27.0(2026-08-26)、v2.26.0(2026-08-25)、v2.25.1(2026-08-24)。三天內三個版本,代表介面或工具集還在快速變動。這種節奏下,依賴特定 CLI 參數或輸出格式的自動化腳本會需要跟著改。
替代方案的差別在於誰決定調查路徑
最直接的替代是直接組合底層工具。以使用者名稱調查為例,maigret 本身就是完整的命令列工具,有自己的輸出格式與站點清單。差別在於:maigret 由你決定查什麼、怎麼解讀;OpenOSINT 由模型決定呼叫哪個工具、再由你複核。前者可預期,後者省下選擇工具的心力,代價是引入模型這個不確定來源。
另一個方向是自行搭建 MCP server。MCP 是公開協定,你可以把自己常用的工具包成 server,掛到同一個客戶端上。這樣做的好處是工具集完全自控,不必接受贊助商整合或第三方資料源;壞處是要自己處理工具描述、參數 schema、錯誤回傳這些細節,而 OpenOSINT 已經把這層做完了。
如果你已經在用 Claude 或其他支援 MCP 的客戶端,OpenOSINT 的價值主要在於它已經註冊在官方 registry 上,接入成本低。若你用的是不支援 MCP 的環境,就得走 CLI 或 REPL,整合層的優勢就小很多。
這三條路的選擇標準不是哪個功能多,而是你願意把多少判斷權交給模型。
採用前該驗證的具體項目
第一個要驗的是工具數量。repo 描述寫 19 個工具,README 內文寫 20 個。差距不大,但這代表文件與程式碼之間有落差,值得在安裝後用 openosint --help 或 REPL 內的指令列表核對一次。
第二個要驗的是模型設定方式。README 說支援 Claude、GPT-4 與本地模型,但沒有在提供的段落裡給出環境變數名稱或設定檔路徑。這是實際採用時第一個會卡住的地方,需要查 repo 內的設定範例。
第三個要驗的是網頁介面的資料落點。3D 地球與實體圖會把調查結果視覺化,這些資料存在哪裡、是否上傳到外部服務,README 的示範段落沒有交代。如果調查內容有敏感性,這一點必須先確認。
第四個是商用條款。MIT 授權允許自由使用,但 COMMERCIAL.md 提供的 SLA 與賠償是另一份合約。團隊採用時要分清楚哪一種保障是自己需要的。
最後,實體解析的準確度無法從合成資料的示範推得。README 自己說明 demo 的實體是在 statement 層植入的,不是由目前的 mapper 產生。要評估 same_as 候選邊的實用性,只能拿自己的資料跑。
編輯結論
如果你已經在做授權範圍內的偵察,而且想要一個能接 Claude、GPT-4 或本地模型的 MCP server 外殼,OpenOSINT 值得先在本機跑一次 openosint 的 REPL 確認工具清單與模型設定;若你只需要單一工具,直接呼叫 holehe 或 maigret 更省事。要採用前請先確認三件事:你對目標的授權範圍、MIT 授權與 COMMERCIAL.md 商用條款的分界,以及贊助商整合是否會影響你對結果來源的判讀。這些確認完之後,再決定要不要把 MCP server 掛進日常流程。
社群筆記