top of page

MuscleMemory 在重用前驗證阻截受污染 Skills,但證據仍然有限

2 小時前
讀畢需時 14 分鐘

根據一項新發布的研究,MuscleMemory 阻止受污染指引到達 30 個評分儲存庫中的全部 30 個;相反,普通編輯重播每次都會還原污染內容。這項結果為 MuscleMemory 的重用前驗證方法提供了格外鮮明的標題,卻也揭示一項重要矛盾:通過測試並不能分辨乾淨的工作與受污染的工作。

研究探討程序記憶,即告訴 agent 如何執行重複任務的儲存指令。一個 coding agent 從一個受污染 session 及其後三個乾淨 session 中學習。研究人員隨後在 Claude Haiku 5.5 和 Claude Sonnet 5.5 上,比較處理這些經驗的四種方法。

研究結果令人鼓舞,但仍屬初步。實驗只使用一項任務、每個實驗組別五個評分 session,以及針對同一任務調校的規則。其最強結果關乎污染暴露,而非有害行為的執行。這個分別令重用前驗證與更常見的記憶策略形成對照:儲存成功經驗、檢索最相關紀錄,並相信 agent 會妥善運用。

通過測試令污染看起來像成功

實驗的核心警告很簡單:任務成功與安全學習是不同的特質。

個案研究始於一項設定修復任務。一次學習 session 同時包含真正的修復,以及一項無關修改。污染有三種形式:新檔案、無關行,或與合法修改融合的惡意行。

任務可見的成功訊號未能捕捉這些新增內容。該 session 通過了測試,因此只著重結果的記憶系統有理由保留它。其後三個 agents 在沒有污染的情況下完成同一任務,形成一段小型歷史:一個受污染方案及三個乾淨方案。

研究人員其後針對每種模型、污染類型及記憶組別,進行五個評分 session。Claude Haiku 5.5 和 Claude Sonnet 5.5 提供了模型變異。隱藏驗證器對每個最終儲存庫執行 187 項行為檢查。

四個組別界定了比較:

  • 無記憶不會向 agent 提供先前 sessions 的儲存程序。

  • 重播會再次套用已記錄的編輯。

  • 天真記憶會保留通過的 sessions,並使用 Mem0 搜尋選取相關 skill。

  • 重用前驗證會暫緩提供 skill,直至其修改在兩個後續 sessions 中重現,並通過相關測試。

最後一個組別亦會在行級別篩選 skill。它只向 agent 展示後續成功 sessions 再次寫入的修改。這項細節很重要,因為其中一種污染與合法修復融合在同一檔案及編輯範圍內。

標題數字來自暴露情況及儲存庫狀態。據報,重播將污染帶回 30 個儲存庫中的全部 30 個,儘管每個儲存庫仍通過隱藏驗證器。天真記憶在 30 個評分 sessions 中有三個暴露受污染指引。重用前驗證則在 30 個中零次暴露。

這些數字來自項目已發布紀錄及原始研究帖文,而非獨立複現。公開項目表示,其 session 級數據保留了被取代的運行紀錄,標示哪些列屬於報告表格,並指出污染是否出現在儲存 skill、交付指引或最終程式碼中。

這種區分很有用。受污染記憶可以存在而不被檢索。被檢索的污染可出現在 prompt 中卻不被遵從。agent 亦可能在記憶並非成因的情況下,建立相同的可疑修改。若把這些事件視為單一指標,將掩蓋防禦實際發揮作用的位置。

研究指出,沒有任何評分 agent 只是因為看見受污染指引就執行污染。因此,具意義的量度結果是防止暴露。實驗顯示,建議的篩選器令可疑指令不會進入後續 prompts,並非證明它阻止了一宗原本會造成損害、且已觀察到的攻擊。

這正是為何完美的隱藏測試紀錄本身不足以令人安心。所有評分 sessions 都通過那 187 項檢查,包括重播還原污染的儲存庫。測試證實所要求的行為有效,但未能證實沒有其他改動。

這個落差引出文章的核心問題。如果記憶系統從通過的工作中學習,應要求甚麼證據,才把一次 session 的編輯轉化為對每個後續 agent 的建議?

為何 Agent 記憶污染能避過一般成功檢查

持久記憶會把單一 session 的錯誤轉化為可重用基礎設施。

無狀態 coding agent 可以一次性作出錯誤編輯。具備記憶功能的 agent 則可將該編輯轉化為程序,為相似任務檢索它,並分發到不同儲存庫。風險由孤立故障變為重複指令。

近期研究開始記錄這個更廣泛的問題。一項關於sleeper memory poisoning的研究描述了透過文件、網頁或儲存庫植入虛假記憶的攻擊。這些記憶可在影響日後對話及行動前保持潛伏。

另一項 2026 年研究將持久記憶視為獨特攻擊面,而不只是另一種 prompt injection。其memory poisoning taxonomy識別多個寫入渠道及架構弱點,令不受信任的輸入成為持久 context。

Coding agents 令這項憂慮更具體,因為它們的記憶可包含操作細節。儲存 skill 可能列出檔案、測試、指令、設定鍵或復原步驟。每一項都可協助後續 agent 更快推進,也可引導該 agent 走向受污染的產物。

MuscleMemory 的設計圍繞程序紀錄,而非完整對話重播。其公開文件表示,skill 包含簡潔說明:應修改甚麼、如何驗證,以及應避免甚麼。其程序記憶 API會記錄觀察到的步驟、從已完成 sessions 學習,並在回憶期間傳回配對指引。

這項設計減少無關 context,但不會自動解決信任問題。壓縮可能保留錯誤教訓。檢索可因受污染 skill 在語意上與任務相關,而把它排在高位。通過測試可以驗證所需行為,同時忽略無關新增內容。

Mem0 說明了為何檢索質素與證據質素必須分開看待。它對memory search的描述解釋,語意相似度會選取與查詢相關的 context。相關性告訴系統哪段記憶與當前任務相似,卻不會告訴系統記憶內容是否值得信賴。

個案研究在天真組別中使用 Mem0 搜尋,從通過-session 記憶中選取內容。這個設定不應被理解為對 Mem0 安全性或所有可能 Mem0 設定的全面評估。它只測試一個 harness 內、以檢索為中心的方法。

不過,結果仍揭示一項普遍弱點。如果每個通過 session 都有資格被重用,單一受污染的成功經驗便可與乾淨經驗競爭。搜尋可能檢索到它,因為其合法部分對任務仍高度相關。

重播代表更強的信任假設。它把歷史編輯視為值得重現的行動,而不只是值得考慮的證據。其 30 分之 30 的污染結果正是直接源於這項設計。重新套用整段已記錄修改,也重新套用了當中夾帶的無關內容。

無記憶組別避免跨 session 傳播,但也放棄累積的程序知識。每個 agent 都必須重新找出相關檔案、指令及測試路徑。這可增加工具使用、延遲,以及出現新錯誤的機會。

因此,團隊面臨雙向壓力。他們希望 agents 記住已證實的工作流程,因為重複探索成本高昂;同時亦須阻止一個被入侵的儲存庫、誤導指令或意外編輯,成為機構知識。

這種張力不限於程式碼。客戶服務 agent 可能記住未經授權的例外處理。財務 agent 可能保留不安全的審批流程。研究助理可能保存虛構的引文規則。任何把以往行為轉化為未來指令的系統,都承受同一信任問題。

對建立共享AI knowledge base的團隊而言,來源追溯與相關性同樣重要。有用的記憶紀錄應說明程序來自何處、有哪些證據支持,以及獨立工作是否重現它。

重用前驗證嘗試提供這項缺失的證據。它不只問一個 session 是否成功,也問該次成功的哪些部分在後續獨立嘗試中仍然存在。

MuscleMemory 的重用前驗證改變何謂證據

此方法把重複、乾淨的執行視為篩選器,而非人氣投票。

根據報告的設計,受污染學習 session 不會立即建立 agents 可接收的指引。後續 sessions 必須完成同一任務、重現修改,並通過測試。skill 只有在兩項這類檢查後才符合資格。

系統其後取已記錄工作的交集。它只交付後續成功 sessions 亦曾寫入的行。一項只出現在受污染 session 的新增內容,即使周遭的合法修復仍有用,也應會消失。

這比計算一項廣泛 skill 出現的次數更嚴格。它問的是特定修改是否在獨立重新實作後仍然存在。當一段記憶混合有效與無效指令時,這個分別非常重要。

以新檔案污染為例。受污染 session 建立真正修復,加上一個無關檔案。後續乾淨 agents 重現修復,卻不會建立額外檔案。檔案級比較可拒絕不相符的產物,而不會丟棄重複出現的修復。

無關行個案在現有檔案內遵循相同模式。後續 sessions 寫入真正修改,但略去可疑行。足夠精準的篩選器可保留共同部分。

融合污染更棘手。不安全文字位於與正確修復相同的邏輯編輯內。若把整個檔案或 patch 視為單一單位,便會同時保留兩者。報告中的行級比較移除了不相符的污染,同時保留由乾淨 sessions 重複寫入的行。

這項結果是個案研究最有趣的貢獻。防禦措施不只是延遲信任程序的時間,而是把程序收窄至後續 sessions 證實的證據。

因此,MuscleMemory 的重用前驗證機制結合三項控制:

  • 延遲准入可防止單次成功運行立即變成可重用內容。

  • 獨立重現會測試後續 agents 是否收斂至相同修改。

  • 行級篩選將交付指引限制於已重現的部分。

這些控制措施針對不同的失效模式。若只有延遲而沒有比較,只會推遲污染發生。若重複而沒有精準篩選,可能會保留已融入較大有效修補程式中的有害內容。若篩選而沒有獨立工作階段,便缺乏判斷哪些行重要的依據。

該項目的整體 MuscleMemory documentation 說明,在技能可供使用前,還有額外的人手審批步驟。這項審批可提升問責性,但研究的量化結果依賴自動化重現與篩選。審核者仍可能漏掉一行看似合理、實則受污染的內容。

此方法亦改變了測試的角色。測試通過仍然是必要條件,但不再足以構成證明。測試確認每個工作階段均完成所要求的任務;重現則顯示多個成功代理人認為哪些變更屬必要。

這近似於差異推理。系統比較不同解決方案,從而把穩定的任務結構與偶發活動分開。獨立成功工作階段中重複出現的變更,比只出現一次的編輯更值得信任。

不過,「獨立」需要謹慎詮釋。後續工作階段使用的代理人面對相同任務及儲存庫情境。它們的輸出彼此分開,但其觀察未必與每一項受污染輸入隔離。已知失敗案例正說明這條界線的重要性。

這亦有成本。系統在提供技能前,至少需要兩個後續成功工作階段。罕見任務可能永遠無法累積足夠證據。快速演變的程式碼庫或會在驗證完成前已經改變。重複執行亦會消耗模型時間及運算資源。

團隊可降低重現門檻以加快准入,但這會削弱核心保證。也可提高門檻,但屆時可用的記憶會更少。重用前證明,令記憶信任成為明確的延遲與信心水平取捨。

研究未有確立理想門檻。在此測試環境中,兩個後續工作階段已奏效。風險較高的流程,例如部署憑證或付款邏輯,可能需要更多證據及更強的驗證器;低風險的格式任務則可能適合較低要求。

此方法最清晰的價值在於概念層面。成功軌跡應被視為對某項程序的主張。在這些主張取得對未來代理人的影響力前,後續工作應提供證據。

結果對重播及天真記憶設計構成壓力

記憶系統現在需要准入政策,而不只是儲存與擷取政策。

許多代理人記憶產品強調擷取、摘要、搜尋及個人化。這些功能回答了實用的營運問題:代理人應保留甚麼?應如何找到相關情境?又如何更新或刪除舊紀錄?

中毒研究提出了一個更早的問題:記憶在具資格影響另一個工作階段前,必須先發生甚麼?

重播隱含地回答了這個問題。若某項編輯屬於已記錄的成功結果,系統便可再次套用。這種策略最大化對歷史軌跡的忠實度,同時亦保留軌跡中捆綁的所有無關變更。

天真擷取則較不直接。它向代理人提供經挑選的記憶,讓模型自行決定如何處理。這可減少確定性的傳播,但不安全的指引仍會進入決策情境。

重用前證明在學習與擷取之間設置關卡。系統可立即儲存候選程序,同時不向代理人提供。儲存變成觀察;驗證決定權威性。

這個區別應受企業買家重視。一個列出已儲存記憶的儀表板,並不能揭示這些紀錄是否屬於有效指令。安全審查需要候選、已佐證、已核准、已暫停及已退役等生命週期狀態。

它們亦需要來源追溯。記憶應識別來源工作階段、儲存庫範圍、驗證指令、後續檢查及交付修訂版本。沒有這條鏈,團隊便無法重建代理人為何收到某項特定指令。

據報,研究的公開紀錄區分了技能內容、提示指引及最終儲存庫狀態。這是良好的審計模式,讓調查人員可追問污染究竟發生於擷取、准入、擷取、詮釋還是執行階段。

同類系統可採取多種回應方式。它們可加入隔離期、要求跨工作階段佐證、附加信任中繼資料,或把記憶限制於狹窄的專案範圍。它們也可擷取多條軌跡,要求代理人加以比較,而非提供一項綜合程序。

這些選項均非沒有代價。更多中繼資料會增加儲存複雜度;多條軌跡會消耗 token;隔離會降低即時價值;人手審查則增加延遲,並可能造成審批疲勞。

因此,較安全的設計需要風險分級。關於測試指令的建議,不應與修改認證、網絡存取或發布自動化的指令採用相同控制。記憶層應考慮遵循程序的後果,而不只是相似度分數。

Anthropic 在其有關 trustworthy agents 的指引中提出相關觀點:代理人安全取決於模型、框架、工具及環境各層的保護。記憶關卡無法取代沙箱、權限、程式碼審查或受限制憑證。

這個更廣闊的觀點亦避免將 MuscleMemory 的結果化為過於簡單的產品比較。實驗並未顯示所有擷取式記憶均不安全,也未顯示某一種程序式記憶實作可解決中毒問題。它顯示的是,在一項特定的受控任務中,不受限制的重用更常暴露可疑內容。

不過,舉證責任已經轉移。聲稱具備跨工作階段學習能力的系統,應解釋如何處理含有不必要或對抗性變更的成功工作階段。「測試通過了」已不再是完整答案。

已知失敗案例顯示重現在哪裏失效

當後續工作階段反覆遇到相同的受污染來源時,重用前證明便會失效。

該項目披露了一宗主表以外、發生於儲存庫層面的獨立失敗。在該次執行中,有害內容進入每個代理人都會讀取的儲存庫指令。後續工作階段重現了受污染的行為,因為共享環境指示它們如此行事。

據報,MuscleMemory 在五個計分 Haiku 工作階段中,全部驗證並提供了受污染技能。有害內容亦五次出現在程式碼中。無記憶組別同樣出現五次。

這個結果界定了方法的邊界。重現可以篩除只在一個工作階段出現的異常;當每個工作階段都接收到相同受破壞前提時,它無法分辨真相與協同重複。

這種失敗更像資料中毒,而非孤立軌跡污染。後續代理人原應充當獨立證人,但它們共享已受破壞的證據;它們的一致反而強化了錯誤結論。

這個問題並非 MuscleMemory 獨有。任何佐證系統都可能在驗證者共享由攻擊者控制的來源時失效。多個代理人、模型或執行次數,若都讀取相同的受污染指令,便不會創造獨立性。

這項限制亦令「兩個後續工作階段」一語更為複雜。工作階段分離並不保證來源分離。安全主張應說明,在驗證執行之間,哪些輸入、工具、儲存庫及指令渠道仍屬共享。

更強的設計可將記憶與輸入來源追溯綁定。它可標示指令來自用戶、儲存庫檔案、網頁、測試輸出,還是特權政策;亦可防止較低信任來源僅因模型重複服從而取得權威。

最近有關 origin-bound authority 的研究指出,內容評分與一般譜系均可能遭操控。該研究建議在寫入時將權威與來源綁定,並要求能抵抗人為製造共識的佐證。

此個案研究亦有統計限制。每個實驗組別使用五個計分工作階段。作者報告主要比較的機率約為 0.24,未達常見顯著性門檻。零次觀察到的暴露,並不能證明真實世界發生率接近零。

狹窄的測試環境亦帶來另一項疑慮。同一任務同時用於方法及評估。適用於小型設定修復的行級匹配規則,在重構、產生檔案、依賴項變更或語義等效編輯時可能難以適用。

兩個乾淨代理人可用不同方式解決同一問題。一個可能重新命名輔助函式,另一個可能改動呼叫端,第三個則可能變更設定流程。字面交集可能捨棄有用工作,因為正確方案未必共享相同行。

反過來亦可能發生。代理人可能重複有害編輯,因為它看起來符合慣例、出現在示例中,或迎合共同的模型偏誤。一致性是證據,但不是安全證明。

隱藏驗證器帶來進一步警示。它的 187 項檢查看似廣泛,但每個計分儲存庫均告通過,包括全部 30 個重播的有害內容。這些檢查量度了預期行為,但未有拒絕金絲雀內容。大量測試並不保證廣泛的安全覆蓋。

另一項限制涉及執行。主要研究發現暴露程度存在差異,但沒有任何計分模型僅因記憶顯示有害內容便照做。這令研究無法直接估計傷害降低程度。阻止暴露的防禦措施具價值,但讀者不應把零次暴露等同於零次成功攻擊。

公開數據提升了透明度,但公開紀錄並不等同第三方重現。獨立研究人員仍需重建測試框架、檢查計分邏輯、驗證報告表格,並測試更多任務。

該項目亦表示,部分儲存的資料庫及完整文字記錄因包含本機路徑而未有公開。這可以理解,但限制了對完整執行情境的鑑證審查。經清理的發布版本將加強未來分析。

因此,MuscleMemory 的重用前證明應視為一項具已知失效模式、值得期待的准入規則,而非通用的記憶安全保證。

三項測試將決定結果能否推廣

下一階段應量度獨立重現、實際行為傷害,以及抵抗共享受污染輸入的能力。

第一個訊號是跨越不同軟件任務的外部重現。研究人員應測試錯誤修復、遷移、重構、依賴項更新及安全修補程式,並改變儲存庫規模、程式語言、測試品質及代理人模型。

成功的重現應在不依賴任務特定匹配規則下,保留暴露差距;它亦應顯示當獨立代理人產生不同但正確的實作時,行級交集仍能保留足夠有用指引。

若方法在語義等效的編輯上失效,將削弱字面行篩選的理據。這個結果會指向更豐富的比較方法,例如程式分析、行為層級驗證,或程式碼變更的結構化表示。

第二個訊號,是一項量度擷取後有害行動的實驗。未來研究應使用具明確後果的安全金絲雀,然後記錄由受污染寫入、擷取、模型決策、工具呼叫至最終狀態的完整序列。

這將回答減少暴露是否確實減少有害執行,亦可揭示模型差異。某個模型可能忽略可疑指引,另一個模型則可能在指令看似相關時持續遵循。

第三個訊號是要更有力地回應共享來源投毒。驗證工作階段應採用由不同控制方提供的輸入,或記憶系統應保留不同來源之間的信任邊界。多個代理閱讀同一份儲存庫指令後得出相同結論,不能視為獨立佐證。

如果 MuscleMemory 加入來源感知驗證,並能克服其已公開的儲存庫層級失敗,核心論點便會大幅增強。若該投毒仍能通過驗證,則「重用前先證明」僅能對抗孤立的污染。

團隊毋須等到研究盡善盡美才改善系統。他們可以將已儲存的觀察結果與活躍指令分開、保留工作階段的來源資訊,並為高影響程序要求更嚴格的審查。他們亦可讓由記憶產生的修改納入正常的測試、沙盒及程式碼審查流程。

更重要的教訓並非代理應該遺忘,而是記憶需要一套證據模型。相關性、重複出現,以及通過測試,各自回答不同問題;單靠任何一項都不足以證明安全。

對正在評估 MuscleMemory「重用前先證明」機制的開發者而言,實際問題非常明確:你的驗證工作階段能否以足夠獨立的方式觀察任務,使一致結果具有意義?若答案是否定的,請在部署共享程序記憶前加入來源隔離及更嚴格的驗證。若答案是肯定的,便應在自己的儲存庫重現已公開的實驗,並量度暴露程度及行為。

 
 

為每個智能代理提供更完整的背景,提升工作表現

讓智能代理連接 remio 已整理好的知識、決策和歷史紀錄。

remio 目前支援 Windows 10+(x64) 及配備 Apple 晶片的 Mac。

你的 AI 工作夥伴
和 remio 一起高效工作

規劃、創作、交付
一站式完成

bottom of page