Show HN: Noisegate – 一种针对不可信AI代理的差分隐私网关
给一个AI代理查询敏感数据的权限,并提供数学保证,确保没有任何个人记录可以泄露——即使代理错误、被操控或敌对也是如此。录制的Claude桌面会议(回复已修剪;图表卡片为该会议本身)。一个AI代理根据诊断对20名患者进行分类,±12的噪声淹没了每个类别。提醒它无法关闭噪声后,耗尽三个答案的预算,直到网关返回拒绝而不是更安静的答案。在32,561行的人口普查数据中,一个过于狭窄的切片在可信边界被拒绝,而全面的教育分解在规模上干净返回。拒绝和拒绝是真正的实时网关强制执行,由python脚本/render_demo_gif.py重现。从Claude桌面使用它。 一目了然 有效的攻击,而不是声明。三个经典的隐私攻击(差分攻击、成员推断、通过重新识别单独标识)针对系统自身引擎进行运行。每个攻击在隐私关闭时成功,在隐私开启时失败,并在CI中进行回归测试,以确保防御不会悄悄衰退。 独立验证的数学。手工编写的噪声机制在所有35个噪声规模检查中与OpenDP(行业参考实现)匹配到1e-9以内,500,000样本分布测试通过了正控制,证明测试可能会失败。更好的会计带来3倍的效用。混合zCDP组合允许308个查询,而天真的预算计算在100停止:相同的隐私保证,三倍的问题。为AI代理构建。作为Claude桌面的MCP服务器运行。连接的代理在设计上是不可信的,每个隐私属性在其下强制执行。一个小而确定的信任边界。LLM提出查询;一个无聊且经过全面测试的验证层处理。模型输出的任何内容都无法扩大其自身的权威。技术栈:Python · DuckDB · FastAPI · Streamlit · MCP SDK · Docker · GitHub Actions,CI中有250多个测试套件。 五分钟内评估:观看GIF,然后浏览攻击画廊。 深入审查:DESIGN.md。您用简单的英语对敏感数据集提出问题。LLM将每个问题编译成小而受限的查询;一个差分隐私引擎在跟踪的隐私预算下执行并返回一个故意嘈杂的答案,带有明确的置信区间。这个名字恰如其分。像它的音频同名一样,网关将每个信号保持在设定阈值以下的噪声底线:任何一个人的贡献被淹没,而人口规模的信号几乎未受影响。无论问什么或如何巧妙地措辞,都无法从答案中重建任何个人记录。有趣的部分不是LLM能写查询,而是隐私保证不依赖于LLM的可信性。模型是提出查询的便利;它什么都不强制。每个隐私属性都是在下游由组件强制执行的,这些组件如果由人手输入查询也会以相同方式行为。这是您对任何不可信输入应用于生产系统的信任边界纪律,在这里应用于AI代理。 头条新闻:攻击画廊 任何人都可以声称隐私。该库提供了可以破坏这一声明的漏洞,并在其自身引擎上运行这些漏洞,固定结果在CI中。了解网关保证的最快方式是观看它击败破坏天真“查询数据库”系统的三个经典攻击。攻击1——差分攻击 差分攻击通过询问两个仅在于该人不同的聚合问题来孤立一个人。查询A:“部门X中所有100人的总收入。” → $7,240,000 查询B:“部门X中除Alice以外的所有人的总收入。” → $7,135,000 攻击者计算:A − B = $105,000 ← Alice的确切薪水,被泄露。两个查询“只是聚合”。都没有指定单独的一行。然而,结合在一起暴露了一个个人。画廊(attacks/differencing.py)显示此攻击在隐私禁用时成功:目标的私人值被完全恢复。(上面的薪水示例仅为说明;在真实的UCI成人数据中,“Alice”是她所在组最大资本收益的唯一持有者。)然后显示当启用差分隐私后同一攻击被击败:每个答案的校准噪声使减法无用,预算会计师为跨两个查询释放的信息收费,而不是将其视为独立。攻击2——成员推断 成员推断攻击确定特定个人是否确实在数据集中。对于许多数据集(医学研究、违约者名单),这一事实本身就是敏感的。只有查询访问的攻击者试图决定:“这个确切的人是否在数据中?”画廊在一系列隐私预算(ε——用来权衡答案准确性与隐私的旋钮)上运行此攻击,并绘制结果:一个最优的(Neyman–Pearson)攻击者决定一个人的成员资格。
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡