After-Action Reviews for AI 紅隊 Operations
Structured frameworks for conducting after-action reviews that capture lessons learned, improve methodology, and demonstrate value from AI red team engagements.
概覽
人工智慧紅隊的參與發現了關鍵的漏洞,但沒有系統地捕捉哪些有效、哪些失敗以及團隊學到了什麼,這使得它的大部分價值都被擱置了。研究結果被報告並(希望)得到補救,但機構知識——哪些技術對哪些模型架構有效、哪些工具以意想不到的方式失敗、每個階段實際花費的時間與估計的時間、團隊會採取哪些不同的做法——消失了。下一次參與從頭開始,重複同樣的低效率並錯過同樣的機會。 行動後檢討 (AAR) 將個人參與轉變為複合知識庫。在傳統的軍事和事件回應環境中,AAR 是一種行之有效的實踐,背後有數十年的方法論。然而,AI 紅隊演練具有需要採用適應的 AAR 方法的特定特徵:攻擊技術的新穎性意味著教訓特別有價值(存在較少的已發表的方法可供依賴),AI 系統的快速發展意味著教訓會更快過期,而 AI 安全的跨學科性質意味著必須以安全和機器學習受眾都可以訪問的方式來獲取教訓。 本文提供了 AI 紅隊事後檢討的完整框架,包括結構化範本、促進技術、知識管理系統以及將 AAR 輸出轉化為專案改進和領導報告的方法。
為什麼 AI 紅隊 AAR 不同
傳統的滲透測試 AAR 主要關注發現了什麼以及如何發現。 AI 紅隊 AAR 必須另外捕獲: 特定於模型的行為觀察:目標模型在不同的攻擊策略下表現如何?觀察到什麼防禦模式?這些觀察結果可能不會產生正式的發現,但對於未來針對類似模型架構的參與非常寶貴。 技術演進:AI攻擊技術正在迅速發展。今天失敗的技術明天可能會透過小修改而發揮作用,或者有效的技術可能會在下一次參與之前得到修補。捕捉精確的技術及其結果可以實現縱向追蹤。 發現工具限制:與傳統安全工具相比,人工智慧安全工具還不成熟。參與經常揭示工具的限制(漏報、崩潰、不相容),需要回饋給工具開發。 跨領域洞察:人工智慧紅隊的參與經常揭示人工智慧安全和傳統安全交叉點的問題(例如,利用模型服務層中的 SSRF 漏洞的提示詞注入)。如果 AAR 沒有明確捕捉這些跨域見解,它們很容易丟失。
AAR 結構與時間表
時間安排
在合作結束後 48 小時內進行 AAR,同時詳細資訊是最新的。對於較長的參與(2 週以上),請在每個主要階段結束時進行臨時 AAR。
AAR 整合的參與時間表:
第一週:勘察與規劃
└── 中期 AAR:規劃有效性評估
第 2-3 週:主動測試
└── 每日:簡短的站立會議捕捉技術結果
└── 第 2 週結束:關於工具和技術有效性的臨時 AAR
第 4 週:分析、報告和補救指導
└── 最終AAR:綜合審核(2-3小時)
第 5 週以上:跟進
└── 30 天 AAR:補救追蹤與延遲洞察
參與者
最終的 AAR 應包括所有參與團隊成員。 (可選)包括擁有目標系統的 ML 工程團隊(如果參與是合作性的而不是對抗性的)。不包括管理層-AAR 需要心理安全來對問題進行誠實的評估。 管理階層收到的是 AAR 調查結果和行動項目的摘要,而不是房間裡的座位。
綜合 AAR 模板
”“”
AI 紅隊行動後檢討模板。
用於機構知識建構的結構化資料擷取。
”“”
從資料類導入資料類別、字段
從日期時間匯入日期、時間增量
從枚舉導入枚舉
從輸入 import 可選
類參與類型(枚舉):
LLM_APPLICATION =“llm_應用程式”
CLASSIFICATION_MODEL =“分類模型”
GENERATIVE_MODEL =“生成模型”
RAG_SYSTEM =“抹布系統”
MULTI_AGENT = "多重代理系統"
ML_PIPELINE = "ml_管道"
FULL_SYSTEM = "完整系統評估"
類技術結果(枚舉):
SUCCESSFUL =「成功」#達到目標
PARTIAL = "partial" # 一些進展,但不是全部目標
FAILED_DEFENDED = "failed_defend" # 目標有效防禦
FAILED_TECHNIQUE = "failed_technique" # 我們的技術有缺陷
NOT_APPLICABLE = "not_applicable" # 技術不適用於目標
NOT_ATTEMPTED = "not_attempted" # 逾時或優先權降低
@資料類
班級技術記錄:
“”“交戰期間使用的特定技術的記錄。”“”
技術名稱:str
類別:str # 例如,“prompt_injection”、“model_extraction”
描述:str
結果:技術結果
time_invested_hours:浮動
使用的工具:列表[str]
目標元件:str
# 我們學到了什麼
有效性註釋:str =“”
Defense_observed:str =“”
修改想法:str =“”
可重複使用性:str = "" # "high", "medium", "low" — 這可以重複使用嗎?
@資料類
類工具評估:
"""評估工具在參與過程中的表現。"""
工具名稱:str
版本:str
目的:str
有效性:int # 1-5 範圍
遇到的問題:列表[str] =欄位(default_factory =列表)
workarounds_applied:列表[str] =欄位(default_factory =列表)
建議:str = "" # "保留"、"替換"、"改進"、"退役"
@資料類
類別時間分配記錄:
"""實際花費的時間與計畫的時間如何。"""
階段:str
規劃時間:浮動
實際小時數:浮動
差異原因:str =“”
@資料類
AfterActionReview 類別:
"""完成人工智慧紅隊參與的事後審查。"""
# 參與度元數據
engagement_id:str
目標系統:str
Engagement_type:參與類型
開始日期:日期
結束日期:日期
team_members:列表[str]
範圍摘要:str
# 調查結果摘要
總調查結果:int = 0
關鍵發現:int = 0
high_findings:int = 0
中等調查結果:int = 0
low_findings:int = 0
most_impactful_finding: str = ""
# 技術記錄
技術:列表 [TechniqueRecord] = 欄位(default_factory =列表)
# 工具評估
工具:列表[工具評估] = 欄位(default_factory=列表)
# 時間分配
time_records: 清單[TimeAllocationRecord] = 欄位(default_factory=清單)
# 關鍵問題(AAR 的核心)
計畫內容:str =“”
實際發生了什麼:str =“”
What_went_well: 清單[str] = 欄位(default_factory=清單)
What_could_improve: 列表[str] = 字段(default_factory=列表)
驚喜:list[str] = field(default_factory=list)
# AI 特定觀察結果
model_behavior_observations:列表[str] =欄位(default_factory =列表)
Defense_patterns_observed:列表[str] =欄位(default_factory =列表)
Attack_surface_notes:str =“”
架構_見解:str =“”
# 行動項目
action_items: 清單[dict] = 欄位(default_factory=清單)
# 交叉參與洞察
與上一個比較:str =“”
methods_updates_needed: 列表[str] = 字段(default_factory=列表)
Training_needs_identified:列表[str] =欄位(default_factory =列表)
defgenerate_summary(self)->str:
"""從 AAR 產生可供管理使用的摘要。"""
有效技術 = [
自我技巧中的“t for t”
if t.outcome == TechniqueOutcome.SUCCESSFUL
]
失敗的技術 = [
自我技巧中的“t for t”
如果 t.outcome in (TechniqueOutcome.FAILED_TECHNIQUE,
技術結果.FAILED_DEFENDED)
]
Total_planned = sum(t.planned_hours for t in self.time_records)
Total_actual = sum(t.actual_hours for t in self.time_records)
行= [
f"# AAR 總結:{self.target_system}",
f"## 參與度:{self.engagement_id}",
f"**持續時間**:{self.start_date} 到 {self.end_date} "
f"({(self.end_date - self.start_date).days} 天)",
f"**團隊**: {', '.join(self.team_members)}",
"",
“##結果”,
f"- 總調查結果:{self.total_findings}",
f"- 嚴重:{self.ritic_findings},高:{self.high_findings},“
f“中:{self.medium_findings},低:{self.low_findings}”,
f"- 最有影響力:{self.most_impactful_finding}",
"",
“##技術有效性”,
f"- 嘗試的技術:{len(self.techniques)}",
f"- 成功:{len( effective_techniques)}",
f"- 失敗: {len(failed_techniques)}",
f"-有效率:"
f"{len(有效技術)/max(len(self.技術),1):.0%}",
"",
“##時間”,
f"- 計劃:{total_planned:.0f} 小時",
f"- 實際:{total_actual:.0f} 小時",
f"- 變異數:{(total_actual-total_planned)/max(total_planned,1):+.0%}",
"",
“## 關鍵見解”,
]
對於 self.what_went_well[:3] 中的項目:
lines.append(f"- (正) {item}")
對於 self.what_could_improve[:3] 中的項目:
lines.append(f"- (改進) {item}")
對於 self.surprises[:3] 中的項目:
lines.append(f"- (驚喜) {item}")
行.append("")
lines.append("## 操作項目")
對於 self.action_items 中的項目:
行.追加(
f"- [{item.get('優先權', 'MEDIUM')}] {item.get('action', '')} "
f"(所有者: {item.get('owner', 'TBD')}, "
f“到期時間:{item.get('due_date', 'TBD')})”
)
返回“\n”.join(行)便利指南
開場(10 分鐘)
定調:這是一次學習練習,而不是責備會議。制定基本規則:
- 專注於團隊,而不是個人:“我們做出了這個決定”而不是“愛麗絲犯了這個錯誤”
- 需要誠實:經過消毒的 AAR 毫無價值。如果因為技能差距而導致某件事失敗,請直言不諱——這將成為一個訓練投資案例。
- 房間裡沒有等級:初級團隊成員通常擁有最有價值的觀察結果,因為他們以新鮮的眼光看待事物,並且不太可能合理化次優的選擇。
- 一切都被捕獲:指定一名記筆記者(或使用上面的模板作為即時文件)。任何見解都不應該遺失,因為沒有人把它寫下來。
核心討論(90-120 分鐘)
瀏覽範本的每個部分。 對每個部分,使用這些促進技術: 時間軸重建(20 分鐘):在深入分析之前,請按時間順序重建實際發生的事情。這使事實分歧浮出水面,並確保每個人都有一個共同的理解。
LLM 紅隊參與的範例時間表:
第一天:偵察-透過正常使用分析模型行為
觀察:模型似乎是基於 GPT-4 的,帶有自訂系統提示詞
觀察:針對顯式內容存在輸出過濾
2:2: 基本提示詞注入測試
技術:直接指令覆蓋-失敗(辯護)
技術:角色扮演框架-部分成功
驚喜:模型無需過濾即可接受程式碼產生請求
第 3 天:透過多輪情境進行進階注入
技術:漸強攻擊(逐漸上下文轉換)-成功
技術:工具使用注入 - 未嘗試(未識別工具使用)
尋找:可透過基於補全的技術擷取系統提示詞
第 4-5 天:利用和文檔
…
逐一技術回顧(30-40 分鐘):對嘗試的每項技術,討論:
- 為什麼選擇這種技術?
- 預期結果是什麼?
- 實際結果如何?
- 如果失敗了,為什麼?防禦有效嗎,還是我們的技術有缺陷?
- 如果成功了,比預期更容易還是更困難?
- 下次我們會採取什麼不同的做法? 工具審查(15-20 分鐘):對使用的每個工具,討論它是否按預期工作,需要哪些解決方法,以及團隊是否應該繼續使用它。 四個關鍵問題(20-30 分鐘):
- **我們計劃做什麼? ** 審查參與計劃。範圍是否合適?所選的攻擊類別是否正確?
- **實際發生了什麼事? ** 參與度與計畫有何差異?為什麼?
- **哪些進展順利? ** 具體識別成功-不僅是發現,還有流程、工具和協作的成功。 這在 AAR 中經常很倉促,但對於加強有效實踐至關重要。
- **我們會採取什麼不同的做法? ** 這是最高價值的見解出現的地方。將其描述為“根據我們現在所知道的,我們將改變我們的方法是什麼?”
結束(20 分鐘)
行動項目:每個「我們會採取什麼不同的做法」的答案都應該產生一個帶有所有者和截止日期的行動項目。沒有孤兒見解。 交叉參與模式識別:如果這不是團隊的第一個 AAR,請將結果與先前的 AAR 進行比較。同樣的問題是否反覆出現?之前 AAR 的改進是否有效? 庫更新:確定哪些 AAR 見解應加入團隊的知識庫。
知識管理系統
AAR 僅在其見解可檢索時才有價值。建立一個適合實際使用的知識庫:
”“”
AI紅隊知識庫結構。
組織 AAR 見解,以便在未來的活動中檢索。
”“”
從資料類導入資料類別、字段
從日期時間匯入日期
@資料類
班級技術知識:
"""我們從 AAR 資料中了解到的特定攻擊技術。"""
技術名稱:str
類別: STR
總嘗試次數:int = 0
成功嘗試次數:int = 0
target_types_tested: 列表[str] = 欄位(default_factory=列表)
effective_by_target: dict[str, float] = 欄位(default_factory=dict)
known_defenses: 清單[str] = 欄位(default_factory=清單)
best_variants: 清單[str] = 欄位(default_factory=清單)
常見陷阱:列表 [str] = 欄位(default_factory =列表)
最後更新:可選[日期] = 無
@屬性
def 整體成功率(self) -> 浮動:
如果 self.total_attempts == 0:
返回 0.0
回傳 self.successful_attempts / self.total_attempts
def update_from_aar(self, technology_record: "TechniqueRecord"):
"""從新的 AAR 技術記錄更新知識。"""
self.total_attempts += 1
如果 technology_record.outcome == TechniqueOutcome.SUCCESSFUL:
self.successful_attempts += 1
目標類型=技術記錄.目標組件
如果 target_type 不在 self.target_types_tested 中:
self.target_types_tested.append(target_type)
如果 technology_record.defense_observed:
如果 technology_record.defense_observed 不在 self.known_defenses 中:
self.known_defenses.append(technique_record.defense_observed)
如果技術記錄.修改想法:
self.best_variants.append(technique_record.modification_ideas)
self.last_updated = date.today()
@資料類
班級參與知識:
"""聚合所有來自特定係統類型的 AAR 的知識。"""
系統類型:str
參與總數:int = 0
avg_findings_per_engagement:浮動 = 0.0
最有效的技術:列表[str] =欄位(default_factory =列表)
最不有效的技術:列表[str] =欄位(default_factory =列表)
common_defense_patterns: 清單[str] = 欄位(default_factory=清單)
建議時間分配: dict[str, float] = 欄位(default_factory=dict)
Lessons_learned: 列表[str] = 欄位(default_factory=列表)
類別知識庫:
"""從 AAR 聚合的 AI 紅隊知識庫。"""
def __init__(自身):
self.techniques: dict[str, 技術知識] = {}
self.engagement_types: dict[str, EngagementKnowledge] = {}
self.aars: 清單[AfterActionReview] = []
def ingest_aar(self, aar: "AfterActionReview"):
"""處理 AAR 並更新知識庫。"""
self.aars.append(aar)
# 更新技術知識
對於 aar.techniques 中的 tech_record:
如果 tech_record.technique_name 不在 self.techniques 中:
self.techniques[tech_record.technique_name] = 技術知識(
technology_name=tech_record.technique_name,
類別=tech_record.category,
)
self.techniques[tech_record.technique_name].update_from_aar(tech_record)
# 更新參與類型知識
sys_type = aar.engagement_type.value
如果 sys_type 不在 self.engagement_types 中:
self.engagement_types[sys_type] = EngagementKnowledge(
系統類型=系統類型
)
eng_knowledge = self.engagement_types[sys_type]
eng_knowledge.total_engagements += 1
def get_planning_guidance(self, system_type: str) -> dict:
”“”
取得根據以下內容規劃新活動的指導
從以前的 AAR 累積的知識。
”“”
eng = self.engagement_types.get(system_type)
如果不是英語:
return {"message": f"之前沒有類型為 {system_type} 的約定"}
# 找到適合該系統類型的最有效技術
相關技術 = [
(name, tech) 用於 self.techniques.items() 中的名稱、技術
if system_type in [t.lower() for t in tech.target_types_tested]
]
排名 = 排序(
相關技術,
key=lambda x: x[1].overall_success_rate,
反向=真,
)
返回{
“系統類型”:系統類型,
“prior_engagements”:eng.total_engagements,
「推薦技術」:[
{
“姓名”:姓名,
"success_rate": f"{tech.overall_success_rate:.0%}",
「試試」:tech.total_attempts,
「known_defenses」:tech.known_defenses,
}
名稱、技術排名[:10]
],
「common_defenses」:eng.common_defense_patterns,
「時間分配」:eng.recommended_time_allocation,
"key_lessons": eng.lessons_learned[-10:],
}將 AAR 轉化為專案改進
方法更新
AAR 調查結果應系統性地更新團隊的參與方法:
AAR 發現 → 方法更新流程:
1. AAR 辨識改進機會
範例:「我們花了 8 個小時進行模型提取嘗試
被速率限制阻止。我們應該測試速率限制
首先,然後再投資萃取技術。 」
2. 方法草案更新
參與手冊的補充:「階段 1.5 — API 約束
評估:在嘗試模型擷取之前,表徵
目標API的速率限制、請求限制和異常
探索。預計時間:2小時。如果速率限制低於
1000 個請求/分鐘,降低提取技術的優先順序。 」
3. 與團隊一起評審
在下次團隊會議上討論。經高級工程師確認。
4.更新文檔
參與手冊已更新至新階段。
5. 在下一次參與中驗證
追蹤方法更新是否改善了結果。
6.接下來AAR評估更新
「新的 API 約束評估階段節省了大約 6 個小時
透過確定在給定速率限制的情況下提取是不可行的。 」
培訓差距識別
AAR 經常揭示技能差距:
AAR 技能差距 → 訓練回應:
Gap:「團隊在白盒對抗性攻擊中掙扎,因為
沒有人有 PyTorch 模型內部結構的經驗。 」
回應:
1.團隊訓練要求中增加“PyTorch模型分析”
2.下季度為每位工程師分配2天的培訓時間
3. 將經驗較少的成員與導師配對,進行下一次白盒互動
4. 追蹤下一個 AAR 的改進
工具開發優先事項
AAR 工具評估推動工具投資決策:
AAR工具尋找→開發重點:
Finding: "garak 提示詞注入測試手動找到了我們 7 個中的 3 個
發現了提示詞注入漏洞。最錯過的4個
需要多回合上下文的複雜技術。 」
行動:
1. 向 garak 維護者提交功能請求以獲得多輪支持
2. 開發編排多輪 garak 的內部包裝器 測試
3.第二季度分配40小時用於客製多轉注塑工具
4. 評估下一次參與 AAR 的改進
向領導層報告 AAR 結果
領導階層不需要完整的 AAR——他們需要策略洞察:
defgenerate_leadership_report(aars: list["AfterActionReview"],
期間:str =“季度”)-> str:
”“”
根據 AAR 數據產生季度領導力報告。
重點關注計劃有效性和風險趨勢。
”“”
Total_findings = sum(a.aars 中的 a.total_findings)
Total_ritic = sum(a.aars 中 a 的關鍵結果)
Total_high = sum(a.aars 中的 a.high_findings)
技術成功率 = {}
對於 aar 中的 aar:
對於 aar.techniques 中的 t:
貓 = t.類別
如果 cat 不在 technology_success_rates 中:
technology_success_rates[cat] = {"成功": 0, "總計": 0}
technology_success_rates[cat]["total"] += 1
如果 t.outcome == TechniqueOutcome.SUCCESSFUL:
technology_success_rates[cat]["成功"] += 1
行= [
f"# AI 紅隊 {period.title()} 檢舉",
"",
"## 計劃指標",
f"- 已完成的約定:{len(aars)}",
f"- 總調查結果:{total_findings}",
f" - 嚴重:{total_ritic}",
f" - 高:{total_high}",
"",
“## 主要趨勢”,
]
對於貓,數據排序(
technology_success_rates.items(),
key=lambda x: x[1]["成功"] / max(x[1]["總計"], 1),
反向=真,
):
比率 = 數據["成功"] / max(數據["總計"], 1)
行.追加(
f"- {cat}: {rate:.0%} 成功率 "
f"({data['成功']}/{data['total']} 次嘗試)"
)
lines.extend([
"",
“## 對先前的 AAR 實施的改進”,
])
對於 aar 中的 aar:
aar.methodology_updates_needed 中的更新:
lines.append(f"- {更新}")
lines.extend([
"",
“##投資建議”,
])
對於 aar 中的 aar:
對於 aar.training_needs_identified 中的需求:
lines.append(f"- 訓練:{需要}")
返回“\n”.join(行)常見的 AAR 反模式
指責會議:AAR 演變為相互指責。透過建立基本規則和使用「我們」語言來防止這種情況發生。如果出現指責模式,引導者應該重新引導:“讓我們專注於團隊可以改變什麼,而不是個人做了什麼。” 勝利圈:團隊只討論進展順利的部分。明確推動失敗和意外。 “如果我們採取不同的做法,哪一件事會產生更多或更好的發現?” 文件轉儲:AAR 產生了 20 頁無人閱讀的註解。保持 AAR 模板結構化且以行動為導向。每個見解都應該是技術記錄、評估工具或行動項目。敘述是為了上下文,而不是為了敘述本身。 孤兒 AAR:已進行 AAR,但調查結果從未實施。為每個行動項目分配所有者和截止日期。在下一個 AAR 開始時追蹤實作。 不變的 AAR:無論類型為何,每次參與都使用相同的範本和相同的問題。根據參與類型自訂 AAR 問題,並定期檢視 AAR 格式本身是否需要改進。
縱向分析:透過 AAR 追蹤程序演變
各 AAR 捕捉時間點知識。複合價值來自縱向分析-檢視專案如何在多個參與中發展:
def 縱向分析(aars: list["AfterActionReview"]) -> dict:
”“”
分析多個 AAR 的趨勢以識別計劃
改進模式和持續存在的差距。
”“”
如果 len(aars) < 3:
return {"message": "需要至少 3 個 AAR 進行趨勢分析"}
# 按日期排序
aars_sorted = 排序(aars, key=lambda a: a.start_date)
# 隨著時間的推移追蹤技術成功率
技術趨勢 = {}
對於 aars_sorted 中的 aar:
季 = f"{aar.start_date.year}-Q{(aar.start_date.month - 1) // 3 + 1}"
對於 aar.techniques 中的技術:
如果 tech.technique_name 不在 technology_trends 中:
technology_trends[tech.technique_name] = []
technology_trends[tech.technique_name].append({
「季度」:季度,
「結果」:技術.結果.價值,
「目標」:tech.target_component,
})
# 辨識重複出現的問題
所有改進 = []
對於 aars_sorted 中的 aar:
all_improvements.extend(aar.what_could_improve)
# 尋找多個 AAR 中提到的改進(持續差距)
從集合導入計數器
Improvement_freq = 計數器()
對於 all_improvements 中的項目:
# 標準化以進行比較
key = item.lower().strip()
Improvement_freq[key] += 1
持久間隙= [
{“問題”:問題,“發生次數”:計數}
對於問題,計入 Improvement_freq.items()
如果計數 >= 2
]
# 隨著時間的推移追蹤時間估計的準確性
估計準確度 = []
對於 aars_sorted 中的 aar:
Total_planned = sum(aar.time_records 中 t 的 t.planned_hours)
Total_actual = sum(t.actual_hours for t in aar.time_records)
如果total_planned > 0:
準確度 = 實際總數 / 計劃總數
估計準確度.append({
「參與」:aar.engagement_id,
「日期」:aar.start_date.isoformat(),
「accuracy_ratio」:準確率,
})
# 確定估計是否正在改進
如果 len(估計精度) >= 3:
最近的準確度 = [
絕對值(1 - e[“準確率”])
對於 e 估計精度[-3:]
]
早期準確率 = [
絕對值(1 - e[“準確率”])
對於 e 估計精度[:3]
]
估計改進 = (
sum(最近的準確度) / len(最近的準確度) <
sum(early_accuracy) / len(early_accuracy)
)
其他:
估計改進=無
返回{
「total_engagements_analyzed」:len(aars_sorted),
"time_span": f"{aars_sorted[0].start_date} 到 {aars_sorted[-1].end_date}",
「科技趨勢」:科技趨勢,
「持久間隙」:持久間隙,
「估計準確度趨勢」:估計準確度,
「估計_改進」:估計_改進,
「建議」:_generate_recommendations(
持久差距、估計改進、技術趨勢
),
}
def _generate_recommendations(持續差距,估計改進,
technology_trends) -> 列表[str]:
建議=[]
如果持久間隙:
推薦.append(
f“優先級:多個 AAR 中出現 {len(persistent_gaps)} 問題”
f“沒有解決方案。將這些問題升級到專案管理:”
f"{', '.join(g['issue'][:50] for g in permanent_gaps[:3])}"
)
如果estimate_improving為False:
推薦.append(
“時間估算的準確性並沒有在不同的參與中得到提高。”
“考慮修改估計方法或校準”
“對照歷史數據。”
)
返回建議這種縱向視圖回答了單一 AAR 無法回答的問題:團隊是否變得更好?各個參與領域是否也存在同樣的差距?隨著組織的人工智慧系統成熟,特定的攻擊技術是否會變得更有效或更無效?這些數據對於專案審查和預算合理性非常寶貴——它展示了專案的軌跡,而不僅僅是其當前狀態。
關鍵要點
事後檢討是個人人工智慧紅隊參與融入機構能力的機制。如果沒有 AAR,每次參與都是一個孤立的事件;與他們一起,每一次參與都建立在之前的每一次參與之上。有效的 AAR 的關鍵是心理安全(誠實需求)、結構(捕獲技術記錄、工具評估和行動項目,而不僅僅是敘述)、及時性(48 小時內,細節新鮮)和後續行動(行動項目有所有者和截止日期,跟踪完成)。 特別是對於AI紅隊演練來說,逐一技術的審核和模型行為觀察部分是AAR中價值最高的部分。這些建構了團隊對哪些系統適用的理解——這些知識在已發表的研究中找不到,因為它來自團隊的具體參與經驗。
參考文獻
- 美國陸軍(2021 年)。 「行動審查後。」陸軍條令出版物 (ADP) 7-0,訓練。適用於人工智慧紅隊環境的結構化事後審查的基本方法。
- 莫里森,J. 和梅麗莎,L. (1999)。 「行動後審查流程的基礎。」美國陸軍行為與社會科學研究所。適用於技術團隊環境的 AAR 原則的學術處理。
- 微軟(2024)。 「AI 紅隊演練:大規模部署紅隊的經驗教訓。」微軟安全部落格。來自最早運作專門人工智慧紅隊的組織之一對人工智慧紅隊知識制度化的實用見解。
- 米特(2025)。 “ATLAS Navigator — ATT&CK for AI。” https://atlas.mitre.org/ — 對 AAR 技術記錄中使用的 AI 攻擊技術進行分類的分類法。