给软件开发者准备的优质简报,每日阅读 10分钟


German implementation of eIDAS will require an Apple/Google account to function

520 pointsLinkComment(513)Share

德国国家EUDI钱包的移动设备漏洞管理

  • 目标与动机:为确保高保障等级电子身份认证(如PID)的安全,MDVM在运行期间持续监控用户设备硬件安全模块和操作系统的漏洞,防止高攻击潜力的攻击者利用已知漏洞破坏认证机制。当设备存在相关漏洞时,MDVM会阻止其使用受RWSCA/RWSCD保护的密钥,从而维持认证有效性。
  • 核心功能:MDVM提供四大核心功能:验证设备与钱包应用的安全态势与真实性;识别设备型号、操作系统版本、补丁级别及HKS类型;查询设备类别漏洞数据库以获取公开漏洞信息;基于安全与漏洞信息,决定是否阻止密钥使用或向依赖方提供认证确认。
  • Android平台信号收集:结合KeyAttestation和PlayIntegrity机制。KeyAttestation提供硬件强制的设备型号、OS版本、安全补丁和Verified Boot状态等信号。PlayIntegrity要求达到MEETS_STRONG_INTEGRITY级别(设备需在12个月内接收安全更新),并能识别已知恶意软件或自动化工具。两者均需结合LPADB应对泄露的密钥认证密钥风险。
  • iOS平台信号收集:依赖Secure Enclave生成的App Attest密钥进行证明和断言,以抵御重放攻击和应用重打包。但iOS不提供硬件级别的设备型号或操作系统版本信息,需在确保设备完整性后从操作系统查询,并依赖RASP作为补充安全措施。
  • RASP(运行时应用自保护):作为独立于平台的检测框架,在应用运行时持续动态监控。其核心检测能力包括:应用Hook/调试检测、应用重打包与篡改检测、用户设备Rooting/Jailbreak检测以及设备模拟器检测。在Android环境中,RASP的Root检测尤为重要,可应对使用泄露密钥模拟锁定引导设备的攻击。

How many products does Microsoft have named 'Copilot'?

777 pointsLinkComment(364)Share

微软"Copilot"产品数量之谜:至少80款,从应用到键盘按键无所不包

  • 微软目前至少有80款以"Copilot"命名的产品,涵盖应用程序、功能特性、平台服务、键盘按键、笔记本电脑产品线等多个品类,甚至还有一款专门用于构建更多Copilot的工具
  • 作者最初试图向他人解释"微软Copilot是什么",却发现自己无法回答这个简单的问题——因为"Copilot"这个名字现已指代至少75款不同产品
  • 为寻找完整清单,作者查阅了产品页面、发布公告和营销材料,发现没有任何单一来源能提供全部信息,连微软官网和文档都未能涵盖
  • 作者制作了一张交互式可视化图表,按类别对所有Copilot产品进行分组,并用连线展示它们之间的关联关系
  • 文章发布后经读者补充,新增了Gaming Copilot和Microsoft Dragon Copilot两款遗漏产品,总数从75款更新至80款

Caveman: Why use many token when few token do trick

548 pointsLinkComment(272)Share

caveman:让AI"退化"成原始人说话,节省75%令牌

  • 这是一个Claude Code技能/插件和Codex插件,通过强制AI采用极简的"原始人说话风格",削减约75%的输出令牌(基准测试平均从1214个降至294个),同时完整保留技术准确性
  • 工作原理是删除填充词、客套话和委婉语(如"I'd be happy to help"、"The reason is because"),但保留代码块、技术术语和精确的错误信息
  • 使用方式:输入/caveman$caveman或"talk like caveman"即可激活,输入"stop caveman"恢复正常模式
  • 安装简便:npx skills add JuliusBrussee/caveman或通过Claude插件系统、Codex插件管理器搜索安装
  • 有科学支撑:2026年3月论文《Brevity Constraints Reverse Performance Hierarchies》指出,限制模型回复简洁度在某些基准上将准确率提高26个百分点
  • 该项目获1.2k星标、28个fork,采用MIT许可证,Python编写

Claude Code Found a Linux Vulnerability Hidden for 23 Years

410 pointsLinkComment(257)Share

Claude Code 发现 Linux 内核中隐藏长达 23 年的漏洞

  • Anthropic 研究员 Nicholas Carlini 使用 Claude Code 发现了多个 Linux 内核中可远程利用的安全漏洞,其中之一在代码中存在了 23 年之久。
  • 该漏洞位于 NFS 驱动程序中,攻击者可通过两个客户端协作,利用缓冲区溢出覆盖内核内存,漏洞核心在于一个仅 112 字节的缓冲区被用来写入长达 1056 字节的拒绝信息。
  • Carlini 仅使用一个简单的脚本,让 Claude Code 扮演网络安全竞赛参与者,遍历内核源码文件来寻找漏洞,几乎无需人工干预。
  • 该漏洞早在 2003 年就已引入,早于 Git 的发布,并且 Claude Code 在初始报告中还自动生成了描述攻击过程的 ASCII 协议图表。
  • Carlini 已验证并报告了 5 个漏洞,但仍有数百个潜在漏洞因人工验证瓶颈而无法上报;使用新版 Claude Opus 4.6 的发现效率远超旧模型,预示着 AI 驱动的漏洞发现浪潮即将到来。

Eight years of wanting, three months of building with AI

400 pointsLinkComment(125)Share

八年构想与AI辅助实践:syntaqlite 开发复盘

  • 项目背景与动机:作者在 Google 维护基于 SQLite 的 PerfettoSQL 查询语言(约 10 万行代码),深感现有 SQLite 开发工具(格式化器、解析器、编辑器扩展)既不可靠也太慢,缺乏灵活的可扩展性;与此同时,SQLite 本身无正式语法规范、无稳定解析器 API,其核心实现甚至不构建语法树,只能从极其密集的 C 源码中手工提取——这对个人项目来说既困难又枯燥,是作者长期搁置该想法的核心原因。
  • 开发历程的教训:2025 年底,作者首先尝试完全依赖 Claude Code 进行"氛围编码"(vibe-coding),约一个月内快速生成包含 500+ 测试的原型,但代码最终沦为无人能理解的"意大利面条",被完全废弃;随后改用 Rust 重写,亲自把控架构设计和每个决策,将 AI 仅用作"增强版自动补全"和重构工具,最终三个月内完成从解析器到编辑器扩展的完整发布。
  • AI 的核心助力:AI 能将抽象的长期规划转化为可操作的原型,从而克服启动惯性;在清晰可分解的编码任务和大规模重构中效率远超人工;充当高效的"教学助理",使作者在一小时内掌握原本需要数天学习的 VS Code 扩展 API;还将文档网站、多平台打包等传统会被放弃的"长尾"功能变得经济可行,显著提升了最终产品的完整度。
  • AI 带来的隐性代价:使用过程易形成类似赌博的成瘾循环,疲惫时更难摆脱;过度委托导致对代码库细节失去掌控,进而引发沟通失效;低廉的重构成本诱使推迟关键设计决策,反而腐蚀架构清晰度;最重要的是,AI 缺乏对项目历史、上下文演化和"品味"的理解——无法感知为什么某个 API 曾经被推翻、用户会如何感受某个设计,因此会重复历史上的错误或在全新陷阱中挣扎。
  • 适用边界的核心洞见:作者借用物理学术语指出,代码在"函数或类"级别通常有明确答案,AI 表现优异;但当所有局部正确的组件交互时,架构会像时空一样弯曲,无法通过拼接局部最优解获得全局最优效果——这正是 AI 在公共 API 设计和整体架构上表现糟糕的根本原因;有效使用 AI 的关键在于始终清醒地识别当前任务在"专业深度"和"结果可验证性"两个维度上的位置,并在完全未知的设计问题上敢于绕开 AI 独立思考。

Lisette a little language inspired by Rust that compiles to Go

225 pointsLinkComment(119)Share

Lisette — Rust 语法、Go 运行时的轻量级编程语言

  • Lisette 由 Rust 激发灵感,安装命令为 cargo install lisette,核心特性包括代数数据类型、模式匹配、Hindley-Milner 类型系统、默认不可变,编译输出为可读的 Go 代码
  • 编译期安全检查严格全面:match 语句必须穷尽覆盖所有枚举值、全面禁止 nil(强制使用 Option 表示缺失值)、Result 未处理会警告、可变参数误传检测、结构体构造时必须初始化所有字段
  • 与 Go 生态深度互操作,提供管道操作符 |>、Channel 与 task 并发语法、select 多通道选择、try 块语法糖、defer 延迟执行及 recover 异常恢复机制
  • 支持接口与泛型约束(<T: Metric>)、if let/let else 条件解构、lambda 表达式 |_| ...、链式调用 .filter().map(),以及 JSON/验证标签等结构体属性注解如 #[json(omitempty)]#[tag("validate", "required")]
  • 编译输出透明可读,模式匹配转换为 if-Tag 判断分支、错误处理展开为显式 if 检查并返回 Err 值,便于理解和调试生成的 Go 代码
  • 支持 VSCode、Neovim、Zed 编辑器的 LSP 扩展,采用 MIT 许可证,由 Iván Ovejero 开发维护
← 2026-04-04 2026-04-05 ...