网易首页 > 网易号 > 正文 申请入驻

你的安全门禁全绿,却已经几周没拦过任何东西

0
分享至

你的钩子全绿,CI 徽章全绿,每次运行门禁都会打印一个判定结果。可它已经好几周没有真正保护过任何东西了。


这是本周读到的一份真实复盘:一道门禁在重构之后悄悄失去了判别能力——匹配器漂移了,钩子照样"运行",仪表盘照样打印判定。没人发现,因为整条流水线里没有任何环节去测量门禁到底有没有触发,只测量流水线有没有通过。

canarygate 就是为这个失效模式做的。它不测你的规则能不能挡住攻击,它测的是——线,到底接上了没有。

测的是活着,不是强度

可以把它想成带测试按钮的烟雾报警器。你按那个按钮,不是为了检查传感器能不能闻到烟,而是为了检查传感器有没有插上电。安全工具链上一直有同样的缺口:

  • deny-probe(另一个工具)问的是:"我的规则能挡住攻击吗?"它找的是绕过策略的路径。
  • canarygate 问的是:"线到底接上了吗?"它找的是看起来健康、但从不执行的门禁。

一条完美的拒绝规则,挂在一个死掉的钩子后面,什么都保护不了。两个检查都需要,而它们是两种不同的检查。

它怎么工作

canarygate 读取 settings.json 里的 hooks 段,对每一个(事件、匹配器、命令)三元组跑两项检查。

第一项是静态扫描:命令能不能解析出来——二进制在不在 PATH 上、脚本文件在不在?匹配器是不是合法正则?再加上轻量的脚本启发式判断:一个钩子脚本里如果任何地方都没有阻塞分支,就会被标记,因为它在结构上就不可能做出判别。

第二项是动态探针,这才是真正的证据。canarygate 合成两个事件——一个良性事件,一个在载荷里带着唯一 CANARYGATE-XXXX 毒丸标记的探针事件——把各自的 JSON 从 stdin 喂给真实的钩子命令执行(遵循 Claude Code 钩子协议:退出码 0 表示放行,2 表示拦截),然后比对两次判定。

每一个非绿结果都会附上具体证据和修复建议,因为一个没有下一步的红色判定只会制造焦虑。退出码对 CI 友好:0 表示全部存活,1 表示有门禁需要处理,2 表示致命错误。

跑起来看看

安装一行命令:pip install canarygate。然后指向你的配置文件运行,再拉一份存活报告。报告里会逐条列出每个钩子的状态和证据,比如某个钩子对良性事件和探针事件都返回了"放行",就会被标成 DEAD;某个匹配器写错了、根本匹配不上对应工具名,也会被标成 DEAD。

示例输出里,3 道门禁有 2 道需要处理,两道都属于"接上了但已死"。给出的修复建议也很具体:让钩子真正检查输入,在看到它存在的那个条件时执行拦截,然后重跑探针,直到探针被挡住;或者修正匹配器与事件注册,让探针事件真的能路由到这个钩子。

canarygate init 会搭出一个示例项目——一道活门禁、一道死门禁——你可以亲眼看着工具抓出一个、放行另一个。

它在工具链里的位置

agent-guard 是盾牌:实时监视智能体的那些钩子。deny-probe 测盾牌的强度:规则能不能挡住攻击。canarygate 审计的是盾牌架子本身:接线、匹配器,以及每个钩子是否还具备判别能力。

保护性基础设施和被保护的对象一样需要审计。一道悄悄失去判别能力的门禁,比没有门禁更糟——因为它还在打印判定,而你还信它。

代码在 GitHub 上,pip 可装,MIT 许可,只用标准库。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
万米高空乘客突发疾病,上海医生空地联动紧急施救

万米高空乘客突发疾病,上海医生空地联动紧急施救

澎湃新闻
2026-10-19 20:46:28
第三例跟腱撕裂!西蒙斯重伤赛季报销后续:将领到全额350万薪水

第三例跟腱撕裂!西蒙斯重伤赛季报销后续:将领到全额350万薪水

罗说NBA
2026-10-19 07:36:07
央行出利好了,防踩踏……

央行出利好了,防踩踏……

资本时差
2026-10-19 18:08:31
上海男篮13分大胜!拒绝被逆转,张镇麟大爆发,古德温14助攻

上海男篮13分大胜!拒绝被逆转,张镇麟大爆发,古德温14助攻

体坛瞎白话
2026-10-19 21:36:21
登顶RoboDojo智能体超过GPT-6 Astra:Manifold AI推出R²SI

登顶RoboDojo智能体超过GPT-6 Astra:Manifold AI推出R²SI

机器之心Pro
2026-10-18 18:12:46
证监会主席提风险!吴清:高度警惕境外挂钩A股个股的杠杆产品等新风险点|快讯

证监会主席提风险!吴清:高度警惕境外挂钩A股个股的杠杆产品等新风险点|快讯

华夏时报
2026-10-19 19:41:03
马斯克:明年将向美国每名儿童赠送一股SpaceX股票

马斯克:明年将向美国每名儿童赠送一股SpaceX股票

界面新闻
2026-10-19 15:58:40
又是形势一片大好!前三季度GDP增速4.6%,人均收入涨5.3%,你信不信?

又是形势一片大好!前三季度GDP增速4.6%,人均收入涨5.3%,你信不信?

六子吃凉粉
2026-10-19 15:46:14
王诗龄一幅桃子画进卢浮宫拍出145万,第二天就被扒了:展厅,花钱就能进

王诗龄一幅桃子画进卢浮宫拍出145万,第二天就被扒了:展厅,花钱就能进

黎兜兜
2026-10-19 14:06:47
Kling 4.0杀疯了!打戏拍出电影感,原生30秒直出大片

Kling 4.0杀疯了!打戏拍出电影感,原生30秒直出大片

机器之心Pro
2026-10-16 15:16:44
日本年轻人,开始“取消吃饭”

日本年轻人,开始“取消吃饭”

融资中国
2026-10-19 16:21:58
“超级买家+超级卖家”照见中国经济底气

“超级买家+超级卖家”照见中国经济底气

国际在线
2026-10-19 20:51:52
董宇辉直播卖大闸蟹翻车,连开两个都不达标,当场翻脸要求换商家

董宇辉直播卖大闸蟹翻车,连开两个都不达标,当场翻脸要求换商家

新游戏大妹子
2026-10-19 12:12:30
攻击新疆三文鱼,背后有个美国“职业黑子”

攻击新疆三文鱼,背后有个美国“职业黑子”

补壹刀
2026-10-19 09:53:09
整活了!爆火「闪身步」实时生成动漫版,VAST世界模型全面开源

整活了!爆火「闪身步」实时生成动漫版,VAST世界模型全面开源

机器之心Pro
2026-10-18 18:45:12
证监会新规直指违规减持乱象,减持比例超5%、金额超5亿将被重罚

证监会新规直指违规减持乱象,减持比例超5%、金额超5亿将被重罚

第一财经资讯
2026-10-19 19:26:44
商家称53万元直播合作成交3672.8元 交个朋友回应:未违约,愿补播协商

商家称53万元直播合作成交3672.8元 交个朋友回应:未违约,愿补播协商

封面新闻
2026-10-19 17:41:43
卡加了,吞吐为何没跟上?大模型推理中的等待,有了新解法

卡加了,吞吐为何没跟上?大模型推理中的等待,有了新解法

机器之心Pro
2026-10-16 11:40:11
世界模型能不能上桌?WorldOracle给出了一场真实大考

世界模型能不能上桌?WorldOracle给出了一场真实大考

机器之心Pro
2026-10-16 19:50:16
曝街霸新片有春丽大尺度裸露镜头!美乳翘臀一览无余

曝街霸新片有春丽大尺度裸露镜头!美乳翘臀一览无余

游民星空
2026-10-19 16:04:41
2026-10-19 21:51:00
摸鱼算法
摸鱼算法
致力于用最前沿的AI技术,换取更多发呆时间的三十岁青年。
233文章数 75关注度
往期回顾 全部

科技要闻

王晟:近千亿资金涌入后 具身智能开始退烧

头条要闻

女子随口一句"姐过得不太好" 8年前帮过的小伙飞来送钱

头条要闻

女子随口一句"姐过得不太好" 8年前帮过的小伙飞来送钱

体育要闻

从NBA退役10年后,他真去警局上班了

娱乐要闻

奚梦瑶回应重返维密:还是很开心的

财经要闻

黄奇帆之子往事:从广微系到魏桥的跳跃

汽车要闻

不知道二代海鸥多好玩? 上赛道跑两圈 很过瘾的

态度原创

艺术
教育
亲子
时尚
军事航空

艺术要闻

俄罗斯当代画家 叶夫根尼·戈洛洛博夫风景油画选

教育要闻

全国精神残疾高中在读仅 723 人:6 条容易被忽略的升学路径,很多家长都不知道

亲子要闻

工程车小故事:小车车受伤了

秋天衣服别穿全黑,看看这些卡其色的单品,简单大方又百搭

军事要闻

泽连斯基:若乌“被要求”举行战时选举 他将竞选连任

无障碍浏览 进入关怀版