2025-10-14

40 篇热帖

1. Don’t Look Up: Sensitive internal links in the clear on GEO satellites [pdf] (satcom.sysnet.ucsd.edu)

本文是2025年ACM CCS会议论文的扩展版,标题为“Don't Look Up: There Are Sensitive Internal Links in the Clear on GEO Satellites”。研究通过使用低成本消费级设备对地球同步轨道(GEO)卫星生态系统进行了首次大规模安全扫描,揭示了大量未加密的敏感内部网络流量被暴露的风险。

研究概述与核心发现

  • 研究范围:作者从北美一个固定地点,使用总成本约650美元的现成设备,成功扫描了39颗GEO卫星上411个Ku波段转发器,涵盖25个不同经度。这是迄今为止对GEO卫星生态系统进行的最全面的学术研究。
  • 关键发现:约50%的扫描到的卫星IP链接包含明文流量。与加密已成标准的卫星电视不同,用于远程关键基础设施(如电力、电信、政府、军事和商业)的IP回程链路通常在链路层和网络层都缺乏加密。
  • 观察到的未加密数据:研究捕获了高度敏感的内部网络流量,包括:
    • 电信:未加密的蜂窝回程流量,包含通话音频、短信内容、IMSI和加密密钥。
    • 关键基础设施:公用事业(如电网)的工作调度和工业控制系统数据。
    • 军事:船只追踪信息、通话元数据。
    • 零售:全球零售店的库存管理和内部通信。
    • 航空:机载WiFi的乘客流量和娱乐系统数据。
    • 政府:墨西哥政府机构的内部行政管理和军事资产追踪数据。

技术贡献与方法

为克服信号质量差、协议多样性和链路变动等挑战,作者做出了多项技术贡献:

  1. 新的天线对准方法:利用卫星广播中的地面真值参考数据,实现了廉价单轴转子天线的精确对准,从单一位置可接收全球14.3%的Ku波段卫星信号。
  2. 通用GEO流量解析器:开发了一个能盲解七种不同协议栈的通用解析器(其中五种从未在公开研究中报告),成功从238个转发器(占69%)中恢复IP数据包,性能比现有最佳工具GSExtract提升超过600%。
  3. 大规模数据集收集:进行了为期七个月的系统扫描,收集了超过3.7TB的原始数据,并分析了转发器使用情况随时间的稳定性与变动。
  4. 协议逆向工程:详细记录了从DVB-S2(X)物理层到MPEG-TS/GSE封装层,再到IP层的各种偏离标准或未公开的协议实现细节(如MATYPE值变化、填充字节、字节序反转、非标准GSE分片机制等)。

案例研究与影响

论文通过多个具体案例展示了漏洞的严重性:

  • 蜂窝回程:观察到T-Mobile和AT&T墨西哥的未加密流量,包含用户通话、短信、核心网信令(如S1AP)和秘密安全密钥。
  • VoIP服务:捕获了TelMex、KPU和WiBo的明文SIP信令和RTP语音流,可完整重建通话内容。
  • 政府与军事:美国海军船只及墨西哥多个政府/军事机构的内部网络通信被明文广播,暴露了资产追踪、人员记录、事件报告等数据。
  • 企业:沃尔玛墨西哥的库存管理系统登录凭证(通过明文Telnet/FTP传输)以及桑坦德集团墨西哥分行的内部LDAP和ATM流量被截获。
  • 机载WiFi:发现机载WiFi提供商(如Panasonic)的流量大多依赖应用层TLS,但链路层未加密。此外,通过密码分析技术,作者成功从部分泄露的PEM编码RSA私钥碎片中恢复了完整的私钥。
  • 公用事业:捕获了墨西哥联邦电力委员会(CFE)的内部工单、网格监控和基础设施报告数据。

讨论与结论

  • 安全实践与威胁模型不匹配:组织倾向于将卫星链路视为普通内部网络,未意识到其广播特性使得从地球任何位置均可进行低成本被动窃听。这与已广泛采用加密的互联网TLS生态形成鲜明对比。
  • 加密缺失的原因:包括缺乏网络可见性、多层服务提供导致责任分散、经济激励不足(加密可能带来许可费、带宽和功耗开销)、对可靠性的追求、可用性复杂度以及出口管制遗留问题。
  • 伦理与披露:研究通过了伦理审查。作者进行了广泛且负责任的漏洞披露,与受影响的供应商(如T-Mobile、美国军方、沃尔玛墨西哥、AT&T、多家墨西哥政府机构和银行)进行沟通,部分供应商已开始修复。
  • 结论:研究结果表明,当前的卫星通信安全实践存在系统性缺陷,导致大量敏感数据暴露。作者希望通过此工作推动行业提高卫星链路加密的部署,并激发未来对其他频段和轨道的安全研究。
2. Don't Be a Sucker (1943) [video] (www.youtube.com)

标题: Don't Be a Sucker (1943)

简介: 这是一部由美国国防部陆军部创作的影片,其原始档案保存于美国国家档案馆(National Archives Identifier: 24376, Local Identifier: 111-EF-6)。

原始资源:

内容性质: 该视频的描述页面主要包含上述历史档案元数据,以及 YouTube 平台自动生成的标准页面链接(如关于、版权、隐私政策等),不包含影片本身的剧情或详细内容介绍。

3. ADS-B Exposed (adsb.exposed)

ADS-B Exposed 是一个与航空监控技术 ADS-B 相关的项目。该项目自豪地使用 ClickHouse 开源数据库,这是一个高性能数据库系统,相关代码可在 GitHub 上访问。图片引用自 Wikipedia,版权细节需参考相应页面。内容中包含表情符号👁,可能象征监视或观察,以及图像标记,可能指向额外资源或功能。整体内容简洁,聚焦于技术实现和来源引用。

4. New York Times, AP, Newsmax and others say they won't sign new Pentagon rules (apnews.com)

多家新闻机构拒绝签署五角大楼新规,可能被清出大楼

《纽约时报》、美联社及保守派电视网Newsmax等新闻机构于周一表示,将不会签署国防部关于其新媒体规则的文件,这可能导致特朗普政府将这些机构的记者驱逐出五角大楼。

主要争议与媒体立场

  • 反对理由:多家新闻机构指出,该政策威胁要对受《第一修正案》保护的常规新闻采集行为进行惩罚,这实质上是对新闻自由的侵蚀。
  • 参与媒体:除《纽约时报》、美联社和Newsmax外,《华盛顿邮报》、《大西洋月刊》及路透社等也在周一公开加入拒绝签署的行列。
  • 媒体声明:路透社表示,其坚守准确、公正和独立的新闻承诺,并坚信宪法保障的新闻自由、信息的自由流通以及为公共利益服务的新闻事业。五角大楼的新限制损害了这些基本价值观。
  • Newsmax立场:尽管该电视网的新闻主播通常支持特朗普政府,但其表示认为新规“不必要且繁琐”,并希望五角大楼进一步审查此事。

五角大楼新规内容与官方回应

  • 新规要点:新规禁止记者在无陪同情况下进入五角大楼的大部分区域,并规定国防部长皮特·赫格塞斯可吊销任何向国防部人员索取“未经批准发布”信息(无论机密与否)的记者的采访权。
  • 截止期限:赫格塞斯的团队表示,未在周二前书面确认知晓该政策的记者,必须交出五角大楼通行证,并在次日清理其工作区。
  • 官方辩护:五角大楼首席发言人肖恩·帕内尔称,该政策建立了“常识性的媒体程序”,并强调政策仅要求记者“知晓”而非“同意”,批评媒体反应过度。

双方争论焦点

  • 媒体方观点
    • 记者及法律专家认为,签署文件等于承认“报道未经政府批准的信息即危害国家安全”,但事实并非如此。
    • 五角大楼记者长期佩戴通行证,不进入机密区域,也不会报道危及美国人员安全的信息。
    • 五角大楼新闻协会指出,没有理由要求记者“确认理解那些模糊且可能违宪的政策”作为报道前提。
    • 《纽约时报》华盛顿分社社长理查德·史蒂文森强调,公众有权了解政府和军队的运作方式。
  • 五角大楼方立场
    • 赫格塞斯在社交媒体上回应称,新规是必要的,因为记者不应“自由穿行”于高度机密的军事设施,并认为这受《第一修正案》保护的观点不成立。

更广泛的背景

报道指出,特朗普政府已通过多种方式向新闻机构施压,包括就报道内容与美国广播公司(ABC)和哥伦比亚广播公司(CBS)达成和解,以及对《纽约时报》和《华尔街日报》提起诉讼,并试图切断对“美国之音”等政府资助服务机构的资金。

5. KDE celebrates the 29th birthday and kicks off the yearly fundraiser (kde.org)

KDE庆祝29岁生日并启动年度募捐活动

帮助KDE实现关键转折点

KDE呼吁社区支持,旨在将旗下软件推向主流。稳定、易用且无障碍的桌面环境Plasma 6正让KDE更接近满足个人、企业和公共机构的需求。除了桌面环境,KDE的应用目录涵盖生产力工具、社交沟通、创意开发和娱乐软件。

资金来源与捐赠呼吁

  • **70%**的运营资金来自像您一样的个人用户支持。
  • 捐赠将助力KDE软件获得全球认可。

“认领应用”活动细则

  • 捐款50欧元或以上即可参与。
  • 从提供的应用列表中选择一个进行认领(每个应用最多可被5位支持者认领)。
  • 在捐款时通过留言区注明想认领的应用名称及希望展示的名字(真实姓名、昵称或社交媒体账号均可)。
  • 展示时间:从捐款起至次年4月KDE Gear 26.04发布前,您的名字将出现在该应用的apps.kde.org页面上作为“支持者”。
  • 注意事项:拒绝包含冒犯性名称或内容的申请;此奖励仅面向个人,企业可通过赞助方式支持。

可认领应用列表(部分)

  • KNavalBattle(3个名额已满,2个空缺)
  • Kolf(3个已满,2个空缺)
  • KomoDo(4个已满,1个空缺)
  • KTorrent(4个已满,1个空缺)
  • KBruch(1个已满,4个空缺)
  • KFourInLine(全部空缺)
  • KRename(1个已满,4个空缺)
  • Photos (Koko)(2个已满,3个空缺)
  • KMahJongg(1个已满,4个空缺)
  • KBreakOut(全部空缺)
  • Haruna(2个已满,3个空缺)
  • Itinerary(4个已满,1个空缺)

已认领应用示例

以下应用已被5位支持者认领:

  • digiKam、Yakuake、Tokodon、NeoChat、Amarok、KDE Connect、Spectacle、Kid3、Krusader、Partition Manager、Elisa、Okular、KMyMoney、Gwenview、System Monitor、KDiff3、Discover、Kleopatra、ISO Image Writer、KStars、LabPlot。

捐赠资金的用途目标

  1. 打造一流软件:维持KDE免费软件的开发与长期可持续性。
  2. 保障用户控制权:通过隐私友好的自由软件,让用户掌控数字生活;依赖社区捐赠以保持财务独立。
  3. 推动环保:通过“End of 10”等活动,反对科技企业鼓励用户更换设备导致的电子垃圾,倡导延长设备使用寿命。
  4. 服务被科技行业忽视的人群:开发无需最新硬件或持续网络连接的软件,帮助边缘化用户融入数字世界。
  5. 协助公共机构采用自由软件:帮助KDE软件满足公共机构的高标准需求,使公共资金能够支持自由软件而非外国商业公司。

其他信息

  • 捐赠后可下载数字徽章、可打印卡片等纪念品。
  • 文中配图采用CC-BY-SA-4.0许可证,由多位艺术家创作。
6. DOJ seizes $15B in Bitcoin from 'pig butchering' scam based in Cambodia (www.cnbc.com)
  • 核心事件:美国司法部查获了价值约150亿美元的比特币,这与一个以柬埔寨为基地的庞大“杀猪盘”诈骗网络有关。此次查获是美国司法部历史上规模最大的没收行动

  • 关键人物与组织:被指控的幕后主使是陈志(又名“Vincent”),他是太子集团的创始人兼董事长。美国财政部已将该集团列为跨国犯罪组织,并对其本人及100多个相关个人和实体实施了制裁。

  • 指控与现状:陈志被指控电信欺诈共谋洗钱共谋,若罪名成立可能面临最高40年监禁。目前他仍在逃

  • 诈骗手法与规模

    • 太子集团被指控在柬埔寨经营多个强制劳动的诈骗园区
    • 被拐卖和强迫劳动的人员通过社交媒体联系受害者,逐步建立信任,诱骗他们将加密货币转入诈骗集团控制的账户,谎称进行投资以获取高额回报。
    • 实际上,资金被窃取并洗白。文件显示,其中一处设施使用1250部手机操控了7.6万个社交媒体账户。
    • 该诈骗活动给美国及全球受害者造成了数十亿美元的损失
  • 其他指控:陈志及其高管网络被指控利用在多国的政治影响力保护其犯罪企业,并贿赂公职人员以逃避执法行动。

7. Environment variables are a legacy mess: Let's dive deep into them (allvpv.org)

文章标题:环境变量是一个遗留问题:深入探讨

环境变量是一种陈旧且存在问题的参数化方式,缺乏命名空间和类型,只是一个扁平的全局字符串字典。

来源与传播机制 环境变量通过父进程到子进程的方式传递。在Linux上,程序执行依赖于execve系统调用,该调用接受文件名、命令行参数数组和环境变量数组作为参数。默认情况下,所有环境变量会从父进程继承到子进程,但父进程也可以传递一个完全不同的或空的环境。某些工具(如登录程序login)会为其子进程建立全新的环境。

内存布局与内部存储 内核将环境变量作为一系列以空字符结尾的字符串转储到进程的栈上。这种静态布局不易修改或扩展。程序随后需要将这些变量复制到自己的数据结构中:

  • Bash:使用哈希表堆栈来存储变量。它支持局部作用域(通过local关键字),甚至可以导出局部变量。
  • glibc(Linux默认C库):维护一个动态的environ数组,通过putenvgetenv函数管理。时间复杂度是线性的,因此环境变量不应被滥用为高性能字典。
  • Python:通过os.environ字典与C库的environ数组耦合。修改os.environ会调用C库的putenv,但反向调用os.putenv不会更新os.environ,传播是单向的。

格式限制与“怪异”情况 内核和glibc对环境变量的格式非常宽松,允许重复名称甚至缺少等号。这可能导致“损坏”的环境设置。尽管存在理论上的限制(单个变量128 KiB,总量2 MiB),但实践中应避免滥用这种自由度。某些外壳(如Bash)在处理包含空格等非法字符的变量名时,会将其存入特殊的无效环境哈希表并仍传递给子进程。

命名规范与实用建议 一个常见误解是POSIX要求环境变量必须大写。实际上,POSIX标准规定:变量名不能包含等号,并要求应用程序容忍包含小写字母的名称。尽管标准工具使用大写名称,但应用程序被鼓励使用小写以避免冲突。然而,行业惯例是使用全大写名称。

实用建议是:变量名使用^[A-Z_][A-Z0-9_]*$正则表达式模式(全大写、下划线和数字),值使用UTF-8编码,以确保在Linux上的兼容性。若需极致安全,值可使用POSIX规定的可移植字符集。

8. Why the push for Agentic when models can barely follow a simple instruction? (forum.cursor.com)
# 关于AI代理编程的讨论总结

## 核心质疑
用户`singularityskynet`对当前业界对“代理式(Agentic)”编码的炒作提出了质疑。他的核心观点是:在现有的AI模型尚且难以可靠地遵循单个简单指令的情况下,为何要大力推动能够自主执行复杂、长期任务的AI代理?他举例说明,即使是更新一个仅100行代码的函数,也需要非常详细的提示,这使得使用AI辅助编码的效率可能还不如自己手动修改。他进一步挑战:在模型可靠性不足的当下,人们如何信任AI代理去处理大型、长期的项目?

## 其他用户的主要回应方向

### 1. 解释AI的局限性与工作方式
*   **AI缺乏记忆**:用户`UntaDotMy`指出,AI不具备人类的记忆,其行为完全基于当前输入的提示。这要求用户提供更结构化和持久的上下文。
*   **需要明确引导**:多位用户(如`UntaDotMy`, `Lance_Patchwork`)强调,使用AI代理的成功关键在于用户的引导和框架搭建,而非让AI完全自主决定。

### 2. 提供提升AI表现的具体建议
这些回应旨在通过优化工作方法来弥补当前模型的不足:
*   **提供结构化上下文**:推荐使用**Markdown(.md)文件**来存储项目架构、任务规范、编码模式等参考信息,并附加到对话中供AI随时查阅,以弥补其“记忆”的缺失。
*   **采用任务分解与计划模式**:建议将工作分解为明确的阶段和任务(如`Phase 1 Task 1`),并制定详细的计划。使用Cursor的“计划模式”可以先让AI分析项目再执行。
*   **建立目录与指导文件**:用户`Lance_Patchwork`分享了创建多个专用文件(如`agents.md`、架构文件、任务文件)来系统化地指导AI代理的经验,让AI在文件夹结构和既定规范内工作。
*   **处理大型文件的方法**:针对更新一个6000行代码文件的难题,建议的“多管齐下”策略包括:先让AI建立文件索引(如提取函数列表和逻辑流),然后针对特定部分进行增量式的、基于索引的更新。

### 3. 支持质疑者的观点
*   **可靠性不足**:许多用户(如`haris-musa`, `reinaldo-gomes`)表示赞同质疑者的观点,认为当前AI模型在遵循指令方面确实存在可靠性问题,经常遗漏细节或出错,使用起来令人沮丧。
*   **需要谨慎控制**:用户`singularityskynet`和`reinaldo-gomes`等强调,出于对代码质量的担忧,他们倾向于**逐步引导和监控AI**,而不是给予其完全的自主权,以避免引入难以察觉的错误(“意大利面条式代码”)。
*   **依赖测试作为护栏**:建议在开发前编写好**单元测试**,然后要求AI生成能通过所有测试的代码,以此作为质量保障。

## 社区形成的共识
尽管对“代理式”编程的炒作热情不一,但讨论中形成了几点务实的共识:
1.  **当前局限**:现有AI模型在精确遵循复杂指令和保持长期上下文方面仍有明显短板,不能盲目信任。
2.  **成功关键**:有效使用AI代理(或高级AI辅助编码)**高度依赖于用户提供的结构化上下文、清晰的指令分解和持续的监督**。
3.  **务实应用**:代理式编码更适合用于**处理重复、繁琐或模式明确的“小任务”**,尤其是在已有测试作为安全网的项目中,而不是在大型核心项目中交出完全控制权。
4.  **优化策略**:通过Markdown文件、计划模式、任务分解、索引建立等策略,可以在一定程度上弥补模型缺陷,提升其可靠性和实用性。
9. Astronomers 'image' a mysterious dark object in the distant Universe (www.mpg.de)

天文学家“拍摄”到遥远宇宙中的神秘暗物体

核心发现 一个国际天文学团队在距离地球约100亿光年、宇宙年龄仅65亿年的遥远区域,发现了一个质量约为太阳百万倍的黑暗物体。这是迄今为止使用该技术测量到的质量最低的暗物体,比以往发现的同类物体轻约100倍。

发现方法与技术

  • 引力透镜效应:研究团队利用了来自一个更遥远星系的光线被前景黑暗物体的引力扭曲和偏折的现象,即“引力透镜”效应,来探测这个不发光的物体。
  • 全球射电望远镜网络:数据由包括美国绿岸望远镜、甚长基线阵列以及欧洲甚长基线干涉网络在内的全球射电望远镜收集。这些数据在荷兰联合VLBI研究所进行关联处理,形成了一个相当于地球大小的虚拟超级望远镜,从而获得了极高的角分辨率,能够探测到极其微弱的引力信号。
  • 引力成像技术:团队开发了一种称为“引力成像”的专门技术,通过精确映射引力透镜效应对背景射电星系弧光的影响,从而“看见”了不可见的暗物质团块。

物体的性质与可能身份 该物体在大小、结构和质量上可能属于“超致密矮星系”家族,这是一种介于大型星团和小型星系之间的稀有系统,并可能拥有一个延伸的恒星晕。 然而,观测到的内部结构异常:

  • 它自身不发射任何光。
  • 中心内核异常致密,约占物体总质量的四分之一,符合黑洞或致密恒星核的特征。
  • 从中心向外,密度分布扁平化,形成一个宽阔的盘状结构。
  • 这种结构前所未见,可能代表了一类新的暗物体。

对暗物质理论的启示与挑战

  • 与标准模型不符:其观测到的性质(尤其是中心高度集中的密度分布)与“冷暗物质”标准模型的预测存在显著差异。标准模型预测,质量为太阳百万倍的无星暗物质团块应具有不同的、远不如中心集中的结构。
  • 一种推测性解释:一种可能性是,该物体是一个发生了中心坍缩并形成了黑洞的暗物质晕。这可能源于暗物质自身的相互作用。但这一理论需要更多的数值模拟来验证是否能重现观测到的密度分布。
  • 意义与后续研究:这是使用引力成像方法发现的第三个此类物体,也是迄今质量最小、结构刻画最精确的一个。所有三个发现都难以用标准暗物质模型解释。团队正在天空的其他区域使用相同技术寻找更多低质量暗物体。如果发现更多此类完全无星的神秘物体,可能会排除一些关于暗物质的理论。

其他关键信息

  • 该发现基于名为B1938+666的系统,前景红外明亮星系导致了遥远背景星系形成美丽的爱因斯坦环。
  • 甚长基线干涉测量技术的分辨率是凯克望远镜自适应光学系统红外成像的13倍。
  • 为了分析海量复杂数据,团队开发了只能在超级计算机上运行的新型建模算法。
  • 发现结果与“冷暗物质理论”的预期(即星系应充满暗物质团块)相符,这为理解星系形成的基础模型提供了支持。
10. GPT-5o-mini hallucinates medical residency applicant grades (www.thalamusgme.com)

文章摘要:关于 Cortex 成绩提取工具准确性问题的回应

背景与反馈 针对本年度住院医师招募季节开始后收到的关于 Cortex Core 成绩单标准化功能(提取成绩不准确)的反馈,Thalamus 公司(由医师创立)已作出公开回应。公司确认,虽然提交的成绩单和申请文件本身准确无误,但确实收到了少数关于 Cortex 工具自动提取并显示的成绩存在不准确的报告。一旦确认,公司已立即更正。

工具工作原理与限制

  • 核心功能:Cortex 工具能够访问包括医学院成绩单、学生表现评价(MSPE)在内的所有原始、未经修改的申请材料。它使用光学字符识别(OCR)和自然语言处理(NLP)技术从成绩单中自动解析临床轮转成绩。
  • 输出用途:工具随后生成包含成绩、百分位和图形分布的参考报告,旨在为审阅者提供结构化的背景信息,以提高效率和便于比较。
  • 重要限制
    • 提取的成绩和可视化图表仅供比较参考,不包含在任何评分或筛选算法中。
    • 不能基于这些输出对申请人进行筛选、搜索、排序或自动拒绝。
    • 该工具自2020年首次发布以来,每年会根据评分体系或成绩单格式的变化进行更新。

社区关切与公司立场

  • 主要关切:社区担心成绩不准确可能对申请人造成不公正的不利影响。
  • 公司澄清与回应
    1. 该工具从未打算被单独用于决策。
    2. 项目主管通常会并行审阅官方文件(成绩单、MSPE等),这些文件在 Cortex 中完全可见且准确。
    3. 在本季所有已调查的案例中,项目主管在审阅官方记录时均能正确识别并核实准确的成绩。

给各方的建议与指南

  • 给住院医师培训项目
    • 将成绩单标准化功能作为参考,而非独立决策工具
    • 务必通过 Cortex 中提供的官方成绩单和MSPE(可在申请人摘要页和详情页的多个位置访问)来核实成绩。
    • 可选择使用“遮蔽”功能来隐藏所有提取的成绩、百分位和图表。
  • 给申请人
    • 公司系统中的官方成绩单、MSPE和申请文件始终正确且未经修改
    • 在报告的所有案例中,项目主管已使用官方文件识别并纠正了任何差异。
    • 不建议就成绩单事宜直接联系项目,因为审阅者可以直接查看官方文件。
  • 给医学院
    • 将此指导告知学生,以帮助减少困惑和焦虑。
    • 向学生保证,项目主管和教职员作为标准审阅流程的一部分,会定期核对官方记录。
    • 对于评分体系独特或复杂的学校,欢迎合作以优化映射、减少歧义。
    • 将任何关于成绩准确性的查询转至 Thalamus 支持部门。

公司的承诺 公司强调一直在倾听反馈,并重视与申请人、项目和医学院的合作。他们承诺基于反馈持续改进 Cortex 工具。该功能的目的始终是提供额外的背景信息,而非替代官方文件或整体审阅。公司致力于通过进一步的验证和改进来支持社区,并感谢各方的信任与合作,共同迈向更一致、公平和高效的招募体验。

11. Strudel REPL – a music live coding environment living in the browser (strudel.cc)

Strudel REPL – 浏览器中的音乐实时编码环境

项目概述

Strudel REPL 是一个基于浏览器的音乐实时编码(Live Coding)环境,允许用户通过编写代码来创作和操控音乐。该项目开源,并在Mastodon社交平台(@strudel@social.toplap.org)上拥有社区支持。

核心特点

  • 浏览器原生运行:无需安装额外软件,直接在网页中使用,降低了使用门槛。
  • 实时编码交互:支持在音乐播放过程中修改代码,即时听到变化,适合现场表演与实验性创作。
  • 开源与社区驱动:项目代码公开,鼓励开发者参与改进,并通过Mastodon等平台进行交流。

技术栈与功能

  • 主要基于 JavaScriptWeb Audio API 构建。
  • 提供音频合成、采样处理、节奏编排等音乐编程功能。
  • 可能采用函数式或响应式编程范式,便于表达音乐模式与时间序列。

适用场景

  • 音乐教育与实验:帮助学习者理解音频编程和算法作曲。
  • 现场表演:音乐家可快速修改代码实现即兴演出。
  • 创意探索:开发者或艺术家通过代码探索声音生成的新方式。

社区与资源

  • 通过 Mastodon(@strudel@social.toplap.org)分享更新、案例与讨论。
  • 可能提供在线文档、示例代码库和教程支持用户入门。

总结

Strudel REPL 是一个轻量且强大的浏览器内音乐编程工具,强调实时性、交互性与开源协作,适合对音乐科技、代码艺术感兴趣的用户探索与实践。

12. Pyrefly: Python type checker and language server in Rust (pyrefly.org)

Pyrefly v1.0 发布:基于Rust的Python类型检查器与语言服务器

Pyrefly v1.0 现已正式发布。其核心优势包括:

主要特性

  • 高性能类型检查:每秒可处理超过185万行代码(测试环境:Meta基础设施,166核CPU,228GB内存)。
  • 卓越的开发者体验:提供极速的自动补全功能,并能在编辑器中即时反馈错误信息。
  • 便捷的支持渠道:用户可通过Discord进行提问或反馈。

性能基准测试

在MacBook(10核CPU,32GB内存)上对PyTorch代码库进行从零开始的类型检查,结果如下:

  • Pyrefly:运行命令 pyrefly check,自动利用所有可用线程。
  • Pyright:运行命令 pyright --threads=8(经测试,8线程性能最佳)。
  • MyPy:运行命令 dmypy run

测试结果凸显了Pyrefly在处理大规模Python项目时的速度优势。

13. Ruby Blocks (tech.stonecharioteer.com)

文章以作者对Ruby Blocks的深入理解为核心,通过多个代码示例阐述了Blocks如何提升代码的可读性、表达力和灵活性。以下是关键内容概述:

Ruby Blocks的基本概念

  • Ruby Blocks是方法调用时传入的代码块,有两种语法形式:do...end和花括号{}
  • 示例:3.times { puts "Hello" }中的times是整数方法,接受一个Block作为参数。

Blocks的强大功能

1. 创建领域特定语言(DSL)

  • 通过在已有的类(如Integer)上定义新方法(如minutes),可以链式调用实现自然语言般的代码,例如30.minutes.from_now
  • 示例:构建TodoList类,使用Blocks定义任务配置,生成类似配置文件的语法,直观定义任务优先级和截止日期。

2. 资源管理

  • 对比Python的with语句,Ruby通过File.open方法配合Block自动处理文件关闭,无需特殊关键字。
  • 示例:自定义with_timer方法,在Block执行前后计算耗时,为操作添加副作用。

3. 自定义控制流

  • 利用Blocks实现条件执行(如only_on_weekdays)或重试逻辑(如with_retry),扩展语言的控制结构。

4. 链式操作

  • 数组操作如(1..5).select { |n| n.even? }.map { |n| n * n }均由方法调用和Blocks组成,体现Ruby的函数式编程风格。

Rails与Blocks

  • Rails的路由配置(如resourcesnamespace)并非特殊语法,而是普通Ruby方法接受Blocks实现的DSL,使得配置代码接近自然语言。

Blocks的核心优势

  • 语法自然:Blocks使代码更接近日常表达(如5.times { ... }),开发者能专注于问题逻辑而非语法。
  • 隐藏复杂性:Blocks与方法调用无缝集成,例如RSpec测试中的it "adds two numbers" { ... }实质是方法调用,但读起来像英语描述。
  • 可扩展性:允许开发者扩展基础类型(如为Integer添加时间方法),构建定制化编程风格。

结论

作者强调Blocks是Ruby可读性和灵活性的核心,通过Blocks,Ruby程序员能创建富有表现力的代码结构,甚至构建内部DSL,同时保持代码简洁直观。这种设计体现了Ruby“让语言适应人,而非人适应语言”的哲学。

14. America's future could hinge on whether AI slightly disappoints (www.noahpinion.blog)

当前美国经济面临矛盾信号:制造业受关税冲击疲软,就业增长放缓,消费者信心低迷,但失业率仍处低位,关键就业指标接近历史高位,GDP增长预测依然保持在2%以上。一种可能的解释是,AI热潮正在抵消关税等负面因素的拖累。多家机构测算显示,若排除AI相关支出,2025年上半年美国GDP年化增长率可能仅为实际数据的一半左右。AI领域的扩张已主导了股市增长,仅英伟达、微软和苹果三家公司的市值就占标普500指数的五分之一以上。

与此同时,非AI领域的经济表现疲软:消费停滞、就业增长乏力、非AI企业投资和房地产建设下滑。特朗普政府在推行广泛关税的同时,有意豁免AI及相关供应链,凸显其被视为经济关键引擎的地位。

然而,AI行业自身存在泡沫风险。分析指出,AI可能面临“工业泡沫”——即市场对技术实际价值的误判。相关担忧包括:

  • 企业对AI投资的回报率普遍较低,多数组织未见收益;
  • AI技术进展可能遭遇“收益递减”,实际性能提升不及预期;
  • 大规模数据中心建设面临电力基础设施限制;
  • AI生成内容可能导致生产力下降。

文章强调,AI泡沫未必源于技术彻底失败,仅需略微低于最乐观预期,就足以引发市场修正。若AI领域出现衰退,不仅将冲击就业和股市,更可能因贷款违约和财务困境波及整体金融体系。鉴于当前经济对AI的高度依赖,其命运可能直接决定美国未来的政治经济走向——AI的兴衰已成为影响国家发展的关键赌注。

15. PlayStation 3 Architecture (2021) (www.copetti.org)

PlayStation 3 架构 (2021) 摘要

总体概述

PlayStation 3 (PS3) 于2006年发布,其硬件架构延续了索尼注重向量处理以提升性能的设计哲学,核心是Cell宽带引擎(Cell Broadband Engine)。该处理器由IBM、索尼、东芝联合开发,源于一项旨在为超级计算机和游戏主机提供动力的合作计划,其设计理念标志着从单纯提升时钟频率转向多核和分布式计算的时代。

CPU: Cell宽带引擎

Cell处理器运行在3.2 GHz,采用独特的异构多核架构,由三大部分组成:

  • 领导核心 - PowerPC处理单元 (PPE):一个基于PowerPC规范的通用64位处理器,采用顺序双发射、双线程(SMT)设计,负责协调整个系统。它包含指令单元、加载/存储单元、算术单元等,并拥有512 KB的二级缓存。
  • 助手核心 - 协同处理单元 (SPE):共有8个(一个因良率原因禁用),每个SPE是一个独立的计算单元,专为高效处理向量/SIMD运算而优化。每个SPE包含一个256 KB的本地存储和一个协同处理单元(SPU),SPU采用专有的指令集,拥有128个128位寄存器和双执行流水线(奇偶流水线)。SPE由PPE控制,主要用于加速物理、图形、音频等任务。
  • 内部互连总线 - 元素互连总线 (EIB):一个环状拓扑的片上网络,通过四个128位宽的环连接PPE、SPE和其他单元,用于高速数据传输。它使用基于令牌的仲裁机制来管理并发流量。

内存与存储

  • 主内存:256 MB的XDR DRAM,通过内存接口控制器(MIC)连接,理论带宽25.6 GB/s。
  • 显存:RSX图形处理器拥有独立的256 MB GDDR3显存。
  • 系统存储:操作系统和用户数据存储在主板上的NAND/NOR闪存(早期型号为256 MB NAND,后期为16 MB NOR)以及可更换的2.5英寸硬盘中。后期推出的“超薄”型号还有12 GB eMMC版本。

图形处理: RSX (Reality Synthesizer)

PS3搭载了Nvidia制造的RSX图形芯片,运行频率500 MHz,基于GeForce 7架构。它拥有256 MB专用GDDR3显存,并可通过Flex I/O总线访问Cell的主内存。

  • 图形管线:包括可编程的顶点着色器(支持Shader Model 3.0)、光栅化单元、六通道的像素着色器管线(支持多线程和双发射)以及光栅操作单元(ROP)。支持多重采样抗锯齿。
  • 输出:支持HDMI、模拟视频等输出接口,并能实现立体3D显示。

操作系统与软件环境

PS3的操作系统是一个复杂的多层结构,深度依赖于Cell的硬件安全模型:

  • 特权级别:系统利用Cell的三个特权级别:级别1(管理程序/Hypervisor)、级别2(内核/Kernel)、级别3(用户态)。管理程序(lv1)拥有最高权限,负责资源管理和硬件抽象。
  • 启动过程:一个高度加密和验证的启动链,从Cell内部的只读存储器开始,依次解密并加载bootldr、metldr、lv1(管理程序)、lv2(内核)、其他系统组件和图形界面(XMB)。
  • 存储介质:系统文件存储在闪存中,用户数据和游戏安装在硬盘中。
  • 视觉外壳 (XMB):用户界面,集成了多媒体播放、网络功能、系统设置和游戏管理。
  • OtherOS功能:允许用户安装Linux等操作系统,但无法完全访问RSX的图形加速能力。此功能后因安全原因被移除。
  • 向后兼容:早期型号通过在主板上集成PS2的Emotion Engine和Graphics Synthesizer芯片实现硬件兼容,后期型号逐步移除这些芯片,改为部分或完全的软件模拟。PS1和PSP游戏通过软件模拟运行。

游戏开发与分发

  • 开发工具:IBM和索尼提供了SDK,包括编译器、库和调试工具。开发者需要针对Cell的PPE和SPE分别编程。游戏引擎(如虚幻引擎3)的授权变得流行。
  • 分发介质:零售游戏发行于25 GB或50 GB的蓝光光盘上。同时,通过PlayStation Store提供数字发行。
  • 网络服务:PlayStation Network提供在线多人游戏、社交、奖杯系统和数字商店。

安全与破解历史

索尼构建了复杂的软硬件安全体系,但最终被黑客攻破:

  • 安全基础:包括基于Cell特权级别的信任链、硬件加密(如南桥的AES硬盘加密)和复杂的代码签名验证。
  • 关键破解事件
    1. 管理程序绕过 (2010):George Hotz利用OtherOS环境和硬件故障注入,获得了内存的任意读写权限。
    2. PSJailbreak (2010):通过USB漏洞在GameOS下实现内核级提权,从而运行自制软件。
    3. ECDSA密钥泄露 (2011):Hotz和fail0verflow团队发现索尼在ECDSA签名实现中存在致命错误,泄露了用于签名的私钥,导致信任链彻底崩溃。这开启了自定义固件(CFW)时代。
    4. 索尼的应对:通过系统更新(如3.56、3.60)更换加密密钥并更改引导流程。新硬件型号(“无法破解的”型号)采用了更安全的引导加载程序。
    5. PS3Xploit (2017):利用Webkit漏洞和ROP技术,通过软件方式在旧型号上实现类似硬件降级器的功能,重新打开了安装CFW的大门。针对无法破解的型号,推出了PS3Hen方案。

结论

PS3的Cell处理器代表了异构多核计算的一次大胆尝试,其复杂的架构既带来了强大的并行处理潜力,也给开发者带来了挑战。尽管面临开发难度和早期硬件可靠性问题,PS3凭借其技术规格和丰富的软件生态,在其生命周期内成为了重要的游戏和多媒体平台。其安全体系经历了从高度防御到被逐步攻破的完整历程。

16. Zoo of array languages (ktye.github.io)

K语言函数与语法参考摘要

本文档为数组编程语言K的核心函数、操作符及语法速查指南。

核心操作符与函数

K语言中,基础数学与操作符拥有简短的函数名。

  • 一元函数:对单个参数操作。
    • +flp (翻转矩阵)
    • -neg (取负)
    • *fst (取第一个元素)
    • %sqr (平方根)
    • !til (生成序列,如 !5 → 0 1 2 3 4)
    • &wer (生成序列,如 &3 → 0 0 0 1 1 1)
    • |rev (反转)
    • <asc (升序索引)
    • >dsc (降序索引)
    • =grp (分组)
    • ~not (取反/非)
    • ,enl (创建单元素列表)
    • ^srt (排序)
    • #cnt (计数)
    • _flr (下取整)
    • $str (转为字符串)
    • ?unq (唯一值)
    • @typ (返回类型)
    • .val (求值)
  • 二元函数:对两个参数操作。
    • +add
    • -sub
    • *mul
    • %div
    • !mod (取模) / key
    • &min
    • |max
    • <les (小于)
    • >mor (大于)
    • =eql
    • ~mtc (匹配)
    • ,cat (连接)
    • ^cut
    • #tak (取前/后)
    • _drp (删除)
    • $cst (转换/强制)
    • ?fnd (查找) / in
    • @atx (索引)
    • .cal (调用)

特殊语法与控制结构

K语言采用独特的语法进行定义和流程控制。

  • 条件与循环
    • if/else$[条件; 真值表达式; 假值表达式; ...]
    • whilewhile[条件; 语句]
  • 函数定义f:{表达式}, 如 f:{x+y}
  • 数据结构
    • 列表(1; 2 3),元素用分号;分隔。
    • 字典`a`b!5 6,键值对映射。
    • 符号`a`b
    • 字符串"chars"
  • 数值:支持整数(1 2 3)、浮点数(.4 5 6.)、时间(2a300)等。

常见函数组合与应用

文档展示了如何利用基础函数构建更复杂的操作。

  • 数据操作
    • join:使用 , 连接。
    • split:使用 \ 分割。
    • decode:使用 % 进行进制解码。
    • encode:使用 ! 进行进制编码。
  • 索引与修改
    • atx (@):@[x;i;...] 用于索引赋值(amend)。
    • cal (.):.[x;i;...] 用于深度索引赋值(dmend)。
  • 组合用法
    • t,'t:逐列连接表格。
    • t,d:将字典 d 追加到表 t
    • k?t:根据键 k 对表 t 进行分组(group)。

数学函数与类型系统

  • 数学函数abs, sin, cos, exp, log, find (查找), angle, imag (虚部), conj (共轭)。
  • 类型标识:单字符表示数据类型,如 c(字符), i(整数), f(浮点), s(符号), z(时间), L(列表), D(字典), T(表) 等。
  • 随机数生成
    • ?n:生成 [0,n) 均匀分布的随机整数。
    • ?-n:生成 n 个标准正态分布随机数。
    • ?z:生成双精度随机数。
    • n?n:有放回抽样。
    • -n?n:无放回抽样。
17. CRISPR-like tools that finally can edit mitochondria DNA (www.nature.com)

文章摘要:

这篇新闻报道探讨了开发能够编辑线粒体DNA的新型CRISPR类工具的进展。线粒体DNA因其被双层膜包裹、位置特殊,传统CRISPR-Cas系统难以有效递送,因此长期成为基因编辑的“禁区”。然而,线粒体疾病与众多健康问题相关,对编辑技术需求迫切。

核心内容:

  1. CRISPR的局限:传统CRISPR系统依赖向导RNA和Cas蛋白复合物,难以穿过线粒体膜,且向导RNA在细胞器内不稳定,导致编辑失败。
  2. 新兴编辑工具:科学家转而开发不依赖CRISPR的新方法,其中两大主流工具是:
    • DdCBE:基于“双链DNA胞嘧啶碱基编辑器”的简化版,利用人工蛋白质直接靶向线粒体DNA。它将DddA(一种细菌毒素)与DNA结合蛋白融合,能在不切断DNA双链的情况下,将特定位置的胞嘧啶(C)转化为胸腺嘧啶(T),从而修复某些致病突变。
    • TALED:全称“线粒体碱基编辑器”,是更先进的工具。它融合了DddA、一种新型TadA脱氨酶(通常用于腺嘌呤编辑)和TALE DNA结合蛋白。其独特之处在于能同时编辑DNA的两条链:一条链上进行C→T转换,另一条链上进行A→G(腺嘌呤→鸟嘌呤)转换。这种双重编辑能力理论上可纠正更广泛的突变类型。
  3. 技术原理与突破:这些工具摒弃了向导RNA,转而使用蛋白质(如TALE)来识别目标DNA序列。它们利用脱氨酶化学修饰DNA碱基,实现“碱基编辑”而非“切割”,过程更温和,减少了DNA双链断裂带来的风险。
  4. 应用与挑战
    • 应用:主要目标是治疗由线粒体DNA突变引起的遗传性疾病(如Leber遗传性视神经病变)。同时,也为研究线粒体在衰老、癌症中的作用提供了新工具。
    • 挑战:现有工具编辑效率仍有待提高,且DdCBE只能进行C→T转换,TALED目前也主要局限于特定类型的碱基对转换,尚无法覆盖所有可能的线粒体DNA突变。
  5. 前景:尽管存在局限,这些工具标志着线粒体基因编辑领域的重大突破,为开发新的治疗策略打开了大门。研究人员正致力于提高其精度、效率和适用范围。

总之,文章阐述了传统CRISPR工具在线粒体编辑上的障碍,重点介绍了DdCBE和TALED两种新型蛋白质驱动的碱基编辑器的工作原理、突破点、潜在应用及当前面临的挑战。

18. Sony PlayStation 2 fixing frenzy (retrohax.net)

Sony PlayStation 2 修复热潮

本文基于作者几年前的旧照片与数据,记录了批量购买并修复约9台PlayStation 2(主要为厚机型号)的完整过程。修复目标超越了基础清洁,涵盖了更复杂的组件维修与现代改装。

主要问题与修复

  • 常见问题:包括清洁需求、塑料部件损坏、风扇故障、实时时钟(RTC)电池耗尽等。
  • 主板处理:PS2主板制造精良,通常无硬件故障。主要工作是彻底清洁、更换原厂电池以及替换老化或损坏的散热垫。
  • 光驱维修:部分光驱需要更换激光模块。原装型号为KHS-400C,替换件仍可获取(例如通过AliExpress)。
  • 塑料部件修复:使用丙酮、铁丝加固及焊接技术修复损坏的塑料件。一个光驱的塑料导轨碎片脱落,作者采用碳酸钠与氰基丙烯酸酯胶混合物进行临时塑形修复。
  • 电源开关修复:因触点氧化导致故障,需拆解清洁触点以恢复功能。

现代改装

  • 自制系统安装:所有修复完成的主机均安装了FMCB或FHDB自制系统,这是当前PS2软改的主流方案。
  • 硬盘准备
    • 使用全新的1TB SATA硬盘及专用硬盘适配器。
    • 在PC上使用特定软件(如HDLoader Image Install Program)格式化硬盘并写入FHDB镜像。
    • 可将游戏光盘镜像存入硬盘运行。
  • 手柄维修与测试
    • 利用自制系统运行手柄测试软件(如jbit开发的测试程序)检验功能。
    • 针对手柄表面橡胶涂层老化发粘的问题,使用甲醇清除旧涂层,随后进行底漆和重新喷漆处理。

最终配置与结果

作者将6台PS2厚机配置为完整套装,每套包含:

  • 经过全面修复的PS2厚机(新RTC电池、新散热垫、新激光模块)
  • 1TB SATA硬盘及硬盘适配器
  • 原装8MB Sony记忆卡
  • 新电源线
  • 修复后的手柄
  • PS2转HDMI适配器

尽管这些套装未能售出(即使仅覆盖成本),但作者通过此项目积累了大量知识,并保留了一台功能完好的PS2供自己使用。

19. Benchmarking Postgres 17 vs. 18 (planetscale.com)

文章标题: Postgres 17 vs. 18 性能基准测试

主要内容: 本文对PostgreSQL 18与17的性能进行了详细基准测试,重点评估了Postgres 18新引入的 io_method 配置选项(syncworkerio_uring)在不同存储类型和并发下的读取性能表现。测试使用sysbench工具的oltp_read_only基准,在数据量(~300GB)远大于内存(64GB)的配置下进行,旨在模拟I/O密集型场景。

测试配置:

  • 实例: 使用四种AWS EC2实例,分别配备不同性能的网络附加存储(gp3、io2)和本地NVMe驱动器。
  • 变量: 在每种实例上,分别运行Postgres 17和Postgres 18的三种io_method模式,测试不同连接数(1、10、50)和不同查询范围大小(range_size=10010000)的组合。

关键发现:

  1. 单连接场景:

    • 网络附加存储(gp3、io2)上,Postgres 18的 syncworker 模式性能优于 Postgres 17 和 io_uring
    • 本地NVMe磁盘性能远胜所有网络存储选项,且所有I/O模式在NVMe上表现相近。
    • 对于短查询,Postgres 18相比17有显著性能提升。
  2. 高并发场景(50连接):

    • IOPS和吞吐量成为网络附加存储的明确瓶颈,不同Postgres版本和I/O设置带来的性能差异相对较小。
    • 本地NVMe磁盘依然表现最佳。
    • range_size=10000(更偏向CPU密集型)的测试中,io_uring 在本地NVMe实例上首次胜出,略微优于其他模式。
  3. 中等并发场景(10连接):

    • 在某些配置下(如gp3 3k IOPS, range_size=100),io_uring性能显著差于其他模式,表明其在低I/O并发场景下优势不明显。
  4. 为何io_uring未全面胜出?

    • 测试为特定只读工作负载。
    • 索引扫描尚未使用异步I/O(AIO)。
    • io_uring的异步操作中,校验和计算/内存拷贝仍可能成为瓶颈。
    • worker模式从单进程视角提供了更好的I/O并行性。
  5. 成本与性价比:

    • 本地NVMe实例(i7i)以更低的成本提供了更大的存储空间和最佳性能,是性价比最优的选择。

结论:

  1. Postgres 18 带来了有价值的I/O改进和配置灵活性。
  2. 本地磁盘在性能上具有决定性优势。低延迟和高IOPS能最大程度减少其他配置带来的影响。
  3. worker 模式设为默认值是合理的选择,它提供了类似 io_uring 的异步收益,且不依赖特定内核接口。
  4. 不存在“一刀切”的最佳I/O配置。新的 worker 设置对网络附加存储场景的提升不如预期显著。
  5. io_uring在高并发、顺序I/O较多的场景(如大范围扫描)下可能展现出优势。

附注: 文章还提供了测试中使用的关键PostgreSQL调优参数配置。

20. DDoS Botnet Aisuru Blankets US ISPs in Record DDoS (krebsonsecurity.com)

本文聚焦于全球最大规模的物联网(IoT)僵尸网络Aisuru,阐述了其运作机制、攻击规模、目标影响及运营者背景。

核心概述

Aisuru是一个由约30万台被入侵的消费级物联网设备(如路由器、摄像头)组成的僵尸网络。这些设备因固件过时或使用默认设置而遭入侵。其运营者持续扫描互联网,将这些设备纳入用于发动分布式拒绝服务(DDoS)攻击的“军队”,通过发送海量垃圾流量压垮目标服务器。

攻击规模创纪录

Aisuru的攻击能力持续突破纪录:

  • 2025年5月,发起近6.35 Tbps(太比特/秒)的攻击,创下当时记录。
  • 此后迅速刷新纪录,攻击强度先后突破11 Tbps和22 Tbps。
  • 2025年10月6日,其发起了一次高达29.6 Tbps的测试性流量冲击,虽然持续时间很短,但展示了惊人的破坏潜力。

主要攻击目标与广泛影响

Aisuru近期的攻击主要针对为Minecraft等在线游戏社区提供服务的互联网服务提供商(ISP),导致目标服务商(如TCPShield、Cosmic)频繁宕机。

  • 对美国ISP的集中影响:证据显示,构成僵尸网络的大量受感染设备集中在美国ISP(如AT&T、Charter、Comcast、Verizon)的网络中。这不仅使受害者的攻击更难缓解,其巨大的出站流量还造成了广泛的连带损害,导致这些ISP的网络拥塞,影响到非攻击目标的正常客户服务。
  • ISP面临新挑战:专家指出,多数ISP擅长防御入站DDoS攻击,但对管理海量自身客户设备发起出站攻击所导致的服务降级准备不足,这是一个日益严峻的新问题。

技术起源与运营模式

  • 源于Mirai:Aisuru基于2016年泄露的著名Mirai僵尸网络代码构建。二者有相似之处,例如主要攻击游戏服务器。Aisuru的运营者还可能将僵尸网络作为住宅代理网络出售给其他网络犯罪者,用于隐藏恶意流量来源。
  • 快速扩张手段:该僵尸网络疑似利用多个零日漏洞加速扩张。2025年4月,其运营者疑似侵入了路由器厂商Totolink的固件更新服务器以传播恶意脚本。
  • 竞争对手被取缔带来机遇:2025年8月,其竞争对手“Rapper Bot”僵尸网络被美国司法部取缔后,Aisuru迅速接管了其遗留的大量易受攻击设备,进一步壮大。

关键运营者信息

据网络安全公司XLab等来源,Aisuru由三名网络犯罪分子运营:

  • “Forky”:被指为21岁的巴西人,长期活跃于DDoS租用服务行业,此前多次被FBI查封相关域名。他本人否认参与Aisuru的攻击,并声称自己也在追查运营者。
  • “Snow”:负责僵尸网络开发。
  • “Tom”:负责寻找新漏洞。 Aisuru的Telegram运营者使用“Ethan J. Foltz”作为昵称,以嘲讽被逮捕的Rapper Bot经营者,暗示了其与该行业的长期关联。

总结

Aisuru僵尸网络体现了物联网安全漏洞如何被转化为超级攻击武器。其攻击规模空前,不仅直接打击目标,更通过利用美国主要ISP网络中的海量感染设备,造成了广泛的网络拥塞和服务干扰,凸显了ISP在防御出站攻击方面面临的新挑战。其运营模式复杂,涉及攻击出租和代理服务,且背后存在一个经验丰富的犯罪团伙。

21. Kaitai Struct: declarative binary format parsing language (kaitai.io)

Kaitai Struct:声明式二进制格式解析语言

Kaitai Struct 是一种声明式语言,用于描述各种二进制数据结构(如文件格式、网络数据包格式)。其核心思想是,用户只需用 Kaitai Struct 语言(.ksy 文件)一次性描述某个二进制格式,之后便可通过编译器(ksc)将其编译成多种编程语言的源代码,从而生成解析该格式的解析器,实现跨语言、跨平台的解析功能。

核心问题与解决方案

处理二进制格式通常复杂、易错且调试困难。Kaitai Struct 旨在解决此问题:它让开发者只需专注于格式描述本身,而不必为每种语言或平台重复编写解析代码。

使用流程

在项目中集成 Kaitai Struct 通常遵循以下步骤:

  1. 描述格式:创建 .ksy 格式描述文件。
  2. 调试验证:使用可视化工具调试格式,确保其正确解析数据。
  3. 编译生成:将 .ksy 文件编译为目标语言的源代码(如 .py, .java 等),并集成到项目中。
  4. 添加运行时库:为所选语言添加轻量级的 Kaitai Struct 运行时库(用于保证生成代码的可读性)。
  5. 使用解析器:调用生成的类来解析二进制文件或数据流,并访问其结构化组件。

快速入门示例

以一个描述 GIF 文件头部的 .ksy 文件为例:

meta:
  id: gif
  file-extension: gif
  endian: le
seq:
  - id: header
    type: header
  - id: logical_screen
    type: logical_screen
types:
  header:
    seq:
      - id: magic
        contents: 'GIF'
      - id: version
        size: 3
  logical_screen:
    seq:
      - id: image_width
        type: u2
      - id: image_height
        type: u2
      # ... 其他字段

该文件声明了 GIF 文件的结构:以小端序排列,包含 headerlogical_screen 两个块。header 包含魔术字串 “GIF” 和版本号;logical_screen 包含图像宽高等字段。

.ksy 文件可被编译为 C++, C#, Go, Java, JavaScript, Python, Ruby 等十余种语言的代码。例如,在 Java 中即可轻松加载 .gif 文件并访问其宽度和高度属性。

下载与安装

Kaitai Struct 编译器提供多种安装方式:

  • Linux (Debian/Ubuntu):通过 GitHub Releases 下载 .deb 包安装。
  • macOS:通过 Homebrew 安装 (brew install kaitai-struct-compiler)。
  • Windows:提供 .msi 安装程序或免安装的通用 .zip 包。
  • 通用方式:提供包含所有依赖的 .zip 包,解压即用,无需安装。
  • 从源码构建:可通过克隆主仓库(含所有子模块)并使用 sbt 等工具进行构建。

注意:由于原有分发服务 (JFrog Bintray) 已停止,稳定版编译器已迁移至 GitHub Releases。开发版分发系统正在重建中。

许可证

Kaitai Struct 是免费开源软件,遵循以下许可协议:

  • 编译器和可视化工具GPLv3+
  • 运行时库:大多数语言(C++, C#, Go, Java, Python, Ruby 等)采用宽松的 MIT 许可;JavaScript 运行时采用 Apache v2 许可。

实际应用

Kaitai Struct 拥有一个不断增长的免费开源文件格式与协议规范库,并被多个知名开源项目使用,例如:

  • Veles:二进制数据可视化分析工具。
  • mitmproxy:交互式中间人流量检查与修改工具。
  • Kismet:无线网络检测、嗅探和入侵检测系统。
  • OWASP ZAP:全球使用最广泛的网络应用扫描器。
22. Wireshark 4.6.0 Supports macOS Pktap Metadata (PID, Process Name, etc.) (nuxx.net)

Wireshark 4.6.0 支持 macOS Pktap 元数据(PID、进程名等)

Wireshark 4.6.0 版本现已发布,新增了对解析 macOS 系统 pktap 接口所捕获的额外元数据的支持,包括进程信息(如进程名、PID等)。这使得在 macOS 上进行网络流量分析时,能够更容易地识别具体是哪个进程产生了网络活动。

如何捕获包含元数据的流量

通过 tcpdumppktap 接口参数即可捕获带有元数据的流量,并保存为 pcap-ng 格式文件。

基本命令格式

tcpdump -i pktap,<接口列表> -w <输出文件.pcapng>

示例

  1. 捕获特定接口(如 en0)的流量:
    tcpdump -i pktap,en0 -w outfile.pcapng
    
  2. 捕获所有接口(包括回环和隧道接口)的流量,并添加过滤条件:
    tcpdump -i pktap,all host 192.168.0.6 -w outfile.pcapng
    

注意:使用 pktap 伪接口时,捕获的数据链路类型为默认的 PKTAP,输出文件为 pcap-ng 格式。如果需要使用传统的 pcap-savefile 格式,需强制使用 RAW 数据链路类型。此外,pktap 捕获不处于混杂模式

在 Wireshark 中查看与过滤

  1. 查看信息:在 Wireshark 中打开生成的 .pcapng 文件,每个数据包的 “Frame → Process Information” 部分即可查看到关联的进程名、PID 等详细信息。
  2. 过滤操作:可以使用 frame.darwin.process_info 字段进行过滤,便于快速定位特定进程的流量。
    • 按进程名过滤:例如 frame.darwin.process_info.pname == "firefox"
    • 按 PID 过滤:例如 frame.darwin.process_info.pid == 92046

功能价值

该功能极大地简化了网络问题的诊断过程,可以帮助用户:

  • 正向排查:快速识别产生意外网络流量的源头进程。
  • 反向分析:查明某个已知进程在执行何种网络活动。

Wireshark 4.6.0 通过原生支持解析 pktap 元数据,使这一分析过程变得直接而高效。

23. Comparing the power consumption of a 30 year old refrigerator to a new one (ounapuu.ee)

本文对比了一台30年老冰箱与新冰箱的能耗表现。作者公寓中原配的UPO Jääkarhu冰箱(1995年制造)运行噪音大,且一个压缩机持续运转,导致冷藏室后壁结冰、冷冻室迅速结霜,每日耗电约2.6千瓦时。

作者购入一台尺寸相近、具备“无霜”功能的新冰箱(价格约369欧元),实测新冰箱每日耗电仅0.7千瓦时。数据显示,老冰箱月耗电量约78千瓦时,新冰箱仅约21千瓦时,能耗降低约73%。更换冰箱后,配合新洗碗机,公寓整体用电量下降10-20%。

基于每月节省57千瓦时、电价0.17欧元/千瓦时计算,新冰箱的电费节省可在约38个月(约3年多)内抵消购买成本。作者还提到将老冰箱赠予他人临时使用,但对新冰箱的耐用性持保留态度,认为其可能不如老冰箱长寿。

24. Modern iOS Security Features – A Deep Dive into SPTM, TXM, and Exclaves (arxiv.org)

现代iOS安全特性深度解析:SPTM、TXM与Exclaves

核心架构转变

  • XNU内核是Apple操作系统的基础,虽被标记为混合内核,但通常以单一特权信任域运行,所有系统功能集中于此。
  • 这种架构存在安全缺陷:内核被攻破将直接影响整个系统
  • Apple已采取措施,推动内核架构向更模块化、更接近微内核设计的方向发展。

SPTM(安全页面表管理器)机制

  • SPTM是系统中内存重类型化的唯一权威
  • 通过基于帧重类型化和内存映射规则集的SPTM域,向系统中引入信任域。
  • 这些信任域有效隔离不同功能,防止它们相互影响。
  • SPTM域的具体作用包括:隔离代码签名和权限验证等功能

TXM(可信执行管理器)的作用

  • TXM负责代码签名和权限验证
  • 通过SPTM引入的信任域隔离,TXM功能被安全地与其他系统功能分隔

Exclaves安全特性

  • SPTM的架构引入为Exclaves奠定了基础
  • Exclaves是一种关键的最新安全特性
  • 文章对其通信机制进行了深入分析,发现了多种通信方式

Exclaves的通信机制

  • xnuproxy:作为安全世界请求处理器,是核心通信方式之一。
  • Tightbeam IPC框架:是Exclaves的另一种主要通信机制。

安全影响与意义

  • 这些架构变化显著提升了系统安全性
  • 关键敏感组件被移出XNU内核的直接控制范围
  • 内核被攻破的情况下,系统仍能提供额外安全保障,攻击不再能直接威胁最高信任级别的组件。

研究价值

  • 此前缺乏对SPTM及相关安全机制的科学讨论
  • 本文首次提供了全面的分析,并创建了首个考虑所有当前缓解措施的结论性报告
25. SpaceX launches Starship megarocket on 11th test flight (www.cnn.com)

SpaceX的“星舰”超重型火箭在第11次试飞中成功完成了一系列关键测试,标志着第二代原型机(V2版本)取得重大进展。此次试飞持续约一小时,成功实现了模拟卫星部署和太空中的发动机二次点火等关键目标。这已是V2版本连续第二次成功试飞,此前该型号曾经历三次空中失败和一次地面爆炸事故。

试飞核心成就与未来方向

  • 技术里程碑:火箭成功完成有效载荷门开启、模拟星链卫星部署,以及再入大气层前的发动机二次点火。后者是未来实现轨道飞行和回收的关键能力。
  • 火箭性能:“星舰”是有史以来建造的最强大火箭,高达约121米,起飞推力达1670万磅力,远超NASA的土星五号和SLS等火箭。
  • NASA月球任务:此次成功是SpaceX为完成NASA 2027年载人登月计划迈出的重要一步。但实现这一目标仍需在燃料加注等更复杂技术上取得突破。
  • 迭代发展:本次试飞是当前V2版本的最后一次测试,SpaceX计划在下一次试飞中推出体积更大的V3版本,用于首次轨道飞行和实际载荷任务。

试飞过程关键节点

  • 火箭顺利通过最大动压段,并完成级间分离。
  • 超级重型助推器在墨西哥湾实施受控溅落,未计划回收。
  • “星舰”飞船在印度洋成功溅落,期间故意移除部分隔热瓦以测试热防护极限。

行业意义与背景 星舰的成功有望大幅降低每磅载荷的入轨成本,对月球基地建设和火星任务具有变革性意义。本次试飞也展现了SpaceX在“快速可重复使用”设计上的进展。尽管星舰距离执行实际卫星发射或载人任务尚有距离,但其庞大的运载能力和潜在的经济性已引起广泛关注。SpaceX的星链网络目前已有超过700万用户,未来星舰可能逐步接替猎鹰9号执行大规模星链卫星部署。

26. My trick for getting consistent classification from LLMs (verdik.substack.com)

本文介绍了一种确保大语言模型分类结果一致性的技巧。核心问题是,LLM对相同输入可能生成词法不同但语义相同的分类标签,导致难以进行数据聚合与分析。

核心洞察:作者发现语言模型虽然在词法上不一致,但在语义上是一致的

解决方法:借鉴词袋模型思想,通过以下步骤实现一致性分类:

  1. 嵌入与聚类:将LLM生成的各类标签转换为向量,并在向量空间中进行聚类。
  2. 向量搜索:对新内容分类时,首先在向量库中进行相似性搜索。
  3. 路径压缩:利用并查集算法,将语义相似的标签聚合到同一个“根标签”,从而保证输出结果的一致性。

实验结果(基于分类推文):

  • 标签数量:纯LLM方法产生约6520个标签,而向量聚类方法仅产生约1381个,减少约80%。
  • 缓存命中率:随着数据量增加,命中率迅速提升,处理10000条数据时命中率超过94%。
  • 成本:初期成本略高约15%,但后期大幅下降,处理10000条数据时成本仅为纯LLM方法的1/10。
  • 延迟:初期延迟较高(约慢130%),但随着缓存命中率提高,后期延迟会改善。

实现与代码

  • 作者提供了一个Golang包 consistent-classifier,封装了该方法。
  • 核心流程包括:生成文本嵌入、向量缓存查询、缓存未命中时调用LLM并更新聚类。
  • 关键参数是相似度阈值(默认设为0.80)。

总结:该方法有效解决了LLM分类标签不一致的问题,尤其适用于无预定义标签的大规模数据分类场景。它通过向量聚类和并查集算法,在保证语义准确性的前提下,显著提升了分类结果的一致性和长期处理效率。

28. Why study programming languages (2022) (people.csail.mit.edu)

本文探讨了学习编程语言的意义,从两个根本问题出发:为何设计新编程语言以及何为编程语言

一、为何设计新编程语言?

尽管现有语言(如C、Java)已能实现所有程序,新语言仍在不断产生。常见理由包括抽象、性能、便利性、易用性等,但这些标准多为主观、难以量化,且无法预测语言的流行度。作者通过类比指出:如同为表达新概念而发明一门全新自然语言,其学习成本可能远高于实用价值,但编程语言常期望在一种语言中学到的概念能迁移到另一种,从而鼓励掌握多语言。

作者提出假设:创建新语言是为了体验和探索在旧语言中无法触及的新思想。语言不仅是表达工具,更是探索手段。历史上,ALGOL、APL等语言通过推动表达与探索,改变了计算的发展方向。

二、何为编程语言?

编程语言不应仅视为语法,因为符号本身无意义。语义(程序的意义)是重要部分,但非全部。例如:

  • Python程序员看重其丰富的库生态;
  • JavaScript开发者关注Web 2.0应用;
  • Haskell强调类型系统;
  • LISP重视宏;
  • Go聚焦并发模型。

这些特性定义了语言,却与核心语义关联有限。因此,编程语言的初步定义可概括为:语法、语义与生态系统的结合。语法和语义可形式化研究,而生态系统则与探索能力紧密相关——例如Python通过库实现探索,Go通过并发模型实现探索。

最终,作者将编程语言定义为:支持探索的语法、语义与生态系统,其中语义和生态系统的重点由它们提供的探索工具决定。学习编程语言需涵盖:语法、语义、类型系统、运行时系统、垃圾回收、调试器、IDE、编译器及语言设计等所有相关领域,这些领域的划分多是人为的,主要用于学术研究。

三、总结与倡议

作者鼓励创造“最荒谬、不切实际”的语言,指出语言设计的真正目标是探索和创造未知,而非仅追求可衡量指标或表达已有事物。

29. LLMs are getting better at character-level text manipulation (blog.burkert.me)

大语言模型在字符级文本操作能力上取得显著进步

传统挑战

大语言模型(LLM)传统上处理单个字符的能力较弱,因为文本被分词器编码为词元(token),通常代表一簇字符甚至整个单词,这使得对文本进行粒度低于词元的操作(如字符计数、替换)十分困难。

新旧模型对比测试

1. 字符替换任务

测试任务:将句子 "I really love a ripe strawberry" 中所有字母 "r" 替换为 "l",再将所有 "l" 替换为 "r"。

模型 响应结果
GPT-3.5-turbo I lealll love a liple strallbeelly
GPT-4-turbo I rearry rove a ripe strawberly
GPT-4.1 I rearry rove a ripe strawberry
GPT-5 / GPT-5-mini I rearry rove a ripe strawberry
Claude Sonnet 4 首次正确完成该任务

结论:从 GPT-4.1 开始,模型能稳定完成此任务。较新的小型模型 GPT-5 Nano 仅犯一次错误。

2. 字符计数任务

  • 句子 "I wish I could come up with a better example sentence." 的字符计数:仅 GPT-4.1 可靠完成。启用推理后,GPT-5 全系列及 Claude Sonnet 模型均能完成。
  • 计算特定字符(如 "r"):GPT-5 全系列表现良好,但面对复杂变体(如 "strawberrry")时结果仍不一致。

3. 编码解码任务(Base64 + ROT20)

测试方法:将句子 "Hi, how are you doing? Do you understand the cipher?" 先用 ROT20 加密,再进行 Base64 编码。模型需解码或正确应答。

模型 Base64 解码 ROT20 解密 综合结果
GPT-4.1 通过 失败 失败
GPT-5 / GPT-5-mini 通过 通过 通过
Claude Sonnet 4 失败 失败 失败
Gemini 2.5-pro 通过 通过 通过
Qwen 235B (带推理) 通过 通过 通过
特殊案例
Claude Sonnet 4.5 / Grok 4 因安全策略拒绝处理非正常文本
Kimi K2 提供解密代码而非直接解密

关键发现

  • 较新的大型模型能成功解码包含非英语内容的 Base64 文本,表明它们对 Base64 算法有了功能性理解,而非仅记忆常见英语词模式。
  • 字符级操作(替换、解码)能力在基础模型中已有实质提升,推理能力可进一步增强但非必需。

主要观察结论

  1. 编码理解泛化:新/大型模型展现出对 Base64 等编码算法的更深层次理解,能处理看似无意义的文本(如加密后的内容),而非仅记忆模式。
  2. 字符操作能力进步:尽管基于词元架构,新模型在字符替换、子串识别等任务上表现出更强的可靠性。
  3. 局限性仍然存在:字符级操作对 LLM 仍非完全解决问题,复杂计数和混合编码任务仍具挑战性。不同模型的安全策略(如 Claude 4.5)可能过度限制其处理非常规文本的能力。
30. If you'd built a "tool" that stupid, why would you advertise the fact? (svpow.com)

文章《If you'd built a "tool" that stupid, why would you advertise the fact?》主要批评了某学术网站滥用AI生成无意义类比的行为。

作者收到一封邮件,声称其2013年的恐龙神经棘分叉研究论文《NEURAL SPINE BIFURCATION…》已被AI转化为“易于理解的类比”。邮件举例称:“蜥脚类恐龙神经棘的分叉可以类比为河流三角洲的分支模式……”作者对此强烈反对,认为这种类比毫无科学依据,与将论文类比为普鲁斯特的《追忆似水年华》同样荒谬。

更令作者不满的是,该网站要求用户付费升级至高级会员才能查看完整类比内容,作者表示拒绝。同事马特转发该邮件时也嘲笑道:“这什么玩意儿,简直无法理解。如果你造了这么个‘愚蠢的工具’,为什么还要到处宣传?”

作者承认AI(如ChatGPT)在某些领域(例如编程细节查询)确有实用价值,但认为当前存在大量无用甚至有害的AI应用,而将科学论文转化为无意义类比就是其中之一。文末,作者呼吁停止此类行为。

文章最后注明了引发该事件的网站(academia.edu)及相关论文的参考文献信息。

31. South Africa's one million invisible children without birth certificates (www.france24.com)

南非超过一百万“隐形”儿童没有出生证明

南非有超过一百万儿童因没有出生证明而无法获得医疗、教育、就业乃至社交活动等基本权利,陷入法律与社会的“隐形”困境。本文通过具体案例与数据,揭示了这一问题的严重性、背后的官僚体系障碍以及维权组织的法律挑战。

一、典型个案:被“隐形”的生活

15岁少年Qamani Sentiwe的梦想是为国家足球队效力,但因无出生证明无法参加正式比赛。他感觉自己“不是一个完整的人”。其母亲生他时年仅16岁且无身份证,未能完成出生登记后便抛弃了他。此后由祖母Nozibele Dada在贫困的开普敦Langa镇抚养。

  • 家庭困境:祖孙与八人共居一室的小棚屋中,祖母未获得政府福利救济(因孙子“官方不存在”)。申请过程耗费四年仍无结果。
  • 心理影响:祖母担忧自己死后孙儿的处境,而Qamani则保持着乐观,希望有人能帮助他们。

二、核心问题:积压的申请与难以逾越的官僚门槛

数据严峻:内政部积压了超过25万份“延迟出生登记”申请,申请人等待时间长达七年。实际无证人数远多于此,因许多人放弃申请或从未申请。 申请障碍

  1. 繁琐流程与经济负担:对1200万极端贫困人口而言,申请过程有时难以承担。例如,孤儿Nosipho Mnyakama需自费前往1000公里外的出生省份提交申请。
  2. 过度严苛的规则:内政部要求对每个延迟登记案例(每年约20万份)进行五人小组面试(含移民官),以核实信息。倡导组织认为这不必要且效率低下。
  3. 官僚作风与排斥态度:机构被批评为“帮助官员避免不良绩效评估”而设限,申请人常被当作非法移民对待而非应获得帮助的公民。

三、法律挑战与系统缺陷

非政府组织儿童研究所正在西开普省高等法院起诉政府,指控延迟出生登记积压案违反宪法,并提交了包括Qamani在内的15名受影响者的证词。

  • 核心诉求:简化流程,鼓励而非逼退申请人;允许跨省内部沟通,免除贫困家庭的长途跋涉。
  • 专家观点:高级法律研究员Paula Proudlock指出,现行规则针对的是官员的便利,而非服务对象的实际情况。此外,出生登记减少导致领取儿童抚养金的家庭数下降,最贫困和最脆弱者受害最深。

四、获得证明后的转变与更广泛的背景

案例对比:31岁的园丁Bongumusa Bernat在雇主资助下完成出生登记后,生活显著改善——找到了工作,能开银行账户、获得保险和存款。此前他因无身份证明求职屡屡碰壁,并担心被误认为非法移民而遭攻击。 他感叹:“没有这些证件,你根本无法生活——就像被戴上了手铐。”

非洲大陆性问题:根据联合国非洲经济委员会数据,非洲有5.4亿人无官方身份证明,其中儿童风险最大,超过半数五岁以下儿童没有出生证明。南非的困境是这一更大范围危机的一个缩影。

32. A modern approach to preventing CSRF in Go (www.alexedwards.net)

文章摘要:Go 中防止 CSRF 的现代方法

本文探讨了 Go 1.25 标准库引入的新中间件 http.CrossOriginProtection,并分析了仅依赖它(而非传统令牌检查)在满足特定条件下实现 CSRF 防护的可能性。

核心中间件:http.CrossOriginProtection

  • 原理:通过检查请求的 Sec-Fetch-SiteOrigin 头部,自动拒绝任何非同源的“非安全”方法请求(如 POST),并返回 403 Forbidden
  • 使用:可直接包装路由处理程序,也支持配置可信来源和自定义拒绝处理器。
  • 优势:简单、强大,是标准库的重要补充。

主要局限性

  1. 浏览器依赖:仅对支持 Sec-Fetch-SiteOrigin 头部的现代浏览器有效。目前两者支持率分别约为92%和95%,因此单独使用不足以防御所有 CSRF 攻击。
  2. HTTPS 要求Sec-Fetch-Site 头部仅在应用使用 HTTPS(或开发时的 localhost)时才会完整发送。
  3. 协议降级风险:当缺失 Sec-Fetch-Site 头部而回退到比较 OriginHost 头部时,可能错误地允许从 http://{host}https://{host} 的跨站请求,需配合 HSTS 缓解。

现代综合防护策略

作者提出,在同时满足以下多个条件时,可以无需基于令牌的 CSRF 检查:

  1. 强制 TLS 1.3:禁用 TLS 1.3 以下版本。这能排除不支持 Sec-Fetch-SiteOrigin 头部的旧浏览器(如 Firefox v60-69 除外,其使用率约0%)。
  2. 使用 SameSite Cookie:设置 SameSite=LaxSameSite=Strict,可防止跨站请求伪造,特别用于弥补上述旧浏览器漏洞。所有支持 TLS 1.3 的主流浏览器均支持此属性。
  3. 应用 http.CrossOriginProtection:作为主要防护层。
  4. 配置 HSTS:若应用同时提供 HTTP 访问(含重定向),则需启用 HTTP 严格传输安全策略,以消除协议降级风险。
  5. 遵循最佳实践:绝不在 GET、HEAD 等安全方法中执行状态变更操作。
  6. 评估残余风险:需接受来自同站点(如同一主域下的子域)在 Firefox v60-69 上发起的攻击风险,以及来自未知的、支持 TLS 1.3 但不支持必要头部的非主流浏览器的极低概率风险。

关键概念澄清

  • 跨站 vs. 跨源http.CrossOriginProtection 防御的是跨源(协议+主机+端口一致)请求,比防御跨站(协议+注册域名一致)更严格,能有效阻止来自同一主域名下其他受损子域的攻击。

总结

通过结合 HTTPS、强制 TLS 1.3、http.CrossOriginProtection 中间件和 SameSite Cookie,可以在现代 Go 应用中构建强大的 CSRF/CORF 防护体系,前提是能接受由此带来的旧浏览器无法访问的限制,并评估并管理极小的残余风险。

33. When if is just a function (ryelang.org)

当 if 只是一个函数时

在 Python 等语言中,iffor 等是内置的特殊语法,无法像普通函数那样被组合、传递或部分应用。而在 REBOL、Red、Rye 等语言中,控制结构(包括 ifforwhile,甚至函数和变量定义)本质上都是普通函数,遵循相同的规则。

三大核心优势

  1. 一致性:消除了“特殊形式”与“普通函数”之间的界限,所有结构遵循统一模式。
  2. 灵活性:控制结构作为函数,自然获得函数的组合、传递和高阶用法能力。
  3. 可扩展性:用户可以轻松创建自定义的控制结构,语言没有任何“禁区”。

实际对比与实现机制

以条件判断为例:

  • Python:使用特殊语法 if condition: ...
  • Ryeif 是一个函数,接受两个参数:一个布尔条件和一个代码块 { ... }关键点在于,代码块 { ... } 在 Rye 中是数据,只有被显式调用(如 do)时才会执行。因此 if 函数收到代码块后,根据条件决定是否执行它。

Rye 中所有结构都遵循同一模式:名称 参数1 参数2。无论是循环、迭代还是函数定义,都使用“函数名 + 参数(部分参数可以是代码块)”的格式,不再区分“语言特性”与“库函数”。

一致性的力量

由于控制结构是函数,它们可以无缝组合。例如,在 Rye 中可以用一行代码表达一个需要循环的条件判断:

loop either temperature > 32 { 3 } { 1 } { prns "Hot!" }

而在 Python 中,通常需要多行代码和变量。

管道与高阶应用

  • 管道输入:控制流函数支持管道操作,例如 temperature > 30 |if { print "Hot!" }
  • 函数应用与部分应用:可以使用 apply 调用函数,也可以用 partial 创建新函数(如 three-times: partial ?loop [ 3 _ ]),从而便捷地创建自定义控制结构。

可扩展性示例

因为控制流是函数,用户可以定义与内置函数无异的新结构:

  • unless:实现与 if 相反的逻辑。
  • until:创建一个循环,直到满足条件为止。
  • 甚至可以像 switchcasesformapfilterreduce 一样,接受代码块作为参数,实现强大的数据处理流程。

外部库(如 OpenAI 库)也可以提供利用代码块的函数,扩展语言能力。

权衡考虑

  1. 性能:特殊形式可以在编译期优化,而作为函数调用的控制结构可能有运行时开销。
  2. 工具支持:IDE 可以为少数关键字提供专门支持。但反过来,将一切统一为函数后,优化和工具开发的目标也变得集中——只需针对函数调用进行优化和完善文档/工具支持。

这种设计思路模糊了语言核心与库之间的边界,使得语言本身更具可塑性和统一性。

34. Copy-and-Patch: A Copy-and-Patch Tutorial (transactional.blog)

Copy-and-Patch 编译教程摘要

核心概念

Copy-and-Patch 是一种构建基线 JIT 的技术,其核心优势在于:

  • 编译速度极快,通过复制和修补预编译的代码片段生成原生代码
  • 维护简单,无需深入理解汇编语言
  • 生成的代码质量接近手写的基线 JIT,性能足以移除解释开销

实现原理

该方法通过定义 stencils(模板)来实现:每个 stencil 是一个最小的 C 函数,编译后生成可拼接的原生代码片段。JIT 编译时,将预编译好的片段逐个复制到目标缓冲区,并根据需要修补其中的常量或地址。

工作流程

以特化函数 add_a_b(1, 2) 为例:

  1. 分解操作:拆分为加载常量、执行加法、返回结果等字节码级操作
  2. 定义 stencils
    • 用 C 语言编写实现各操作的函数,使用特殊属性和宏标记需要后续修补的“孔洞”
    • 使用 clang -O3 编译生成原生代码
  3. 提取代码片段
    • 从编译后的目标文件中提取各函数的机器码(去掉对齐填充)
    • 将机器码字节序列存储为 C 数组,并编写对应的复制(cnp_copy_*)和修补(cnp_patch_*)函数
  4. JIT 编译
    • 分配可写可执行内存
    • 按顺序调用各操作的复制函数,将代码片段拼接起来
    • 调用修补函数填入特化值(如常量 1 和 2)
    • 切换内存权限为可读可执行
  5. 执行:调用生成的函数指针,得到特化后的计算结果

关键技术细节

  • stencil 设计:使用 STENCIL_HOLE 等宏定义重定位孔洞,使编译器生成对应的重定位信息
  • 编译选项:需使用 -O3 -fno-pic -mcmodel=medium 等特定编译标志
  • 内存管理:通过 mmap 分配内存,并在代码生成后用 mprotect 设置可执行权限
  • 修补机制:根据编译器生成的重定位信息,定位需要修补的字节偏移并填入实际值

扩展应用

教程还提供了更复杂的 stencil 示例(如融合乘加运算),并给出了便于声明多种类型孔洞的宏定义头文件,展示了该方法对复杂操作的表达能力。

优势总结

  • 自动化:stencils 的编译和转换可集成到构建系统中
  • 高效性:主要依赖 memcpy 实现代码生成,开销极低
  • 可移植性:通过 C 语言编写 stencils,编译器负责生成平台特定的原生代码
35. Hackers can steal 2FA codes and private messages from Android phones (arstechnica.com)

Malicious app required to make "Pixnapping" attack work requires no permissions.

36. NVIDIA DGX Spark In-Depth Review: A New Standard for Local AI Inference (lmsys.org)

NVIDIA DGX Spark 深度评测:本地AI推理的新标准

NVIDIA DGX Spark是一款突破性的紧凑型工作站,将超级计算机级别的性能带入桌面领域。其全金属香槟金机身采用金属泡沫面板,设计精致,接口丰富,包括四个USB-C端口(一个支持240W供电)、HDMI、10 GbE网口及两个支持200 Gbps带宽的QSFP端口,支持双机互联以运行更大模型。

硬件核心是NVIDIA GB10 Grace Blackwell超级芯片,集成20核CPU,GPU提供最高1 PFLOP的稀疏FP4张量算力。其最大亮点是128 GB统一相干内存,CPU与GPU共享同一地址空间,允许大模型直接加载运行,消除了数据搬运开销。然而,内存带宽(273 GB/s LPDDR5x)是性能的主要瓶颈。

性能测试表明,DGX Spark的绝对性能不及全尺寸离散GPU系统,但其统一内存设计使其能轻松加载并运行如Llama 3.1 70B、GPT-OSS 120B等大模型,适合原型开发、实验与轻量推理。在小模型上,借助批处理,它能保持稳定高吞吐。此外,通过SGLang启用投机解码技术,可将推理速度提升高达2倍,有效缓解带宽限制。其散热设计出色,高负载下运行稳定,噪音与温度控制良好。

DGX Spark的典型应用场景包括:

  • 模型服务:通过预装Docker,一条命令即可使用SGLang或Ollama提供本地模型服务。
  • 交互与开发:可连接Open WebUI进行对话,或与Zed编辑器集成本地编码助手。
  • 分布式推理:双机互联可扩展运行高达4050亿参数的模型。

总而言之,DGX Spark并非旨在替代数据中心级GPU,而是将DGX体验浓缩至一个美观、高效、安静的桌面设备中,为开发者和研究人员提供了强大的本地AI实验平台。

38. Subverting Telegram's end-to-end encryption (2023) (tosc.iacr.org)

本文标题为《Subverting Telegram's end-to-end encryption (2023)》,作者来自德国CISPA亥姆霍兹信息安全中心。论文分析了在大规模监控场景下,Telegram端到端加密(E2EE)协议的安全性。

研究发现,Telegram的E2EE协议容易受到高效的算法替代攻击(Algorithm Substitution Attack)。尽管官方开源客户端可通过可重复构建机制抵御此类攻击,但该漏洞可能导致通过被攻陷的第三方客户端或定向攻击,实现对Telegram私密通信的高效国家级监控

攻击针对MTProto2.0认证加密方案,利用其在随机填充长度和填充值选择上的自由度。攻击者可通过少量查询、较低延迟,以极高概率恢复大量加密密钥材料。论文强烈建议Telegram修订MTProto2.0的填充方案,并指出通过微调填充描述可使其在多数实际场景中抵抗此类攻击。

此外,作者将MTProto2.0的基础操作模式泛化为MTProto-G,并证明该泛化方案是一种多用户安全的确定性认证加密方案。

该研究揭示了Telegram协议在对抗内部威胁或第三方客户端篡改时存在的潜在风险,并提供了具体的改进建议与安全性证明。

39. Tesla is at risk of losing subsidies in Korea over widespread battery failures (electrek.co)

特斯拉在韩国面临因广泛电池故障而可能失去补贴的风险。近4500辆特斯拉电动汽车报告了严重的电池问题,主要涉及2021款Model 3和Model Y。电池管理系统错误(BMS_a079)触发安全协议,将电池最大充电量限制在50%,严重缩减车辆续航里程。

具体数据显示,共有4351辆车报告了4637次故障,其中部分车辆多次出现问题,尽管特斯拉已更换电池。维修后问题复发被归因于特斯拉使用翻新电池组而非全新电池。在保修期内,特斯拉负责维修;但许多车辆已超过保修期或里程上限,车主需承担超过3000万韩元(约合22000美元)的维修费用。

受此影响,韩国2021款Model Y的22%和Model 3的12%出现该问题。消费者团体要求特斯拉韩国召回所有受影响车辆,并由国土交通部展开调查。韩国环境部警告特斯拉,若不解决问题,将考虑暂停其电动汽车补贴资格,该补贴最高可达580万韩元(约合3950美元),是推动韩国电动汽车普及的重要因素。

特斯拉在韩国市场地位显著,2024年成为销量第三的进口汽车品牌。此问题及潜在补贴取消可能严重打击其市场份额。这是特斯拉首次因软件更新导致大量特定时段车辆电池容量受限,在韩国引发广泛关注。报道指出,特斯拉出口韩国的车辆多产自上海超级工厂,其他市场是否会出现类似问题尚待观察。

40. Jeep software update bricks vehicles, leaves owners stranded (www.thestack.technology)

Jeep 4xE车型的OTA软件更新引发车辆故障,导致车主被困并面临安全风险。问题源于10月10日发布的Uconnect软件更新,该更新安装后可能“砖化”车辆。Jeep客服代表在论坛中警告车主暂缓安装,并确认更新已于当天取消。

多名车主报告更新后车辆动力系统失效。例如,IT从业者Kerry Hollis在低速行驶时失去推进力,而Stephen Gutowski的车辆在更新后无法换挡。部分车主在高速行驶中遭遇故障,引发安全担忧。经销商确认这是全国性问题,并为受影响车辆提供维修,但用户质疑为何需自行承担费用。

Jeep通过后续OTA更新提供了修复方案,多数车辆在重启后恢复正常。然而,事件暴露了汽车软件更新的风险,有车主指出恶意攻击者可能利用此漏洞。报道将此事与CrowdStrike 2024年的软件更新事故相类比,强调分阶段部署和严格测试的重要性。