Hacker News 中文摘要

RSS订阅

我通过黑客手段进入了YC创业学校 -- I got into YC Startup School by hacking it

文章摘要

作者发现Y Combinator通过Paxel系统给全球创始人评分,并找到漏洞可伪造分数。公开披露后,YC联合创始人Jared Friedman迅速修复漏洞,并邀请作者参加旧金山创业学校活动。

文章总结

好的,这是根据您的要求,对原文进行的中文重述,保留了核心细节,并删减了与主题无关的评论性内容。


文章标题:我是如何通过“破解”进入YC的

核心摘要: 作者发现Y Combinator(YC)通过一个名为Paxel的工具,对全球超过10万名开发者进行评分。他不仅发现了该工具的一个“彩蛋”式漏洞,还找到了一个更严重的安全漏洞:由于缺乏有效的HMAC(哈希消息认证码)验证,任何人都可以伪造并提交任意评分到YC的排名数据库。

最新进展: YC方面对此反应迅速且态度良好。在作者公开披露漏洞仅几小时后,YC合伙人Jared Friedman亲自回复,宣布已修复该漏洞,并邀请作者参加今年夏天在旧金山举办的Startup School活动。作者曾在12天前通过邮件私下报告此问题,但未获回应。公开披露最终推动了问题的解决。

事件经过:

一切始于作者填写YC Startup School 2026年申请时。申请流程要求他运行一个名为Paxel的脚本。该脚本会分析他电脑上的所有代码,生成一份报告并上传至YC服务器。

作者出于好奇,想弄清楚Paxel的具体运作机制。他意识到自己在申请中处于劣势(没有常春藤盟校的正式教育背景),因此认为如果能破解这个系统,将是确保自己被录取的捷径。

根据Paxel网站数据,已有超过120万程序员上传了报告。作者惊讶于自己是第一个发现并利用这些漏洞的人。

技术细节:

Paxel的安装脚本会下载一个包含Ruby应用的Docker镜像并在本地运行。该应用的工作流程如下:

  1. 将聊天记录分组为“episodes”(YC自定义的工作单元)。
  2. 将每个episode上传至YC托管的GPT-5.5代理服务器进行分析。
  3. 获取每个episode的摘要,并结合其他数据,生成最终报告上传至YC服务器。

作者发现,YC通过5个核心维度(执行力、工程能力、产品质量、产品思维、规划能力)对每个episode进行评分(1-10分),并附有评语。

关键漏洞:

问题出在LLM代理服务器和上传服务器之间的通信上。LLM代理返回的每个episode都附带一个“nonce”(一次性随机数),理论上上传服务器应通过验证这个nonce来确保接收到的结果是来自原始LLM的。

然而,这个nonce并没有对LLM返回的评分和评语进行签名。这意味着,虽然nonce本身有效(服务器会拒绝无效或重复使用的nonce),但由于缺少签名,攻击者可以篡改episode的评分和评语,然后上传给YC,而服务器会照单全收。

作者进一步开发了一个名为“paxel-boosted”的工具,允许任何人通过镜像代理来伪造并上传报告。在漏洞公开到YC修复的短短几小时内,超过20名用户利用该工具将自己排入了YC数据库的全球前1%。

修复方案:

作者指出,漏洞的根本原因在于缺少两个基本的密码学功能:

  1. HMAC签名: 应将LLM返回的所有关键字段(如各项评分、标题等)与nonce一起进行HMAC哈希运算,确保nonce与LLM的原始响应绑定。
  2. 字段加密: 对于客户端不需要使用的敏感字段(如各项评分、episode标题和评语),应使用服务器端共享的密钥进行加密,这样客户端无法查看和篡改这些内容。

YC最终实施的修复方案,与作者建议的HMAC签名方案基本一致。

后续:

作者认为,这个漏洞可能并非YC故意设置的“彩蛋”或“蜜罐”,而更像是开发过程中的疏忽。目前漏洞已被修复,但作者的工具仍可用于查看用户的原始评分。

评论总结

根据评论内容,总结主要观点如下:

1. 对Paxel工具的隐私与安全担忧(多数评论) - 评论1(siva7):质疑YC使用第三方AI处理创始人私人数据来评分,认为这是“坏消息在实时展开”。 - 评论8(OtherShrezzing):指出工具将申请人机器上的IP传输给OpenAI,且存在“Web应用安全101级别”的漏洞,感觉是“等待发生的灾难”。 - 评论10(speedgoose):警告信息安全问题,认为在非沙盒系统运行脚本应自动导致拒绝。

2. 对Paxel工具本身的反感与质疑 - 评论2(rationalist):对运行脚本分析所有代码并上传报告表示“哎呀!”,希望这不是招聘的未来。 - 评论3(moomoo11):认为Paxel及其工作方式“听起来很蠢”。 - 评论14(tacker2000):质疑作者为何反复称一行下载一堆东西的bash命令是“伟大的用户体验”。

3. 对“进入YC”表述的澄清 - 评论4(smcnc):指出Paxel可能是YC自建工具,并质疑标题应为“我通过黑客手段进入了YC Startup School”,而非主项目。 - 评论9(paxys):明确“进入YC”用词不准确,他们只是被邀请参加为期两天的Startup School活动。

4. 对YC文化的理解与批评 - 评论6(jedberg):认为YC历来欣赏黑客文化,因此对作者的行为反应积极,但遗憾该问题已从申请表中移除。 - 评论15(jppope):讽刺技术创始人提供无限IP访问竟被视为积极指标,“这太疯狂了”。 - 评论16(sgarland):质疑如果未使用LLM构建产品是否自动被淘汰。

5. 对Paxel评分机制的批评 - 评论13(a_t48):详细描述Paxel如何惩罚未记录“积极跟踪结果”的行为,认为其要求不切实际(如要求单人创始人指定“下一个诊断负责人”)。

6. 对数据规模的澄清 - 评论7(Aurornis):指出Paxel网站显示的“1,543,553次会话”是会话次数而非独立用户数,很多人误以为有百万不同用户。

7. 对披露方式的评论 - 评论17(jrflowers):讽刺作者“通过公开让YC难堪”才获得回应,此前12天私下邮件无回复。