惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

罗磊的独立博客
G
Google Developers Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
腾讯CDC
有赞技术团队
有赞技术团队
Vercel News
Vercel News
MongoDB | Blog
MongoDB | Blog
M
MIT News - Artificial intelligence
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
B
Blog RSS Feed
I
InfoQ
Blog — PlanetScale
Blog — PlanetScale
博客园_首页
The Cloudflare Blog
B
Blog
C
Check Point Blog
Stack Overflow Blog
Stack Overflow Blog
IT之家
IT之家
U
Unit 42
D
Docker
月光博客
月光博客
aimingoo的专栏
aimingoo的专栏
博客园 - Franky
A
About on SuperTechFans

Save The Web Project

STWP 02026 五月 meetup LTO 磁带存储初探 The Chaotic Web, Headless Archiving — GSoC 2025 Final Report 混乱Web,无头存档,开源拖拉机——2025 GSoC 最终报告 STWP 2025 第 26 周周报 STWP 2025 第 20-25 周合并周报 STWP 2025 第 11-19 周合并周报 STWP 2025 第 4-10 周合并周报 存档误入深水区——If Summer is calling us 丑搜 v3 出炉 使「対多」避免被删库——PostgreSQL RSP/RLS 这件小事 STWP 2024 第 43-52 周合并周报 STWP 2024 第 42 周周报 我们救下了一千万张画作 如何存档任意 WordPress 站点? STWP 2023 第 25 周周报 已存档「萤火圈」,提供个人公开数据备份 STWP 2023 第 15 周周报 如何存档 DokuWiki 站点(第一届存档马拉松活动) STWP 2023 第 14 周周报
感谢 GitHub 的 $617 欢乐赞助(误)
2024-08-08 · via Save The Web Project

虽然这不是“赞助”,但我们确实收到了来自 GitHub 的 $615 ,过程挺欢乐的。

故事的开头要从酷玩实验室于 2024-06-06 发的「终于,我们都受够了互联网“失忆症”」说起。

一位名为 @justcannotforgot (这 username 不错) 的 GitHub 用户看完这篇微信公众号文章后,甚是感动,想起实验室里还有十几块硬盘在吃灰,于是跑过来发了个 issue,想送我们9️⃣硬盘。

可惜,我们那三天在磨洋功,他的 issue 一直被放置。于是在无响应的三天后,他更新了 issue,@ 了我们的成员。

他一下子 @ 了 4 个账号,但问题是,有一个账号是我们的内部 bot 账号,按理说不应该被外界知晓,他是怎么找到这个账号的?

他这一 @ ,弄得我们大惊失色。

然后我们发现用无关账号直接在我们的公开仓库 @ ,Mention suggester 竟然会将我们的 Private Owner 直接列出来。

我们临时给所有成员都加上了 Private Owner 权限,Mention suggester API 真就把全部 Private Owner 列出来了,再把临时权限去掉,果然,对应账号又从 API 中消失了。(GitHub Web UI 上限制了显示行数,但 F12 能看到 API 有返回更多账号)

API 响应

正常情况下,Mention suggester 应该只会列出组织的 Public Owner 和调用处仓库的活跃维护者/贡献者。但是不知道为啥,它把本该隐藏的 Private Owner 全列出来了。

我们立即拿家里蹲大学和 Epic Game 开刀,不得不说不愧是家里蹲大学,API 返回了 642 个家里蹲仔。但可惜,图中聊天记录一开始的推断错了,Mention suggester 返回 642 个账号是由于每个家里蹲入学家里蹲大学的时候都开了个家里蹲申请 issue 而产生的家里蹲噪声。(一个加入家里蹲大学就可以得知的家里蹲大学秘密:家里蹲大学里面藏着大概 10 个 Private 家里蹲皇帝)

然后我们拿群友的组织(非生物组织,全过程没有任何成员受到伤害)做实验,又当场新建了个组织,均没有泄漏 Private Owner……

难道我们 saveweb 是体质比其他 org 特殊患感冒了?


很快啊,我们找到了问题的关键:是由于咱 saveweb 遥遥领先,别的组织入 org 即送全 org 范围的 read 权限(默认),而咱们则是设置成了入 org 啥权限都不派送(No permission),相反,我们用 GitHub 的 Team 功能“细粒度”分配不同 repos 的权限给不同的成员。

Member privileges->Base permissions 设置为 No permission 之后。所有 private 的 owner 就也会被 suggestion API 列出。
大 bug 啊。

我们随后创了 GItHub 新号,用它创了个新 org,org 设置成 No permission 后,一样成功复现。

所以是不是该…?
是该 report
哈哈哈 GitHub 也是个草台班子看来
这世界本来就是个大型的草台班子…

然后我们就去 HackerOne 给 GitHub 发 report 了。

  • June 10, 2024, 7:39pm UTC 发 report
  • June 17, 2024, 6:51pm UTC GitHub 确认 Bug
  • June 19, 2024, 10:1pm UTC GitHub 回复说由于是低风险,所以会修得比较慢,然后给了 $617 赏金。
  • 一段时间后,这个 bug 被修了。

最后,$617 电汇损失 $2 手续费,我们实际收到了 $615 赏金。


谢谢送硬盘的老兄。😚😚
送硬盘的老兄草
这老兄送的可比硬盘多多了
尝试送硬盘的
而这一切的一切还得感谢那位送硬盘的大哥at了一些不该at的东西

还拿到了个 Octoplush 吉祥物。(Shipped from USA, Made In China, 绷不住)


什么?你想问这个 bug 有啥用?你想不想知道某些的🍅组织的 private owner 🙂

什么?你问开头那位 @justcannotforgot 老哥的硬盘?他前几个月给我们说他师兄可能要卖二手处理掉那些9️⃣硬盘,然后到现在也没有音讯……