## 针对性随机测试发现安全漏洞 最近一案例表明,基于属性的测试 (PBT) 发现了一段由人工智能为聊天应用程序的 API 密钥存储系统生成的代码中一个微妙的安全缺陷。尽管实现看似稳健,并且通过了传统的单元测试,但 PBT 揭示了一个与 JavaScript 原型相关的漏洞。 团队使用了规范驱动开发 (SDD),定义了一个“往返”属性:保存并检索 API 密钥应该返回原始值。在测试期间,PBT 随机生成输入字符串,并在第 75 次迭代时,当使用 "__proto__" 作为提供者名称时失败。这暴露了一个潜在问题,恶意输入可能会操纵对象原型,但由于当前代码的限制,目前尚不可利用。 修复措施包括实施防御措施:使用 `Object.create(null)` 进行安全存储(移除原型链)并验证检索。这突出了 PBT 在系统地探索输入空间和发现人类直觉和传统测试遗漏的边缘情况方面的优势。 这个例子强调了自动化测试的重要性,即使对于人工智能生成的代码,也要主动识别和解决潜在的安全风险,然后再进行部署。PBT 提供可执行的规范、紧密的反馈循环以及对常见错误模式的机构知识,最终带来更健壮和安全的软件。
## HP Zbook G1a (AI Max+ 395) – 性能总结
使用一个月后,HP Zbook G1a (128GB 内存) 证明了其作为移动工作站的强大竞争力,尤其是在矩阵运算和 FDTD 模拟等内存密集型任务中。AI Max+ 395 APU 在满载时(CPU 或 GPU)初始功耗约为 80W,随后稳定在约 70W,并略微降低时钟频率后降至约 45W。
在 FDTD 计算中——一种受内存带宽限制的工作负载——Zbook 凭借其快速的 256 位 LPDDR5x 8000 MHz 内存,实现了与高端 Threadripper 工作站 80% 的性能。运行本地 LLM (Phi4 推理加 Q8),上下文窗口为 24k,展现了超过 80% 的峰值内存带宽(约 205 GB/s),甚至成功加载了 70B 模型,仅使用了 32GB 专用 GPU 内存。COMSOL 基准测试显示了具有竞争力的性能,峰值读取带宽约为 72GB/s。
然而,Windows 电源管理目前限制了对所有 16 个线程的充分利用;第二个 CPU CCD 除非完全加载,否则将保持非激活状态,需要像 Process Lasso 这样的解决方法。BIOS 中缺少 SMT 禁用选项是这款工作站级设备的一个显著遗漏。
经过多年的努力,为庆祝《Commander Keen 1-3》游戏35周年,其完整源代码已公开发布。这包括从最早的1990年beta版本到鲜为人知的1.34版本,允许使用原始编译器(Turbo C++ 1.00/1.01和Turbo Assembler)创建逐位相同的可执行文件。
重建工作充满挑战,主要原因是需要特定的编译器版本。一个关键的障碍是精确地排列BSS段中的未初始化变量,这需要使用策略性命名的变量来影响编译器的输出。
有趣的是,此次发布揭示了《Keen》团队重用了他们之前在Softdisk公司的工作代码,特别是《The Catacomb》和《Hovertank》中发现的例程,这可能导致版权问题。证据表明,《Dangerous Dave》的代码也被利用。
现在,源代码可供爱好者探索和修改,为这款经典DOS游戏的起源提供了一个引人入胜的视角。
## Rust 在 Linux 内核中:实验宣告成功
最近在 2025 年维护者峰会上确认,Rust 已成功集成到 Linux 内核中,最初作为一项实验引入。数百万设备现在已搭载使用 Rust 编写的内核代码,尤其是在 Android 16 中的 ashmem 模块。采用正在迅速增长——过去一年 Rust 代码量增加了五倍,Debian 现在已将其包含在内核构建中。
人们正在努力推进基于 GCC 的 Rust 编译 (gccrs),旨在进一步简化开发。内核计划跟踪与 Debian 稳定版本绑定的 Rust 版本,目前目标是 1.85。
开发人员一致认为,是时候取消“实验”标签了,理由是安全性提高以及新开发人员和维护人员的涌入。虽然对所有架构的支持尚未普及(s390 和 PowerPC 仍在进行中),但 x86、Arm 和 RISC-V 等核心架构都得到了良好支持。DRM 子系统甚至预计在一年内将要求新驱动程序使用 Rust。
Linus Torvalds 和 Greg Kroah-Hartman 倡导结束实验阶段,强调了编译器支持以及 Rust 代码中没有关键漏洞(CVE)。该项目的成功也激励了增加文档编写的努力。