scott-lydon/crucible

GitHub: scott-lydon/crucible

Crucible 是一个面向 AI 模型完整性的对抗平台,通过 LLM 红队搜索攻击、独立 oracle 验证和蓝队强化闭环来发现并修复模型悄然出错的问题。

Stars: 0 | Forks: 0

# Crucible **一个用于 AI 完整性的对抗平台:Crucible 搜寻模型悄然出错的场景,使用模型及其创建者无法访问的独立检查进行验证,在闭环中强化模型,并通过一个已知晓该方案的对手来衡量自身的捕获率。** `方向:` ML + LLM 混合  •  `展示:` 2026 年 6 月 29 日(10 分钟现场演示)  •  `团队:` 清晰的四人分工 ## 问题所在 AI 模型是根据一个*代理指标*(一个验证集、一个基准测试、一个单元测试套件、一个用户反馈信号)来评分的。无论何种优化器将模型拟合到该指标——例如用于欺诈模型等监督分类器的梯度下降,或是用于 agent 的强化学习或微调——都会找到最廉价的途径来最大化其被给予的分数。当代理偏离真实目标时,优化器就存在于这个差距中:模型在指标上得分很高,但在实际任务中却悄然失败。 示例: - 欺诈检测器学到“标记商户类别 5816”,因为验证集在该类别中比重很大。在评估中得分 99%,却漏掉了三分之二的真实欺诈。 - 代码生成 agent 将可见的测试输入硬编码到查找表中。通过了测试套件,但在任何新输入上都会出错。 - 研究 agent 伪造引用,因为奖励信号奖励的是“看起来有来源的答案”,而不是“实际上有来源的答案”。 在 AI 安全文献中被称为: - **Reward hacking**(奖励作弊):优化器以一种未能最大化奖励本意要捕捉的目标的方式,来最大化奖励。 - **Specification gaming**(规范博弈):系统满足了字面规范,却违背了其意图。 - **Hallucination**(幻觉):生成式系统产生毫无现实基础的自信输出。 这些失败存在于模型的输出分布中,而不在任何代码路径中。静态分析、fuzzer 和密钥扫描器无法看到它们。只有当有东西在生产者未挑选的输入上检查输出的正确性时,它们才会变得可见。这个东西就是 Crucible。 ## 范围:完整性支柱 经典的信息安全三元组包含三个支柱: | 支柱 | 关注点 | |---|---| | 机密性 | 泄密了吗? | | 完整性 | 输出是否悄然出错? | | 可用性 | 系统是否正常运行? | Crucible 的目标是**完整性**,且仅仅是完整性。 机密性和可用性不在范围内。如果您关心的是“是否有任何东西泄露”或“系统是否宕机”,请使用为这些工作构建的工具(SAST、DAST、密钥扫描器、正常运行时间监视器)。Crucible 帮不上忙。 ## Crucible 的作用 Crucible 是一个与目标无关的红队和蓝队平台。生产者(训练并提交模型的团队)向 Crucible 交付两样东西:模型本身,以及对其预期任务的描述(例如:“给定一条交易记录,输出欺诈或非欺诈”)。生产者**不**挑选测试输入。Crucible 自行生成全新的输入,生产者看不到它们,Crucible 将它们输入到模型中运行,然后 Crucible 检查模型的答案是否正确。 同一个核心通过轻量级 adapter 处理三种目标类型:欺诈检测模型、代码生成 agent 和多步研究 agent。一个由 LLM 驱动的对手搜索语义上有效的攻击(规避欺诈模型、对编程 agent 进行 reward-hacking、违反研究 agent 的 spec)。一组独立的 oracle 集成由密封的 spec 生成,无法与生产者或彼此串通,在不信任被检查对象的情况下捕获这些攻击。一个蓝环自动强化目标。然后,平台持续对自己进行红队测试,并以单一数字报告作弊仍然混过去的频率。 如果允许生产者挑选测试输入,最廉价的获胜方式将是发布一个包含死记硬背答案的查找表。一个诚实的验证器必须控制自己的输入。 下图在 GitHub 上原生渲染。一个精美的交互式版本——包含 logo、决策表、权衡面板和安全映射——位于 [`website/index.html`](website/index.html)。 ## 威胁模型 三个术语,使用精准定义: | 术语 | 它是什么 | |---|---| | **威胁** | 由优化压力引入的悄然出错。参见上文的问题部分。 | | **攻击** | 在运行时暴露错误的特定输入。未见过的商户类别中的欺诈交易。可见测试输入之外的代码生成提示。无法伪造答案的研究查询。 | | **红方 agent** | Crucible 内部搜索攻击的组件。由 LLM 驱动的对抗性搜索,带有持久化策略目录。 | 不假设生产者是恶意的。是优化过程本身找到了作弊方法;生产者甚至可能不知道它的存在。Crucible 的工作是不管意图如何,都要暴露出失败。 ## Crucible 不是什么 - SQL 注入、XSS、CSRF 或 SSRF 扫描器 - 身份验证或授权绕过测试器 - 内存安全 fuzzer - 密钥泄露或提示词注入扫描器 - 正常运行时间或拒绝服务监视器 对于上述任何一项,请使用正确的工具:Semgrep、CodeQL、Burp、ZAP、AFL、ASan、OWASP LLM Top 10 工具、以及您的可观测性技术栈。 ## 1. 自闭环 红方 agent 发起攻击,一组独立的 oracle 进行验证,蓝环强化目标,平台对自身进行衡量——然后再次发起攻击。循环在此闭环并对每一轮进行评分。 ``` flowchart LR RED["RED
attack"]:::red --> VERIFY["VERIFY
independent oracles"]:::verify VERIFY --> HARDEN["HARDEN
blue loop"]:::harden HARDEN --> MEASURE["MEASURE
self-test"]:::measure MEASURE -. "re-attack · grade each pass" .-> RED classDef red fill:#7f2d2d,stroke:#c0584f,color:#ffffff,stroke-width:2px; classDef verify fill:#1f6b5c,stroke:#2fa589,color:#ffffff,stroke-width:2px; classDef harden fill:#3b3f8f,stroke:#6366f1,color:#ffffff,stroke-width:2px; classDef measure fill:#2f3b52,stroke:#94a3b8,color:#e2e8f0,stroke-width:2px; ``` AI 是两端的底层能力——对抗性搜索引擎和强化引擎——而不是附加品。对目标的 oracle 访问是循环内的一等工具。 ## 2. 系统拓扑(四大支柱) 轻量级的 adapter 包装每个被测系统,因此当目标改变时核心永远不会改变——一个核心,三个 adapter。目标在没有通往验证工件路径的情况下运行;这种独立性是其他一切赖以生存的基础。 ``` flowchart LR SPEC["Sealed Spec
source of truth"]:::spec RED["Red Agent
LLM adversarial search"]:::red TARGET["Target + Producer Sandbox
fraud · code · research"]:::tgt ORACLES["4 Independent Oracles
+ LLM judge"]:::ora CAT["Strategy Catalog
persistent memory"]:::red BLUE["Blue Loop
auto-harden + retrain"]:::blue MEAS["Measure
dashboard · traces · benchmark"]:::meas RED -->|"query_target / submit"| TARGET TARGET -->|"output only"| ORACLES SPEC -->|"derives"| ORACLES ORACLES -. "verdict + audit trace" .-> RED ORACLES -->|"undetected hacks"| CAT CAT --> BLUE BLUE -. "retrain" .-> TARGET ORACLES -->|"recall · ASR · val-vs-heldout gap"| MEAS classDef spec fill:#3a2f5c,stroke:#8b7fd4,color:#ede9fe,stroke-width:2px; classDef red fill:#7f2d2d,stroke:#c0584f,color:#ffffff,stroke-width:2px; classDef tgt fill:#1a2236,stroke:#475569,color:#e2e8f0,stroke-width:2px; classDef ora fill:#1f6b5c,stroke:#2fa589,color:#ffffff,stroke-width:2px; classDef blue fill:#3b3f8f,stroke:#6366f1,color:#ffffff,stroke-width:2px; classDef meas fill:#2f3b52,stroke:#94a3b8,color:#e2e8f0,stroke-width:2px; ``` 虚线边缘是反馈:判定返回给红方 agent,重新训练返回给目标。相同的核心通过轻量级 adapter 运行在欺诈模型、代码生成 agent 和多步研究 agent 上。 ## 3. 支柱 1 — 目标与独立 oracle 三个 adapter 将被测系统包装在一个统一接口后,并在*生产者沙盒*(一个隔离的盒子,被测系统可以在其中产生输出,但无法访问用于评分的答案键)中运行它们。密封的 spec 派生出四个 *oracle*(自行决定输出是否正确的独立检查;该术语来自软件测试,其中“测试 oracle”是知道正确答案的组件),每个都以不同的方式失败,外加一个 *LLM judge*(被询问其意见的大型语言模型,这就是为什么它只能获得一票的原因),它们聚合成一个*判定*(对产生的一项输出的通过与失败裁决)以及一条审计追踪。 ``` flowchart LR subgraph ADAPT["Adapter layer · one core, three adapters"] direction TB FA["Fraud adapter
LightGBM · swap AE / GMM / DAGMM"]:::a CA["Code-agent adapter"]:::a RA["Research-agent adapter"]:::a end IFACE["Uniform interface
query_target() · submit()"]:::i SBX["Producer sandbox
no path to artifacts"]:::s SPEC["Sealed spec"]:::spec subgraph ORACLES["Four independent oracles + judge"] direction TB O1["Held-out tests
made after submit, never shown"]:::o O2["Metamorphic relations
no reference answer"]:::o O3["Differential oracle
2nd impl, diff family, must agree"]:::o O4["Property-based fuzzing
invariants"]:::o OJ["LLM judge
one vote, not the authority"]:::j end AGG["Verdict + audit trace"]:::agg FA --> IFACE CA --> IFACE RA --> IFACE IFACE --> SBX SBX -->|"output only"| ORACLES SPEC -->|"derives, never from submission"| ORACLES O1 --> AGG O2 --> AGG O3 --> AGG O4 --> AGG OJ --> AGG classDef a fill:#1a2236,stroke:#475569,color:#e2e8f0; classDef i fill:#243049,stroke:#64748b,color:#e2e8f0; classDef s fill:#3a2a2a,stroke:#a35d5d,color:#f1e2e2; classDef spec fill:#3a2f5c,stroke:#8b7fd4,color:#ede9fe,stroke-width:2px; classDef o fill:#1f6b5c,stroke:#2fa589,color:#ffffff; classDef j fill:#155e63,stroke:#3aa6ad,color:#e6fffb; classDef agg fill:#2f3b52,stroke:#94a3b8,color:#e2e8f0,stroke-width:2px; ``` 每个 oracle 都以不同的方式失败,因此躲过一个 oracle 的 hack 会被另一个捕获。judge 与任何其他检查一样受到衡量,绝不会被信任为唯一权威。 ## 4. 支柱 2 — 红方:对抗性搜索引擎 LLM 推理*工件*(目标产生的任何东西:欺诈分数、代码片段、研究答案)被捕获的原因,提出最小化的保留意图的更改,向目标查询*分数*(目标对候选输入的自有评分,例如其欺诈概率),并向规避方向迭代。策略目录存储跨运行的获胜战术;白盒模式移交完整方案以衡量召回率;当约束满足困难时,混合回退将运行受约束的数值搜索。 ``` flowchart LR IN["Flagged case /
artifact"]:::n REASON["Reason
why was I caught?"]:::r PROP["Propose minimal change
preserve intent + constraints"]:::r QT["query_target()"]:::q OUT["Evasion +
attack-success-rate"]:::out CAT["Strategy catalog
persistent MCP-style memory"]:::mem WB["White-box mode
full scheme revealed"]:::wb HYB["Hybrid fallback
constrained numeric search"]:::hyb IN --> REASON --> PROP --> QT QT -. "score · iterate" .-> REASON QT --> OUT CAT -. "reuse tactics" .-> PROP OUT -. "distill wins" .-> CAT WB -. "stress test" .-> REASON PROP -. "when constraints hard" .-> HYB HYB -. "executes" .-> QT classDef n fill:#1a2236,stroke:#475569,color:#e2e8f0; classDef r fill:#7f2d2d,stroke:#c0584f,color:#ffffff; classDef q fill:#243049,stroke:#6366f1,color:#e2e8f0; classDef out fill:#5c3a1a,stroke:#d08a3e,color:#fff2e0,stroke-width:2px; classDef mem fill:#3a2f5c,stroke:#8b7fd4,color:#ede9fe; classDef wb fill:#5c1f1f,stroke:#e06a6a,color:#ffe2e2; classDef hyb fill:#243049,stroke:#64748b,color:#e2e8f0; ``` LLM 的语义推理取代梯度作为搜索引擎,这是将本设计与标准对抗性 ML pipeline 区分开来的设计哲学。获胜的策略在多次运行中持久化并不断叠加。 ## 5. 支柱 3 — 蓝方:自动化强化 第二个 LLM 阅读策略目录,并提出新特征、对抗性训练样本或专家集成。目标在留出攻击集上进行重新训练和重新评估,因此恢复的检测率是真实的。 ``` flowchart LR CAT["Strategy catalog
discovered attacks"]:::mem LLM["Blue LLM
reads tactics"]:::b subgraph PATCH["Proposes a patch"] direction TB F["New features"]:::p S["Adversarial training samples"]:::p E["Specialist ensemble"]:::p end RETRAIN["Retrain target"]:::t HELD["Re-evaluate on
HELD-OUT attacks"]:::h OUT["Detection rate recovers
generalization measured"]:::out CAT --> LLM --> PATCH F --> RETRAIN S --> RETRAIN E --> RETRAIN RETRAIN --> HELD --> OUT classDef mem fill:#3a2f5c,stroke:#8b7fd4,color:#ede9fe; classDef b fill:#3b3f8f,stroke:#6366f1,color:#ffffff,stroke-width:2px; classDef p fill:#243049,stroke:#64748b,color:#e2e8f0; classDef t fill:#1a2236,stroke:#475569,color:#e2e8f0; classDef h fill:#1f6b5c,stroke:#2fa589,color:#ffffff; classDef out fill:#1f5c3a,stroke:#34d399,color:#e0ffe9,stroke-width:2px; ``` 漏洞在留出攻击集(而**不是**用于构建补丁的攻击)上被验证已闭合,这条规则阻止了蓝环对已知攻击产生过拟合。 ## 6. 支柱 4 — 衡量:自测、可观测性与基准测试 Agent 步骤追踪和每一次判定都输入到一个诚实的仪表板、协同进化曲线以及每次判定的审计追踪中。这些将导出植入式 hack 语料库、排行榜和 SR 11-7 风格的模型风险报告(SR 11-7 是美国联邦储备委员会关于模型风险管理的指南,是记录模型风险的标准格式),并且在验证器召回率越过残余红线时停止认证。 ``` flowchart LR TRACE["Agent step traces
+ every verdict"]:::in DASH["Honest dashboard
undetected-hack · val-vs-heldout gap
recall · cost/hack · human-min/1k"]:::dash CURVE["Curves
ASR · detection · red↔blue co-evolution"]:::curve AUDIT["Audit trace per verdict
check fired · obligation · 1-click replay"]:::audit ART["Artifacts
seeded corpus · leaderboard · SR 11-7 report"]:::art HALT["Halt certification
recall past residual red line"]:::halt TRACE --> DASH TRACE --> CURVE TRACE --> AUDIT DASH --> HALT DASH --> ART CURVE --> ART AUDIT --> ART classDef in fill:#1a2236,stroke:#475569,color:#e2e8f0; classDef dash fill:#2f3b52,stroke:#94a3b8,color:#e2e8f0,stroke-width:2px; classDef curve fill:#243049,stroke:#6366f1,color:#e2e8f0; classDef audit fill:#243049,stroke:#64748b,color:#e2e8f0; classDef art fill:#1f5c3a,stroke:#34d399,color:#e0ffe9,stroke-width:2px; classDef halt fill:#5c1f1f,stroke:#e06a6a,color:#ffe2e2,stroke-width:2px; ``` 标题数字是验证通过率和留出通过率之间的差距,即生产者学会利用的代理奖励减去真实事实。当召回率降至红线以下时,平台将停止认证。 ## 7. 信任边界与 spec 密封(核心押注) 最困难的部分,也是该项目值得尝试的原因,是在面对白盒对手时依然有效的独立 oracle 生成。如果 oracle 在生产者知晓方案的情况下依然成立,那么捕获率就是真实的。 ``` flowchart LR RED["Red Agent
adversarial search"]:::red subgraph PROD["PRODUCER ZONE · sandboxed"] direction TB TARGET["Target under test
fraud · code · research"]:::tgt end subgraph SEAL["SEALED VERIFICATION ZONE · no producer path in"] direction TB SPEC["Sealed Spec
source of truth"]:::spec OR["4 Independent Oracles
held-out · metamorphic · differential · fuzz
+ LLM judge = one vote"]:::ora SPEC -->|"derives, never from submission"| OR end RED -->|"submit / query_target()"| TARGET TARGET -->|"output only"| OR OR -. "score / verdict only" .-> RED RED == "WHITE-BOX: scheme revealed, instances still hidden" ==> SEAL classDef red fill:#7f2d2d,stroke:#c0584f,color:#ffffff,stroke-width:2px; classDef tgt fill:#1a2236,stroke:#475569,color:#e2e8f0,stroke-width:2px; classDef spec fill:#3a2f5c,stroke:#8b7fd4,color:#ede9fe,stroke-width:2px; classDef ora fill:#1f6b5c,stroke:#2fa589,color:#ffffff,stroke-width:2px; ``` - **生产者可以看到:** 其自身的输入、自身的输出、`query_target()` 分数。 - **生产者无法看到:** 留出的测试实例、差异化的第二套实现,或任何 oracle 内部结构。 - **白盒模式**揭示的是*方案*,而不是实例——将“我们能抓住作弊”转化为一个可衡量的召回率数字。 ## 8. 数据流 — 端到端完整流程 ``` sequenceDiagram autonumber participant RED as Red Agent participant TGT as Target · sandbox participant ORA as Oracles · 4 + judge participant CAT as Strategy Catalog participant BLUE as Blue Loop participant MEAS as Measure RED->>TGT: submit / query_target() TGT-->>RED: score Note over RED: reason about why caught,
propose minimal-change evasion RED->>TGT: submit evasion TGT->>ORA: output only (sealed from spec) Note over ORA: held-out · metamorphic ·
differential · fuzz · judge vote ORA-->>RED: verdict + audit trace alt undetected hack gets through ORA->>CAT: log successful evasion CAT->>BLUE: read distilled tactics BLUE->>TGT: features / adv. samples / ensemble, retrain BLUE->>ORA: re-evaluate on HELD-OUT attacks end ORA->>MEAS: recall · ASR · detection · val-vs-heldout gap Note over MEAS: curves · benchmark export ·
halt-cert vs red line RED->>TGT: white-box re-attack (knows the scheme) Note over RED,MEAS: loop closes — each pass graded ``` 补丁始终在留出攻击集上进行验证,从不在用于构建补丁的攻击上验证——这使得恢复的检测率能够保持诚实。 ## 决策 使用 LLM 的语义推理代替梯度作为搜索引擎,与标准的对抗性 ML pipeline 有着截然不同的设计哲学。 | 决策 | 我们的选择 | 考虑过的替代方案 | 原因 | |---|---|---|---| | **搜索引擎** | LLM 语义推理 | 基于梯度的对抗攻击 | 梯度会产生非法或无意义的样本(负数金额、不可能的时间戳、违反业务规则),这些样本不具有可操作性。 | | **验证** | 四个 oracle 的不串通集成 | 单个 LLM judge,或固定的测试套件 | 固定套件是生产者学会去通过的东西;LLM judge 与生产者有共同的盲点。 | | **留出测试** | 提交后生成,从不暴露 | 静态的留出集 | 静态集会随时间泄露并变得可被博弈。 | | **差异化 oracle** | 来自不同模型家族的第二套实现 | 同一家族的第二个模型 | 同一家族共享盲点,破坏了交叉检查。 | | **目标耦合** | 轻量级 adapter,一个共享核心 | 针对每个目标重写核心 | 保持平台与目标无关:一个核心,三个 adapter。 | | **捕获率声明** | 白盒对手自测 | 断言捕获率 | 将声明转化为面对知晓方案的对手时的可衡量召回率数字。 | | **硬约束** | 混合:LLM 提议,受约束的搜索执行 | 纯 LLM 搜索 | 当约束满足失败时能优雅降级。 | | **补丁验证** | 预先定义的留出攻击集 | 用于构建补丁的攻击 | 防止蓝环对已知攻击过拟合。 | | **停止规则** | 在残余红线处暂停认证 | 无论残余风险如何都发布 | 秉承负责任扩展政策精神的能力阈值门控。 | ## 权衡(诚实的局限) 深层局限尚未解决。对于每一个局限,Crucible 都通过具体的机制缩小差距,将残余风险报告为数字,并在残余风险越过红线时暂停认证。 - **单循环 LLM 成本和延迟** — *接受:* 缓存、批处理、在内循环运行小模型。*痛点:* 规模化下的多次协同进化轮次。 - **spec 是意图的代理** — *接受:* 持续报告验证器召回率,在红线处暂停。*痛点:* 存在未知的作弊类别,随着生产者超越验证器,监督能力会下降。 - **Oracle 可能共享盲点** — *接受:* 四种机制以不同方式失败,且白盒对手会因为发现共同差距而受到奖励。*痛点:* 四种机制在未预料到的类别上产生关联。 - **蓝环过拟合或不收敛** — *接受:* 在预先定义的留出攻击集上衡量泛化能力。*痛点:* 留出集不具代表性。 - **自欺欺人的评估** — *接受:* 在第一天冻结评估协议。*痛点:* 冻结的协议本身带有缺陷。 - **约束满足失败** — *接受:* 降级为混合模式(LLM 提议,受约束的搜索进行数值执行)。*痛点:* 即使是受约束的搜索也无法找到有效样本的领域。 ## 前沿实验室安全映射 逐个组件来看,Crucible 是 Anthropic 发布的技术安全研究方向清单相关问题的有效测试平台。 | Crucible 机制 | 其所体现的具名开放问题 | |---|---| | 验证与留出通过率的差距 | 在**系统性、可利用的监督错误**下的可扩展监督:代理奖励减去生产者可以学会利用的真实事实。 | | 密封 spec 上的不串通 oracle 集成 | **AI 控制**:减少行动者与监控者的串通;行动者无法颠覆或看到的受信任屏障。 | | 跨家族差异化 oracle | **两个模型之间的异常检测**:标记来自不同家族的第二套实现产生分歧的输入。 | | 蓝环 / 快速响应补丁 | 对已发现攻击做出响应的**自适应防御**,而非静态的部署前强化。 | | 导出的植入式 hack 语料库和排行榜 | 寿命长于本次演示的、用于对抗鲁棒性的**真实差异化基准**。 | | 每次判定的审计与推理追踪 | 用于事后审查的可审计、忠实的**外部化推理**。 | | 在残余红线处暂停认证 | 秉承**负责任扩展政策**精神的能力阈值门控。 | ## 范围 — 两周内交付的内容 **核心,已承诺(诚实的最低限度):** - 最小化的 spec 密封,以及没有通往验证工件路径的生产者沙盒。 - 四个独立 oracle 在一个真实领域(代码)上并行运行,外加欺诈模型 adapter,以便红蓝循环演示具有视觉效果。 - 红方 agent 发现至少三种不同的规避或 reward-hack 策略,具有可衡量的攻击成功率,以及白盒对抗自测实时衡量召回率。 - 一轮蓝方强化显示检测率恢复。 - 衡量仪表板、审计追踪,以及作为可重用基准的植入式语料库和排行榜导出。 **延伸目标,如果核心目标提前完成:** - 时间序列异常检测目标(研究级路径)。 - 红蓝双方在 N 轮次上的协同进化,具有收敛或震荡曲线。 - 自动化 spec 编译器,将自由格式的任务转化为机器可检查的义务。 - 完整的验证器锦标赛:一个学习型路由器,为每种任务类型挑选最廉价的验证器,层次化分解,将辩论升级至人类裁决,以及实时的人类审查预算计量表。 ## 团队 — 四个可负责的模块 - **目标和 oracle:** adapter、spec 密封与沙盒、四 oracle 验证集成(包括表格和时间序列异常检测)。 - **红方 agent:** LLM 驱动的对抗搜索、策略目录、白盒对手、混合回退。 - **蓝环:** 自动化强化与重训练闭环。 - **衡量:** 追踪、攻击成功率与检测曲线、协同进化曲线、仪表板、导出的基准以及模型风险报告。 ## 参考文献 - Anthropic 对齐科学 — [技术 AI 安全研究方向建议](https://alignment.anthropic.com/2025/recommended-directions) - Anthropic — [负责任扩展政策](https://www.anthropic.com/responsible-scaling-policy) *Crucible · Gauntlet 毕业设计提案 · 结合了欺诈检测红蓝测试工具与自衡量验证平台。架构完全源自上传的提案。*
标签:AI安全, C2, Chat Copilot, DLL 劫持, 人工智能, 后端开发, 大模型评估, 大语言模型, 奖励黑客, 用户模式Hook绕过, 逆向工具