AI 紅隊的 OSINT
自公開來源蒐集關於 AI 部署的情資:文件、徵才啟事、研究論文、社群媒體與技術產物。
AI 紅隊的 OSINT
AI 紅隊的 OSINT 利用公開可得資訊,於任何直接互動之前建立目標 AI 部署之詳細樣貌。組織常經由文件、部落格、研討會演講、徵才啟事與開源貢獻,揭露其 AI 系統之重要細節。這些資訊經系統化蒐集與分析後,可提供紅隊顯著優勢。
情資來源
官方文件
目標自身之文件是首要且最可靠之 OSINT 來源:
| 來源 | 揭露什麼 |
|---|---|
| API 文件 | 端點、參數、模型名稱、速率限制 |
| 開發者指南 | 架構、整合模式、系統設計 |
| Model card | 訓練資料、能力、已知限制 |
| 變更/發行說明 | 版本歷史、近期變動、bug 修復 |
| 服務條款 | 使用限制、資料處理、責任 |
| 隱私政策 | 資料蒐集、保留、處理細節 |
| 狀態頁 | 基礎設施細節、可用度歷史 |
徵才啟事
職缺揭露技術堆疊、團隊結構與當前方案:
徵才啟事範例分析:
「Senior ML Engineer - Safety Team」
- 「Experience with RLHF and constitutional AI methods」
→ 使用 RLHF 做安全對齊
- 「Familiarity with vLLM or TGI deployment frameworks」
→ 自架模型,非僅 API 型
- 「Experience with Redis and PostgreSQL」
→ 基礎設施細節
- 「Knowledge of RAG architectures and vector databases」
→ 使用 RAG 系統做知識檢索
- 「Experience with Weights & Biases or MLflow」
→ 訓練基礎設施細節
研究論文與部落格文章
目標組織之技術部落格與研究論文:
| 內容類型 | 情資價值 |
|---|---|
| 技術部落格 | 架構決策、技術選擇、系統設計 |
| 研究論文 | 模型細節、訓練方法論、評估結果 |
| 研討會演講 | 系統展示、架構圖、roadmap 暗示 |
| 開源儲存庫 | 程式模式、依賴、組態格式 |
| 事件事後報告 | 先前漏洞、回應能力 |
社群媒體與論壇
工程師於公開平台討論其工作:
- Twitter/X:AI 團隊成員常分享其工作洞察
- LinkedIn:團隊組成、個人專長、近期專案
- Reddit:AI subreddit 中之技術討論
- Hacker News:發布公告、技術討論
- Discord/Slack 社群:部分 AI 團隊維護公開社群
- GitHub:個人儲存庫可能含相關實驗或工具
技術產物
揭露部署細節之公開技術產物:
class TechnicalArtifactCollector:
"""蒐集關於 AI 部署之公開技術產物。"""
def check_common_artifacts(self, domain):
"""檢查公開可存取之技術產物。"""
artifacts = {}
# robots.txt 可能揭露 AI 相關路徑
artifacts["robots_txt"] = self.fetch(f"https://{domain}/robots.txt")
# OpenAPI/Swagger 文件
swagger_paths = [
"/swagger.json", "/openapi.json",
"/api/docs", "/docs/api",
"/v1/openapi.json"
]
for path in swagger_paths:
result = self.fetch(f"https://{domain}{path}")
if result:
artifacts["api_spec"] = result
# 狀態與健康檢查端點
health_paths = ["/health", "/status", "/api/health"]
for path in health_paths:
result = self.fetch(f"https://{domain}{path}")
if result:
artifacts["health"] = result
# JavaScript bundle 可能含 API 端點
# (需手動分析頁面原始碼)
return artifactsOSINT 方法論
階段 1:被動蒐集
不直接與目標互動即蒐集資訊:
記錄官方來源
閱讀所有官方文件、API 參考、部落格文章與新聞稿。萃取模型名稱、技術堆疊與架構細節。
搜尋團隊成員
經由 LinkedIn、GitHub,與研討會講者清單辨識 AI 團隊成員。記錄其專長與近期關於該系統之公開言論。
分析開源貢獻
於 GitHub 搜尋由組織或團隊成員維護之儲存庫。尋找系統提示、組態檔、訓練腳本與依賴清單。
檢視徵才啟事
當前與歷史徵才啟事揭露技術決策、團隊成長方向,以及潛在安全缺口(例如未發布 AI 安全角色)。
搜尋事件歷史
搜尋關於目標過往 AI 事件之新聞文章、社群貼文,與論壇討論。
階段 2:主動蒐集
與公開可得系統互動以蒐集額外情資:
與公開 AI 產品互動
以正常使用者身分使用 AI 系統。記錄模型行為、格式風格、能力邊界與拒絕模式。
分析網路請求
使用瀏覽器開發者工具觀察 AI 產品所發出之 API 呼叫。記錄端點 URL、請求格式與回應結構。
測試公開文件化之 API
若 API 公開可用,發出測試呼叫以驗證文件準確度並發掘未文件化之行為。
階段 3:分析與綜合
將所蒐集資訊整合為可付諸行動之目標側寫:
class OSINTReport:
"""將 OSINT 發現結構化為可付諸行動之報告。"""
def __init__(self, target_name):
self.target = target_name
self.findings = {
"infrastructure": {},
"models": {},
"team": {},
"security_posture": {},
"attack_surface": {}
}
def synthesize(self):
"""產生排序後之攻擊建議。"""
recommendations = []
# 若已知模型家族,建議針對性攻擊
if self.findings["models"].get("family"):
recommendations.append({
"priority": "high",
"finding": f"Model identified as {self.findings['models']['family']}",
"recommendation": "Use model-specific attack techniques"
})
# 若於公開儲存庫中發現系統提示或組態
if self.findings.get("exposed_configs"):
recommendations.append({
"priority": "critical",
"finding": "System configuration found in public repository",
"recommendation": "Craft injection payloads using exact system prompt"
})
# 若徵才啟事中無 AI 安全角色
if not self.findings["team"].get("has_security_team"):
recommendations.append({
"priority": "medium",
"finding": "No evidence of dedicated AI security team",
"recommendation": "Expect weaker defenses; start with basic techniques"
})
return sorted(recommendations,
key=lambda x: {"critical": 0, "high": 1,
"medium": 2, "low": 3}[x["priority"]])常見 OSINT 發現
依多次紅隊委任經驗,經 OSINT 最常發現者:
| 發現 | 頻率 | 影響 |
|---|---|---|
| 公開儲存庫中之系統提示 | 常見 | 關鍵——啟動針對性注入 |
| 程式/文件中之 API 金鑰 | 偶見 | 關鍵——直接 API 存取 |
| 模型家族辨識 | 非常常見 | 高——啟動攻擊選擇 |
| 技術堆疊細節 | 非常常見 | 中——告知攻擊向量 |
| 團隊結構與專長 | 常見 | 中——揭示安全成熟度 |
| 先前事件細節 | 偶見 | 中——揭示過往漏洞 |
| 訓練資料來源 | 罕見 | 高——啟動資料投毒評估 |
相關主題
- 目標側寫 — 將 OSINT 與直接側寫結合
- 模型辨識 — 技術性模型指紋
- 針對 AI 的社交工程 — 以 OSINT 告知社交工程
- 攻擊面繪製 — 全面攻擊面分析
檢視目標公司 GitHub 儲存庫時,你於公開儲存庫中發現一個名為 'system_prompt.txt' 的檔案。該檔案包含其生產聊天機器人所用之完整系統提示,包括安全指令與工具權限。此發現對紅隊的即時價值為何?
參考資料
- SANS Institute,〈OSINT Fundamentals〉(2023)
- IntelTechniques,〈Open Source Intelligence Techniques〉(2023)
- PTES,〈Penetration Testing Execution Standard - Intelligence Gathering〉(2023)