给软件开发者准备的优质简报,每日阅读 10分钟。
Not everyone is using AI for everything
并非"人人都在用AI做一切":多项数据揭示的实际使用格局与公众态度
- AI使用呈三等分格局:多项数据交叉验证显示,约三分之一美国人积极使用AI,三分之一偶尔使用,三分之一从未使用;微软遥测数据将"使用"定义为每月至少90分钟使用时长,而Datos数据显示62%的桌面设备从不访问AI工具,与"人人都在用AI做一切"的媒体叙事相去甚远
- Z世代采用停滞、负面情绪显著上升:尽管AI技术持续进步,Z世代AI采用率几乎停滞;盖洛普调查显示,对AI感到愤怒的Z世代用户同比相对增长约40%,焦虑和抵触情绪明显上升
- 公众对AI持谨慎态度并呼吁监管:42%的人担心AI取代工作导致失业,35%担忧隐私被侵犯,33%认为AI会传播虚假信息;超过半数美国人希望政府优先制定AI安全与隐私法规,即使这意味着美国AI发展速度落后于中国
- AI净正面评价远低于其他技术:AI的公众净正面评价仅+8%,与社交媒体(+7%)相近,远低于手机(+68%)、互联网(+67%)和太阳能(+65%);多数美国人每周使用AI一次或更少,对AI的实际效用持怀疑态度
- 肉类消费类比揭示市场机会:正如并非所有人都以同样方式消费肉类,不同人群基于健康、成本、环境和伦理等不同原因限制消费;企业可针对不同群体的担忧提供差异化选项——从保护隐私的AI到可选的AI功能再到完全关闭AI,以满足从"肉食者"到"纯素者"的全方位需求
What happened to nerds?
科技行业从"迷人书呆子"到"可怕统治者"的演变
- 过去四十年科技行业积累了极高的公众信任,但近十年领导者们发现可以将这种信任"变现"为注意力——问题在于,流动资产一旦变现,等想要买回时才会发现真正的代价远超预期
- 早期"书呆子"形象由乔布斯(追求完美的偏执狂,为客户服务而非自身名声)和沃兹尼亚克(谦虚回避聚光灯、满足于合理财富)共同构成;人们信任他们,正因为他们看起来根本不需要人们的关注
- 演变经历三阶段:1970年代末至2007年的"神秘副产品"阶段(创始人围绕产品而非自身)、2007至2015年的"寓言"阶段(TED演讲兴起,创始人成为文化偶像)、以及2015年至今的"欺诈邻近"阶段(科技领袖转向追求权力、金钱和名声)
- 真人秀是一种有三十年历史的"洗白技术",能让本该保持距离的危险人物变成客厅里的常客,直到陌生感消失;Founders Fund的"Mafia Game"视频正是这一策略的典型应用,让Sam Altman、Palmer Luckey、Bryan Johnson等掌控AI实验室和武器制造的人物玩"找骗子"游戏,用娱乐化方式让人对其产生好感
- Moxie Marlinspike的参与是节目最狡猾的选角——作为最受尊敬的隐私工程师之一,他的存在让整档节目看起来"正派",掩盖了项目的真实目的
- 作者建议回归"书呆子价值观":保持目标透明、抑制过度自我营销、以Jason Fried和DHH为榜样展现对学习的热爱和谦逊;这种"所见即所得"的风格反而能长期赢得声誉
Your ePub Is fine
EPUB验证通过却遭Kobo报错:Adobe RMSDK的CSS兼容性陷阱
- 作者的EPUB文件通过了epubcheck 3.3版本的全部验证,在亚马逊Kindle、苹果Books、Thorium等多个阅读平台均正常运行,却在Kobo各代设备上被报告为"已损坏"
- Kobo使用Adobe的RMSDK专有电子书渲染引擎,该引擎基于2010年为EPUB2构建的代码库,虽经EPUB3轻度更新但从未现代化,其CSS解析器停留在约2013年的水平,不支持flexbox、grid布局、数学函数或自定义属性
- 引发问题的代码是
max-width: min(150px, 30vw);——这是完全有效的CSS Level 4语法,但RMSDK无法识别,导致整个电子书被静默丢弃;Adobe Digital Editions甚至不显示任何错误信息,只呈现白屏 - epubcheck仅进行基础的格式检查,无法针对特定渲染器的已知缺陷进行验证,因此无法检测出此类CSS兼容性问题
- Kobo实际上内置两套渲染引擎:标准EPUB使用Adobe RMSDK(问题根源),而.kepub.epub文件会自动路由至Kobo自研的WebKit渲染器,只需修改文件扩展名即可解决兼容性问题,但Kobo未将此作为标准EPUB的默认渲染方式
- 根本原因在于Adobe RMSDK专为数字版权管理设计,数字出版行业优先考虑IP保护而非用户体验,导致开源的EPUB标准在各家厂商的实现中存在严重缺陷
Curl will not accept vulnerability reports during July 2026
curl项目2026年"夏日bliss"计划:7月整月暂停安全漏洞响应
- 2026年7月整月,curl项目将暂停接收和处理所有安全漏洞报告,HackerOne提交窗口从7月1日00:00 CEST关闭,8月3日09:00 CEST恢复;安全邮箱同样不予处理
- 维护者将借此机会休息放松,享受夏日时光,作者提到过去四个月承受了巨大压力,需要借此喘息恢复
- 8.22.0版本发布推迟至9月2日,比原计划延后两周,以便8月初有更多时间处理积压的安全问题
- GitHub的issue和pull request追踪器保持正常开放,不受此次暂停影响;紧急情况需等到8月处理,或通过购买支持合同获得提前响应
- 付费支持合同用户不受影响,仍可获得完整服务;作者鼓励其他开源项目也参与类似的"夏日bliss"计划,优先照顾好自身健康
Iroh 1.0
Iroh 1.0 发布:用密钥替代 IP 实现设备直连
- Iroh 1.0 正式发布,历经 4 年开发和 65 个版本迭代,核心创新是以加密密钥替代 IP 地址作为设备寻址方式,用户完全掌控密钥,设备移动时保持不变,可随时更换
- 过去 30 天公共中继已创建超 2 亿个端点,技术已应用于视频流传输、大语言模型训练、代理通信、安全聊天、游戏及文件传输等多种场景
- 底层采用 IETF 草案标准,自研 QUIC 多路径(支持同一连接内多条路由热切换)和 NAT 穿透(加密连接细节),以及 WASM 编译支持和本地优先配置,可无互联网访问连接本地设备
- 支持自定义传输协议层,集成蓝牙低功耗(BLE)、LoRa、WiFi Aware、Tor 等技术,统一纳入密钥拨号抽象框架
- 除 Rust 外新增 Python、Node.js、Swift、Kotlin 官方支持,便于嵌入 iOS 和 Android 应用,有线和语言 API 层面均保证版本兼容性
- 95% 连接数据实现设备直传,减少中继跳转,显著降低云端成本并提升整体网络效率
Apple Foundation Models
Claude for Foundation Models:Apple生态的Claude集成方案
- Claude for Foundation Models 是 Anthropic 在 GitHub 上发布的 Swift 包,通过让 Claude 遵循 Apple Foundation Models 框架的
LanguageModel协议,使开发者可用统一的LanguageModelSessionAPI 驱动 Claude,与调用 Apple 端侧模型的体验完全一致 - 请求直接从应用发送至 Claude API,Apple 不在请求链路中,计费按 Anthropic 标准 API 定价执行;适合在需要更大上下文、前沿推理或服务端工具(网页搜索、代码执行)时从端侧模型升级切换
- 支持流式响应、结构化输出(
@Generable)、图片输入;工具使用分为客户端工具(由设备执行)和服务端工具(由 Anthropic 基础设施执行),后者通过serverTools:参数配置,支持网页搜索、网页抓取和代码执行 - 开发环境可使用
.apiKey()直接传入密钥,但存在泄露风险;生产环境必须通过自定义后端代理路由请求,代理在baseURL处附加 API 密钥后转发给 Claude,客户端应用本身不包含密钥 - 当前处于 Beta 阶段,要求 iOS 27、macOS 27、visionOS 27、watchOS 27(均为 Beta)及 Xcode 27 Beta;不支持的功能包括提示词缓存控制(自动应用但不可配置)、停止序列、批量处理、Files API、Token 计数和 Beta 头部
Honda Civics and the Evil Valet
本田思域车载主机"EvilValet"漏洞研究与工具开发进展
- "EvilValet"攻击向量:2021款本田思域车载主机通过USB进行系统更新时,采用公开的AOSP测试密钥(而非专用密钥)进行签名验证,攻击者只需物理接触前排USB接口并插入经正确格式化和签名的U盘,即可实现任意代码执行,无需传统root权限;作者将此命名为"邪恶代客"(EvilValet)攻击
- ota-builder与欧洲固件验证:作者已发布ota-builder工具用于生成可被车载主机接受的更新文件,理论上可构建包含setuid提权权限的更新包以获取root;作者通过验证欧洲区官方更新包MRC_EU_SW_v12_4.zip确认其同样采用AOSP测试密钥签名,表明该问题可能广泛存在于不同地区版本
- apk-rebuilder实现逆向自动化:该工具可将本田更新文件自动转换为可读的代码结构,完成资源解析、.smali代码重建、APK重打包及ramdisk提取等操作;由于无法直接发布本田源码,该工具通过处理公开可获取的更新文件输出代码,为后续LLM查询分析提供基础
- 工具优先于文档的理念:作者倾向于提供可靠、确定性的工具而非维护参考文档,用户可直接使用LLM查询工具处理后的代码结构,避免文档与实际代码不同步的维护负担
- 待完善领域公开征集协作:项目亟待社区贡献的方向包括:已知版本列表整理(确保更新兼容性)、ARMv7交叉编译工具链开发、aidl-rebuilder工具(AIDL接口映射与虚拟仪表盘等自定义应用)改进等
- 自定义主题的技术瓶颈:自定义主题受限于三菱AOSP框架分支以及应用代码混淆中的硬编码资源ID,注入主题需精确修改供应商框架,技术难度较高且性价比有限
My Homelab AI Dev Platform
Homelab AI开发平台搭建方案
- 核心架构:采用OpenCode作为AI编程环境,通过Web UI实现跨设备持久化编程会话,配合Git工作流——AI编写代码推送功能分支,用户审核PR后方可合并,再由GitOps自动部署,全程保持人工审查介入
- 基础设施迁移:将约十几个Docker Compose服务栈从TrueNAS迁移至Arcane GitOps项目,实现所有配置的Git版本化管理,并能借助AI批量更新跨容器网络配置,显著降低管理复杂度
- AI应用场景:一是自动汇总发布说明和breaking changes,将版本升级从数小时缩短至几分钟;二是为容器批量添加健康检查,加速故障发现
- 安全设计:OpenCode运行在TrueNAS主机上的独立VM,拥有专用用户和独立SSH密钥,可克隆推送分支但禁止直推部署分支,仅能访问互联网和Git服务器且无法触及生产服务,因影响范围有限可授予root权限安装构建工具
- 标准工作流:规划功能→本地验证→迭代修改→推送功能分支→创建PR→合并PR→GitOps接管部署(Arcane处理Docker服务、GitOps插件处理Home Assistant配置、Cloudflare Pages处理博客)
- 主要局限:Forgejo Actions不通过公共API暴露任务日志,导致AI无法诊断测试失败、lint错误和IaC计划变更,缺少关键的CI反馈环节
Show HN: Fata – Spaced repetition to fight skill rot from AI coding
fata — 面向AI时代的全栈技能提升平台
- 核心定位:帮助开发者掌握前端、后端及生产级技术设计,从而有效驾驭AI编码代理,强调"AI可以生成代码但无法构建技能",致力于帮助用户"真正精通"而非停留在基础层面
- 科学学习方法:采用科学支撑的间隔重复技术,配合AI辅助复习功能,通过每日短时练习逐步巩固技能
- 三级订阅体系:Core(基础免费,含初/中级课程和离线功能)→ Pro(面向资深开发者,含高级课程和职业发展路径)→ Organization(面向企业,含团队管理、自定义评估、数据分析和工具集成)
- 目标用户:专业开发者、Vibe Coders、工程团队及教育工作者,覆盖从个人技能提升到团队学习的完整需求
- 移动优先设计:支持Android和iOS应用,同时可直接在浏览器中开始学习,现有超过10,000名开发者使用
- 学习社区:提供社交学习、挑战和社区功能,帮助用户在互动中保持学习动力
A backdoor in a LinkedIn job offer
LinkedIn招聘消息中的恶意代码库陷阱
- 作者收到LinkedIn加密货币初创公司招聘人员消息,被要求审查公开GitHub代码库并关注"已弃用的Node模块问题"以诱导运行
npm install - 作者出于安全警觉,在隔离的Hetzner VPS上使用Pi只读代理工具(仅启用read、grep、find、ls工具)进行代码审查,在几秒内识别出
app/test/index.js中的可疑代码 - 后门代码伪装在约250行的测试套件中,通过URL片段拼接为
https://rest-icon-handler.store/icons/77远程地址,隐藏在注释测试代码中的第225行有效载荷会执行服务器返回的任意代码 app/index.js直接require执行./test而非等待测试运行,npm的prepare脚本在npm install后自动触发node app/index.js,因此安装依赖即触发后门- 代码库冒用了真实开发者身份(该开发者曾被GitHub冒名顶替并有仓库被删除),招聘者LinkedIn档案则属于一位非技术背景的真实艺术记者,作者假装安装失败时该"记者"瞬间转变为npm/Node技术专家
- 建议对LinkedIn招聘消息保持适度警惕,使用隔离环境与只读代理工具审查代码,并举报可疑内容(作者已向GitHub和LinkedIn举报但截至发稿代码仍在线)