为 Emacs 中的 Common Lisp 和 Elisp 提供语义语法高亮,基于全局 Lisp 环境的信息。加载 lisp-semantic-hl.el,然后在 emacs-lisp-mode 或 lisp-mode 下启用 lisp-semantic-hl minor mode。使用 MELPA 的示例配置:(use-package lisp-semantic-hl :ensure t :hook ((emacs-lisp-mode lisp-mode) . lisp-semantic-hl-mode)) 移植自我们自己开发的 LispWorks 插件,最初名为 "colourful"。Lem 的类似功能可以在这里找到作为参考。感谢我们的姐妹 Simone,以及深爱并支持我们的 misaka18931。支持神经多样性、跨性别和复数身份!🏳️🌈🏳️⚧️
## 现金与自动取款机出人意料的自动化历史
电子支付取代现金的趋势往往忽略了一个关键的讽刺:现金本身与自动化有着密切的联系。从银行业早期开始,高效且安全地管理现金就推动了技术创新。最初,银行依赖劳动密集型记账,但全国性交易的兴起需要更快的解决方案。这促成了诸如穿孔卡系统以及关键的自动支票处理系统的发展,后者催生了今天支票上仍然使用的MICR码。
IBM在自动取款机的开发中扮演了关键但最终未成功的角色。虽然不是第一个,但他们的2984型号引入了关键的安全功能,如PIN加密(导致广泛使用的“3624算法”),并确立了我们今天所认识到的基本自动取款机功能。尽管最初取得成功,但IBM后来的自动取款机型号由于兼容性问题以及来自提供更灵活、可互操作解决方案的制造商的竞争而失势。
最终,IBM的遗产并不在于自动取款机的统治地位,而在于他们开创性的基础技术——从密码学到网络通信。现代自动取款机虽然通常由其他人制造,但却欠IBM早期自动化处理现金和保障金融交易的努力很大。这个故事突显了即使是看似简单的工具,如现金,也受到商业计算不断发展的塑造,并为其做出贡献。
## 使用 Bootc 和 OSTree 进行现代 Linux 系统管理
本文详细介绍了将系统配置“作为代码”管理,用于笔记本电脑和服务器的实践过程,最终采用 Bootc 和 OSTree 作为解决方案。 最初使用 Packer 和 NixOS 的尝试被证明不足,导致采用 Fedora Silverblue – 一种提供熟悉 Linux 体验并具有增强可靠性的不可变发行版。
OSTree 类似于“文件系统的 Git”,对整个系统快照进行版本控制,以便于更新和回滚,利用 ComposeFS 和 EROFS 等技术来确保数据完整性和去重。 虽然是不可变的,系统通过叠加层来适应配置,允许可写目录用于用户数据和设置。 包管理由 `rpm-ostree` 处理,取代了传统的 `dnf` 等工具。
Bootc 更进一步,将操作系统视为 OCI 容器镜像,从而实现可重现的部署和简化的更新。 可以使用 Podman 等工具构建镜像,然后通过创建 ISO 或直接切换到现有的 Silverblue 系统来部署。 CI/CD 管道可以自动执行镜像构建和更新,确保跨环境的一致性。
关键在于保持一致性 – 避免手动安装软件包导致漂移。 相反,更新是通过重建和重新部署镜像来管理的,从而确保通过 systemd 服务进行自动更新。 这种方法为 Linux 系统管理提供了一种强大而现代的解决方案,尤其适用于服务器部署和 GitOps 工作流程。
## GitHub Copilot CLI 漏洞摘要
研究人员发现 GitHub Copilot CLI 新版本存在漏洞,允许在未经用户批准的情况下远程执行代码。Copilot 使用“人机协作”系统,需要在执行潜在有害命令之前获得同意,但对于硬编码的“只读”列表或明确配置为自动执行的命令除外。
该漏洞利用了 Copilot 解析命令的方式中的缺陷。通过将类似 `curl` 和 `sh` 的命令作为参数嵌入到允许的命令(如 `env`)*内部*,系统无法将其识别为潜在危险,从而绕过了 URL 访问检查和用户批准的需求。这使得攻击者可以通过不受信任的来源(如克隆的仓库)注入恶意代码,并在用户机器上直接执行恶意软件。
虽然该问题仅限于 macOS,但其他操作系统上也存在进一步的漏洞。尽管研究人员已向 GitHub 报告了这些发现,但 GitHub 承认这是一个已知限制,认为其安全风险较低,并且没有计划立即修复。研究人员已保留其他漏洞的细节,等待解决。
## Passkey 与数据丢失:日益增长的风险
Passkey 的普及是积极的,但一个危险的趋势正在出现:将它们——以及相关的 PRF 技术——用于*既*身份验证**又**数据加密(如备份、消息和加密钱包)。这为用户造成了永久数据丢失的重大风险。
问题在于用户缺乏意识。Passkey 设置并未明确传达此双重功能,并且用户往往会随着时间的推移忘记这种关联。删除一个 Passkey,看似简单的清理任务,然后可能不可逆转地将他们锁定在加密数据之外,包括不可替代的回忆。
虽然 PRF 在 WebAuthn 中有合法的用途(例如使用多种恢复选项保护凭据管理器),但将其扩展到通用数据加密会大大增加丢失 Passkey 的“爆炸半径”。
作者敦促身份行业**停止**将 Passkey 用于加密,凭据管理器在删除启用 PRF 的 Passkey 之前**警告**用户,并要求利用此实践的服务向用户提供清晰的**信息**和预先警告。目标是保留 Passkey 作为抗网络钓鱼身份验证工具的优势,同时避免危及用户数据。