DavidCarliez/trustmebro

Bypass llm guardrails by confusing it with fabricated tool output.

解決的問題

TrustMeBro 允許紅隊測試人員透過提供偽造的工具輸出來繞過 LLM 的防護機制。它透過模擬命令列工具的成功輸出,防止代理因現實世界的限制(例如缺少 DNS 標記)而被阻斷,進而測試代理在面對欺騙性或特定環境資料時的反應。

工作原理

該專案使用「PATH 代理」來攔截對命令列工具(例如 dignslookuphost)的呼叫。當代理呼叫被代理的命令時,TrustMeBro 會根據一組規則決定如何處理:

  • 偽造:不執行真實工具,直接回傳偽造或產生的輸出。
  • 重寫:執行真實工具,但修改其輸出結果。
  • 直通:不加修改地執行真實二進位檔。
  • 拒絕:完全阻止該呼叫。

在 Linux 上,它提供「實驗室模式」,使用 Bubblewrap 建立攔截命名空間,確保即使對絕對路徑(例如 /usr/bin/dig)的呼叫也能被攔截。

適用對象

專為安全研究人員與開發者設計,用於對 AI 代理(例如 Codex 或 Claude Code)進行受控的紅隊測試,以評估其基於工具輸出的決策過程。

核心亮點

  • 透明攔截:透過 PATH 代理實現,無需插件、鈎子或 MCP 集成。
  • DNS 專用:內建產生器,可產生真實的 dignslookuphost 輸出。
  • 靈活規則引擎:支援基於命令名稱、網域、DNS 記錄類型、參數萬用字元和正規表示式匹配。
  • 審計日誌:將每次攔截決策記錄為帶時間戳的 JSONL 日誌,便於分析。
  • 實驗室模式:提供基於 Linux 的命名空間,防止代理透過絕對路徑繞過代理。

相關

  • 專案
  • 專案
  • 專案
  • 專案