
Sign up to save your podcasts
Or


Hacker News 每日播报,今天我们聊聊如何低成本玩转 AI 编程、微软内部应用的 OAuth 漏洞、OpenAI 新模型的训练数据之谜、将电子书转为有声读物的开源工具、土豆的演化史、Elixir 的“自愈”哲学、欧盟的“聊天控制”提案、为 Shell 编写 Tab 补全的技巧、XSS 犯罪论坛的覆灭以及英语中“try and”的奇妙用法。
对于预算有限的开发者来说,如何高效利用 AI 提升编程效率是一个现实问题。一篇文章分享了作者独特的免费或低成本 AI 编程工作流,其核心在于巧妙组合各种免费 AI 模型,并配合自定义的上下文管理工具,从而在不花费大量金钱的情况下显著提升编程与调试效率。
作者倾向于使用 AI 模型的网页聊天界面,而非集成到 IDE 中的代理工具。他认为后者往往会发送过多无关的上下文信息,反而干扰 AI 的判断。他的“免费 AI 自助餐”浏览器设置包括了 z.ai 的 GLM 4.5、Kimi K2、Qwen3 Coder、OpenAI Playground、Google Gemini AI Studio 等一系列免费或提供免费额度的 AI 模型。每个模型都有其擅长的领域,例如 Perplexity AI 适合研究型问题,而 Phind 则能提供流程图可视化。
作者认为,像 Cursor 或 Copilot 这样的集成工具会发送大量无关信息,稀释了真正的问题上下文。因此,他提出了一种“聚焦上下文”的策略:
这种方法解决了许多编码代理工具上下文管理不佳的问题,尤其适用于大型或私有代码库。可以预见,这种经济高效的 AI 辅助编程方法会引发广泛讨论,例如不同免费 AI 模型的实际表现对比、上下文管理工具的必要性、以及在使用免费服务时代码隐私和数据安全的问题。
Eye Security 的研究员 Vaisha Bernard 揭示了一个惊人的漏洞,通过滥用微软 Entra ID(原 Azure AD)的 OAuth 认证机制,成功访问了二十多个微软内部的敏感应用程序。
故事始于一次偶然的好奇心,研究员在访问微软内部域名 eng.ms 时,通过一个同意提示(consent prompt)意外登录成功。深入调查后,她发现漏洞的核心在于 Entra ID 多租户应用程序的配置失误。许多微软内部应用虽然被配置为多租户,却错误地使用了本应只用于单租户应用的 /tenantid 认证端点。
研究员利用工具将 /tenantid 强制替换为 /common,迫使这些应用通过她自己的租户进行认证。关键在于,这些应用程序在收到访问令牌后,并未检查令牌中的 iss(发行者)或 tid(租户 ID)声明,从而导致了认证绕过。
通过这种方法,她成功入侵了包括工程中心、风险登记册、安全情报平台在内的 22 个微软内部应用。最令人震惊的是,她在一个名为“媒体创建服务”的应用中发现了日志文件、私钥,甚至实现了远程代码执行(RCE),并暗示可能能够生成 Windows 许可证密钥。
这项研究的毅力、好奇心和技术深度获得了广泛赞誉,它生动地展示了真正的漏洞挖掘并非依赖自动化工具,而是源于对系统深入的理解。这一事件也引发了关于大型身份认证系统复杂性的广泛讨论。在 Entra ID 这样庞大的系统中,微小的配置错误就可能导致灾难性后果。许多开发者在实现 OAuth 时往往只关注“让它工作”,而忽略了对 iss 和 tid 等关键声明的验证,这正是问题的根源。研究员明确建议,除非必要,否则不要使用多租户应用;如果使用,务必在代码中检查令牌的发行者信息。这个案例也为所有使用 OAuth/OIDC 的组织敲响了警钟。
开发者 Jack Morris 在社交媒体上分享了他对 OpenAI 新发布的 gpt-oss 模型训练数据进行探索的初步发现,引起了社区的广泛关注。
出于好奇,Jack Morris 对 gpt-oss-20b 模型进行了逆向工程式的分析。他通过从该模型生成了高达 1000 万个示例,然后对这些海量生成内容进行深入分析,试图推断出模型可能使用的训练数据特性。
根据他的初步结论,结果“相当离奇”(pretty bizarre),这暗示着模型的训练数据中可能存在一些出乎意料或不寻常的模式。尽管他表示这是一个“深入探讨”的系列,但目前公开的信息还很有限,这无疑激起了社区的强烈兴趣,大家都在期待他能进一步揭示这些模型的训练数据究竟有何特别之处。
很遗憾,由于目前信息有限,我们无法深入探讨社区针对这一发现的具体讨论。我们期待未来能有机会了解更多细节,以及开发者们对 OpenAI 模型训练数据透明度和模型行为的看法。
对于希望提升阅读效率的科技爱好者来说,Abogen 是一个非常实用的开源新工具。它能帮助用户将 EPUB、PDF 和纯文本文件转换为高质量的有声读物,并支持生成与音频同步的字幕。
Abogen 的核心优势在于其本地化处理能力和丰富的功能:
我们可以预见,社区对 Abogen 的讨论会非常热烈。其本地运行、保护隐私的特性会受到高度赞扬,因为用户无需上传敏感文本即可完成转换。同时,其快速的转换速度和丰富的自定义选项也是巨大亮点。当然,讨论也可能涉及其语音质量与 ElevenLabs 等商业服务的对比,以及目前字幕仅支持英文的局限性。对于大型文件的解析准确性和不同硬件上的资源消耗,也可能是用户关注的焦点。总的来说,Abogen 为注重隐私、追求高效和个性化体验的用户提供了一个强大的解决方案。
我们餐桌上常见的土豆,其起源之谜最近被自然历史博物馆的一项研究揭开。这项研究发现,土豆的诞生源于大约九百万年前的一次古老杂交事件。
研究的核心结论是,现代番茄植物的祖先与另一组名为“Etuberosum”的近亲植物发生了杂交,从而诞生了土豆的早期祖先。最令人惊讶的是,土豆形成地下块茎的能力,并非来自单一亲本,而是需要来自两个亲本物种的特定基因信息共同作用。例如,控制块茎生长的“主开关”基因 SP6A 来自番茄祖先,而另一个关键基因 IT1 则来自 Etuberosum。这种基因的“镶嵌”组合,是土豆能够快速多样化并适应新环境的关键。
研究人员推测,这次杂交事件恰逢安第斯山脉不断隆起,创造了大量新的、多样的环境,为新生的土豆植物提供了完美的演化舞台。此外,研究还指出了土豆遗传学的复杂性——它是四倍体,拥有四套染色体,这使得培育新品种异常困难和耗时。
从技术角度来看,这项研究展示了基因组学和生物信息学在理解复杂生物系统中的强大力量。它不仅解决了长久以来的生物学谜团,也为未来的作物育种提供了宝贵的见解。在气候变化日益严峻的今天,理解并利用作物的遗传多样性,对于确保全球粮食安全至关重要。
在 Elixir 社区,“let it crash”(让它崩溃)是一个广为流传但常被误解的短语。开发者 Zach Daniel 在一篇文章中深入探讨了这个概念,并提出了一个更准确的替代方案:“let it heal”(让它自愈)。
文章指出,“let it crash”中的“it”指的是一个独立的、轻量级的进程,而非整个应用程序。得益于 BEAM 虚拟机强大的“监督者”(supervisors)机制,当一个进程崩溃后,它会被自动重启,从而保证整个系统的高可用性。
然而,作者认为这个短语可能鼓励不良的编程习惯。盲目地“让它崩溃”会带来问题:
因此,作者提出了“let it heal”的概念。他认为 BEAM 的真正强大之处不在于进程可以“死亡”,而在于它们总能“复活”。监督者机制的核心是进程的“启动”和“恢复”能力,它让系统能够自我修复并回到正常运行状态。
这一观点获得了广泛认同。有人认为“Let it recover”(让它恢复)可能是更贴切的说法,强调了系统韧性的重要性。还有人补充了一个实用的观点:当难以判断一个错误应该本地处理还是让其自愈时,错误追踪工具就显得尤为重要。通过监控和分析意外错误,开发者可以持续优化其错误处理策略,从而更好地利用 Elixir 的优势,构建出既健壮又用户友好的系统。
欧盟一项名为“聊天控制”(Chat Control)的提案在网络上引起了广泛争议。该提案旨在强制扫描所有私人数字通信,包括加密消息,以打击儿童性虐待材料。然而,正如“Fight Chat Control”网站所强调的,这项提案对数字隐私和基本权利构成了严重威胁。
该提案的核心是要求对欧盟所有公民的私人数字通信进行大规模、无差别的扫描,即便是在没有合理怀疑的情况下。这引发了多方面的担忧:
值得注意的是,欧盟政治家们根据“职业秘密”规则,将自己排除在这一监控之外。根据 Hacker News 社区对类似话题的普遍反应,可以预见,绝大多数技术专家和隐私倡导者会对此表示强烈反对。他们会质疑该提案的技术可行性,认为强制后门会引入新的安全漏洞,并担心这会成为一个“滑坡”,未来政府可能进一步扩大监控范围,侵蚀更多的数字权利。
对于命令行工具的开发者来说,提供良好的 Tab 补全体验至关重要。一篇文章深入探讨了如何在 Bash 和 Zsh 这两种主流 Shell 环境下,实现跨平台且带有描述信息的 Tab 补全。
文章的核心在于通过一系列巧妙的技巧,克服 Bash 和 Zsh 在补全机制上的差异:
这种解决实际痛点的实用主义精神和对系统底层机制的巧妙利用,无疑会获得开发者的赞赏。它不仅提供了具体的代码,更引发了对 CLI 工具用户体验的深入思考,展示了如何通过技术深度和创造性思维,极大地提升开发者的日常工作效率。
知名安全记者 Brian Krebs 在其博客上深入报道了欧洲刑警组织近期对俄语网络犯罪论坛 XSS 的突袭行动,并对被捕管理员的真实身份进行了细致的调查。
7月22日,一名38岁的 XSS 论坛管理员在乌克兰基辅被捕。该论坛是多个主要勒索软件团伙的聚集地。尽管官方未公布姓名,但网络犯罪圈普遍猜测被捕者是化名为“Toha”的关键人物。
Krebs 通过一系列开源情报(OSINT)技术,抽丝剥茧地揭示了 Toha 的可能身份。他通过一个与 Toha 关联的电子邮件地址,追踪到多个域名注册信息,指向一名在乌克兰的男子 Anton Medvedovskiy。通过对比生日信息、Airbnb 头像与警方公布的模糊照片,Krebs 推测被捕者很可能就是此人。
这次逮捕行动给网络犯罪生态带来了巨大冲击。更重要的是,执法部门现在可能掌握了该论坛数年来的用户私信、联系人名单等海量数据。有警告称,执法部门正利用 AI 等现代工具分析这些数据,通过联系图谱、IP 地址甚至独特的写作风格来识别用户身份,这无疑是对整个网络犯罪生态的降维打击。
这一事件也引发了关于技术伦理的深刻讨论。执法部门强大的监控和分析能力,虽然能有效打击犯罪,但也让一些人对个人隐私的未来感到担忧,认为我们正进入一个生活轨迹可能被完全数据库化和 AI 分析的时代。同时,关于平台运营者在多大程度上应对其用户非法活动负责的法律和道德问题,也再次被摆上台面。
我们日常英语中常用的短语“try and”,虽然常被传统语法视为“不正确”,但其背后却有着悠久的历史和复杂的语言学结构。耶鲁大学语法多样性项目的一篇文章对此进行了深入剖析。
文章指出,“try and”并非简单的两个动词并列,而是一种被称为“伪并列”(pseudocoordination)的特殊句法现象。为了证明这一点,文章列举了多个语言学证据:
文章还提到,这种结构的历史可以追溯到16世纪,甚至可能比我们更熟悉的“try to”出现得更早。除了“try and”,英语中还有“go and”、“come and”等类似的伪并列结构。
对于软件开发者和科技爱好者来说,这个语言学分析提醒我们,即使是看似简单的日常语言,其背后也蕴藏着复杂的规则和演变历史。它鼓励我们以一种更开放、更科学的态度看待语言和规范——理解其深层机制,而非仅仅遵循表面规则,这与我们对待代码规范和编程语言特性演进的态度有异曲同工之妙。
相关链接:
By Agili 的 Hacker PodcastHacker News 每日播报,今天我们聊聊如何低成本玩转 AI 编程、微软内部应用的 OAuth 漏洞、OpenAI 新模型的训练数据之谜、将电子书转为有声读物的开源工具、土豆的演化史、Elixir 的“自愈”哲学、欧盟的“聊天控制”提案、为 Shell 编写 Tab 补全的技巧、XSS 犯罪论坛的覆灭以及英语中“try and”的奇妙用法。
对于预算有限的开发者来说,如何高效利用 AI 提升编程效率是一个现实问题。一篇文章分享了作者独特的免费或低成本 AI 编程工作流,其核心在于巧妙组合各种免费 AI 模型,并配合自定义的上下文管理工具,从而在不花费大量金钱的情况下显著提升编程与调试效率。
作者倾向于使用 AI 模型的网页聊天界面,而非集成到 IDE 中的代理工具。他认为后者往往会发送过多无关的上下文信息,反而干扰 AI 的判断。他的“免费 AI 自助餐”浏览器设置包括了 z.ai 的 GLM 4.5、Kimi K2、Qwen3 Coder、OpenAI Playground、Google Gemini AI Studio 等一系列免费或提供免费额度的 AI 模型。每个模型都有其擅长的领域,例如 Perplexity AI 适合研究型问题,而 Phind 则能提供流程图可视化。
作者认为,像 Cursor 或 Copilot 这样的集成工具会发送大量无关信息,稀释了真正的问题上下文。因此,他提出了一种“聚焦上下文”的策略:
这种方法解决了许多编码代理工具上下文管理不佳的问题,尤其适用于大型或私有代码库。可以预见,这种经济高效的 AI 辅助编程方法会引发广泛讨论,例如不同免费 AI 模型的实际表现对比、上下文管理工具的必要性、以及在使用免费服务时代码隐私和数据安全的问题。
Eye Security 的研究员 Vaisha Bernard 揭示了一个惊人的漏洞,通过滥用微软 Entra ID(原 Azure AD)的 OAuth 认证机制,成功访问了二十多个微软内部的敏感应用程序。
故事始于一次偶然的好奇心,研究员在访问微软内部域名 eng.ms 时,通过一个同意提示(consent prompt)意外登录成功。深入调查后,她发现漏洞的核心在于 Entra ID 多租户应用程序的配置失误。许多微软内部应用虽然被配置为多租户,却错误地使用了本应只用于单租户应用的 /tenantid 认证端点。
研究员利用工具将 /tenantid 强制替换为 /common,迫使这些应用通过她自己的租户进行认证。关键在于,这些应用程序在收到访问令牌后,并未检查令牌中的 iss(发行者)或 tid(租户 ID)声明,从而导致了认证绕过。
通过这种方法,她成功入侵了包括工程中心、风险登记册、安全情报平台在内的 22 个微软内部应用。最令人震惊的是,她在一个名为“媒体创建服务”的应用中发现了日志文件、私钥,甚至实现了远程代码执行(RCE),并暗示可能能够生成 Windows 许可证密钥。
这项研究的毅力、好奇心和技术深度获得了广泛赞誉,它生动地展示了真正的漏洞挖掘并非依赖自动化工具,而是源于对系统深入的理解。这一事件也引发了关于大型身份认证系统复杂性的广泛讨论。在 Entra ID 这样庞大的系统中,微小的配置错误就可能导致灾难性后果。许多开发者在实现 OAuth 时往往只关注“让它工作”,而忽略了对 iss 和 tid 等关键声明的验证,这正是问题的根源。研究员明确建议,除非必要,否则不要使用多租户应用;如果使用,务必在代码中检查令牌的发行者信息。这个案例也为所有使用 OAuth/OIDC 的组织敲响了警钟。
开发者 Jack Morris 在社交媒体上分享了他对 OpenAI 新发布的 gpt-oss 模型训练数据进行探索的初步发现,引起了社区的广泛关注。
出于好奇,Jack Morris 对 gpt-oss-20b 模型进行了逆向工程式的分析。他通过从该模型生成了高达 1000 万个示例,然后对这些海量生成内容进行深入分析,试图推断出模型可能使用的训练数据特性。
根据他的初步结论,结果“相当离奇”(pretty bizarre),这暗示着模型的训练数据中可能存在一些出乎意料或不寻常的模式。尽管他表示这是一个“深入探讨”的系列,但目前公开的信息还很有限,这无疑激起了社区的强烈兴趣,大家都在期待他能进一步揭示这些模型的训练数据究竟有何特别之处。
很遗憾,由于目前信息有限,我们无法深入探讨社区针对这一发现的具体讨论。我们期待未来能有机会了解更多细节,以及开发者们对 OpenAI 模型训练数据透明度和模型行为的看法。
对于希望提升阅读效率的科技爱好者来说,Abogen 是一个非常实用的开源新工具。它能帮助用户将 EPUB、PDF 和纯文本文件转换为高质量的有声读物,并支持生成与音频同步的字幕。
Abogen 的核心优势在于其本地化处理能力和丰富的功能:
我们可以预见,社区对 Abogen 的讨论会非常热烈。其本地运行、保护隐私的特性会受到高度赞扬,因为用户无需上传敏感文本即可完成转换。同时,其快速的转换速度和丰富的自定义选项也是巨大亮点。当然,讨论也可能涉及其语音质量与 ElevenLabs 等商业服务的对比,以及目前字幕仅支持英文的局限性。对于大型文件的解析准确性和不同硬件上的资源消耗,也可能是用户关注的焦点。总的来说,Abogen 为注重隐私、追求高效和个性化体验的用户提供了一个强大的解决方案。
我们餐桌上常见的土豆,其起源之谜最近被自然历史博物馆的一项研究揭开。这项研究发现,土豆的诞生源于大约九百万年前的一次古老杂交事件。
研究的核心结论是,现代番茄植物的祖先与另一组名为“Etuberosum”的近亲植物发生了杂交,从而诞生了土豆的早期祖先。最令人惊讶的是,土豆形成地下块茎的能力,并非来自单一亲本,而是需要来自两个亲本物种的特定基因信息共同作用。例如,控制块茎生长的“主开关”基因 SP6A 来自番茄祖先,而另一个关键基因 IT1 则来自 Etuberosum。这种基因的“镶嵌”组合,是土豆能够快速多样化并适应新环境的关键。
研究人员推测,这次杂交事件恰逢安第斯山脉不断隆起,创造了大量新的、多样的环境,为新生的土豆植物提供了完美的演化舞台。此外,研究还指出了土豆遗传学的复杂性——它是四倍体,拥有四套染色体,这使得培育新品种异常困难和耗时。
从技术角度来看,这项研究展示了基因组学和生物信息学在理解复杂生物系统中的强大力量。它不仅解决了长久以来的生物学谜团,也为未来的作物育种提供了宝贵的见解。在气候变化日益严峻的今天,理解并利用作物的遗传多样性,对于确保全球粮食安全至关重要。
在 Elixir 社区,“let it crash”(让它崩溃)是一个广为流传但常被误解的短语。开发者 Zach Daniel 在一篇文章中深入探讨了这个概念,并提出了一个更准确的替代方案:“let it heal”(让它自愈)。
文章指出,“let it crash”中的“it”指的是一个独立的、轻量级的进程,而非整个应用程序。得益于 BEAM 虚拟机强大的“监督者”(supervisors)机制,当一个进程崩溃后,它会被自动重启,从而保证整个系统的高可用性。
然而,作者认为这个短语可能鼓励不良的编程习惯。盲目地“让它崩溃”会带来问题:
因此,作者提出了“let it heal”的概念。他认为 BEAM 的真正强大之处不在于进程可以“死亡”,而在于它们总能“复活”。监督者机制的核心是进程的“启动”和“恢复”能力,它让系统能够自我修复并回到正常运行状态。
这一观点获得了广泛认同。有人认为“Let it recover”(让它恢复)可能是更贴切的说法,强调了系统韧性的重要性。还有人补充了一个实用的观点:当难以判断一个错误应该本地处理还是让其自愈时,错误追踪工具就显得尤为重要。通过监控和分析意外错误,开发者可以持续优化其错误处理策略,从而更好地利用 Elixir 的优势,构建出既健壮又用户友好的系统。
欧盟一项名为“聊天控制”(Chat Control)的提案在网络上引起了广泛争议。该提案旨在强制扫描所有私人数字通信,包括加密消息,以打击儿童性虐待材料。然而,正如“Fight Chat Control”网站所强调的,这项提案对数字隐私和基本权利构成了严重威胁。
该提案的核心是要求对欧盟所有公民的私人数字通信进行大规模、无差别的扫描,即便是在没有合理怀疑的情况下。这引发了多方面的担忧:
值得注意的是,欧盟政治家们根据“职业秘密”规则,将自己排除在这一监控之外。根据 Hacker News 社区对类似话题的普遍反应,可以预见,绝大多数技术专家和隐私倡导者会对此表示强烈反对。他们会质疑该提案的技术可行性,认为强制后门会引入新的安全漏洞,并担心这会成为一个“滑坡”,未来政府可能进一步扩大监控范围,侵蚀更多的数字权利。
对于命令行工具的开发者来说,提供良好的 Tab 补全体验至关重要。一篇文章深入探讨了如何在 Bash 和 Zsh 这两种主流 Shell 环境下,实现跨平台且带有描述信息的 Tab 补全。
文章的核心在于通过一系列巧妙的技巧,克服 Bash 和 Zsh 在补全机制上的差异:
这种解决实际痛点的实用主义精神和对系统底层机制的巧妙利用,无疑会获得开发者的赞赏。它不仅提供了具体的代码,更引发了对 CLI 工具用户体验的深入思考,展示了如何通过技术深度和创造性思维,极大地提升开发者的日常工作效率。
知名安全记者 Brian Krebs 在其博客上深入报道了欧洲刑警组织近期对俄语网络犯罪论坛 XSS 的突袭行动,并对被捕管理员的真实身份进行了细致的调查。
7月22日,一名38岁的 XSS 论坛管理员在乌克兰基辅被捕。该论坛是多个主要勒索软件团伙的聚集地。尽管官方未公布姓名,但网络犯罪圈普遍猜测被捕者是化名为“Toha”的关键人物。
Krebs 通过一系列开源情报(OSINT)技术,抽丝剥茧地揭示了 Toha 的可能身份。他通过一个与 Toha 关联的电子邮件地址,追踪到多个域名注册信息,指向一名在乌克兰的男子 Anton Medvedovskiy。通过对比生日信息、Airbnb 头像与警方公布的模糊照片,Krebs 推测被捕者很可能就是此人。
这次逮捕行动给网络犯罪生态带来了巨大冲击。更重要的是,执法部门现在可能掌握了该论坛数年来的用户私信、联系人名单等海量数据。有警告称,执法部门正利用 AI 等现代工具分析这些数据,通过联系图谱、IP 地址甚至独特的写作风格来识别用户身份,这无疑是对整个网络犯罪生态的降维打击。
这一事件也引发了关于技术伦理的深刻讨论。执法部门强大的监控和分析能力,虽然能有效打击犯罪,但也让一些人对个人隐私的未来感到担忧,认为我们正进入一个生活轨迹可能被完全数据库化和 AI 分析的时代。同时,关于平台运营者在多大程度上应对其用户非法活动负责的法律和道德问题,也再次被摆上台面。
我们日常英语中常用的短语“try and”,虽然常被传统语法视为“不正确”,但其背后却有着悠久的历史和复杂的语言学结构。耶鲁大学语法多样性项目的一篇文章对此进行了深入剖析。
文章指出,“try and”并非简单的两个动词并列,而是一种被称为“伪并列”(pseudocoordination)的特殊句法现象。为了证明这一点,文章列举了多个语言学证据:
文章还提到,这种结构的历史可以追溯到16世纪,甚至可能比我们更熟悉的“try to”出现得更早。除了“try and”,英语中还有“go and”、“come and”等类似的伪并列结构。
对于软件开发者和科技爱好者来说,这个语言学分析提醒我们,即使是看似简单的日常语言,其背后也蕴藏着复杂的规则和演变历史。它鼓励我们以一种更开放、更科学的态度看待语言和规范——理解其深层机制,而非仅仅遵循表面规则,这与我们对待代码规范和编程语言特性演进的态度有异曲同工之妙。
相关链接: