作者回顾了对 Apple M1 芯片中神经网络引擎(ANE)的逆向工程,并反思了随着 Apple 将类似 NPU 的功能整合进 GPU(如 M5)中,ANE 已逐渐过时。虽然 ANE 最初是为 CNN 的可预测数据流而优化的,但基于 Transformer 的大语言模型(LLM)的兴起,暴露了其硬件固定设计在架构上的局限性。
主要发现包括:
* **架构:** ANE 利用 16 个计算核心,拥有 2,048 个并行 MAC 通道,执行定点归约运算并输出 FP16 结果。它通过融合后的 MAC 后处理路径,避免了逐点激活函数的中间内存往返。
* **执行模型:** 驱动程序使用类似于 GPU 的不透明命令提交系统。硬件配置由“任务描述符”(Task Descriptors)处理,这些描述符本质上是 ANE 数据路径的串行寄存器转储,而非指令集架构(ISA)。
* **内存限制:** ANE 严格受限于内存带宽。由于内核和分块(tile)DMA 请求是串行而非并行执行的,该引擎无法达到 DRAM 的最大可用吞吐量。
最终,作者得出结论:由于刚性的内存层级结构和欠优的 DMA 控制器,ANE 从 CNN 效率向 Transformer 模型转型的过程受阻,这使其性能表现逊色于现代的 GPU 实现。
这篇博客文章提供了一份解决动画系统中“脚部滑动”问题的实用指南,将该问题定义为**速度保持**的挑战,而非纯粹的物理或摩擦力问题。
作者概述了几种提高动画质量的“方案”:
* **腿部链式解算(Leg Chain Solving):** 一种使用双骨骼反向动力学(IK)的方法,在保持原始姿态的同时将脚趾放置在目标位置。它包含软限制(soft-clamping)以防止过度伸展,并利用膝盖的侧向向量来避免使用极向量(pole vectors)。
* **运行时脚部锁定(Runtime Foot Locking):** 在接触状态下,利用三次惯性化(cubic inertialization)在原始动画和锁定的地面位置之间进行平滑过渡。
* **接触标注(Contact Annotation):** 一种启发式方法,通过速度阈值和平滑处理来识别何时应锁定脚部;并指出对于该过程,60Hz 的数据优于 30Hz。
* **离线修正(Offline Correction):** 一种基于位置的动力学方法,将动画视为粒子系统,将修正分散到整个剪辑中以最小化滑动。
**核心要点:** 重点锁定脚趾而非脚跟;将 IK 视为对现有动画的微小修改而非替换;优先保留原始运动——即使这意味着为了避免出现“恐龙式”(过度弯曲)的腿部姿态而允许轻微滑动。
该技术通过利用**内核密钥环子系统 (kernel keyring subsystem)**,而非 `memfd_create` 等传统方法,实现了 Linux 下的无文件 ELF 执行。
通过调用 `add_key` (系统调用 248),ELF 载荷以任意字节块的形式存储在内核 Slab 内存中,完全绕过了文件系统,且在 `/proc/self/fd/` 中不留任何痕迹。执行时,进程通过 `keyctl` 将载荷取回至匿名内存映射中,并立即调用 `KEYCTL_REVOKE` 释放内核 Slab 内存。
随后,加载器手动将 ELF 段映射到内存中,处理 BSS 段,根据 x86-64 ABI 设置栈,并直接跳转至入口点。由于该方法规避了 `execve` 和 `execveat`,因此不会触发典型的进程启动事件。尽管初始的加载器二进制文件仍会作为取证痕迹保留在磁盘上,但载荷本身从未被写入文件,这使其成为一种在内存中执行代码且不易被典型的 VFS 相关信号检测到的隐蔽手段。
Calif 近日公布了名为“WeWorm”的零点击漏洞,该漏洞展示了蠕虫病毒如何在无需用户交互的情况下,通过 iOS 和 Android 端的微信通话进行传播。通过利用微信 VoIP 协议栈中的内存损坏漏洞,攻击者可以劫持账户并利用其向受害者的联系人列表发起攻击,潜在威胁超过十亿台设备。
Calif 的研究突显了人工智能带来的日益增长的风险,借助 AI,团队仅用一周多时间就发现了该漏洞并开发出蠕虫程序,而这一过程以往需要数月时间。这种快速开发能力降低了低技术水平攻击者的门槛,加剧了普通用户的安全风险。
然而,Calif 强调人工智能同样是防御工具。通过利用 AI 发现并修补漏洞,“正义方”可以先于威胁采取行动。他们已成功向腾讯报告该漏洞,腾讯现已部署修复方案。Calif 目前正倡导各国政府与私营部门开展国际合作,利用 AI 实现主动防御,并持续研究其他即时通讯软件的漏洞,以帮助开发者强化平台安全。
随着 Google Pixel Fold 等折叠屏设备的日益普及,Web 开发者可以利用特定的 CSS 特性来打造自适应的用户体验。
为了针对折叠屏形态优化布局,开发者可以使用两个主要的媒体查询:用于“书本”模式(左右分屏)的 `horizontal-viewport-segments`,以及用于“笔记本”模式(上下堆叠)的 `vertical-viewport-segments`。这些查询允许应用检测屏幕是否跨越了铰链。
此外,CSS 环境变量(如 `env(viewport-segment-width <x> <y>)`)可以提供每个显示区域的精确几何数据。通过将这些变量与 CSS Grid 集成,开发者可以动态调整内容大小以填充特定屏幕,而无需为每种设备硬编码尺寸。
尽管 Microsoft Edge 目前对双屏的支持较为完善,但在 Chrome 中仍受到限制,需要开启实验性功能标志。虽然并非每个应用都需要折叠屏专用布局,但整合这些特性可以让开发者为数百万采用折叠屏技术的用户提供优质且具差异化的体验。通过使用数据驱动的洞察来评估用户硬件,设计师可以决定对双屏功能的投入是否符合其产品目标。