GitHub 和微信合作。。。脱裤子放屁

2022-12-20 12:41:49 +08:00
 superrichman

https://github.blog/changelog/2022-12-19-tencent-wechat-is-now-a-github-secret-scanning-partner/

GitHub will forward access tokens found in public repositories to Tencent WeChat, who will notify affected users.

Github 扫瞄项目中泄漏的 token ,然后发给微信,然后微信再通知用户???这是什么中间商赚差价的操作? Github 你 tm 就不能直接通知用户?

PS: 一点阴谋论, 有没有其它信息发给微信了?

15321 次点击
所在节点    程序员
89 条回复
messense
2022-12-20 12:45:10 +08:00
> We have partnered with Tencent WeChat to scan for their tokens and help secure our mutual users on all public repositories and private repositories with GitHub Advanced Security.

有点断章取义了吧,GitHub 会把泄露的微信相关的 token 发给微信,除了通知用户,微信还可以主动停用这些 token 来快速止血。
eason1874
2022-12-20 12:45:50 +08:00
这个有用

只通知 Github 用户不够的,比如我是你的开发商,我把你的微信 Token 泄露到 Github 上面,Github 只通知用户的话就只通知到我,我怎么处理就要看我的良心了。要是跟微信合作,直接通知 Token 对应微信管理员,就是通知到你,那靠谱多了
superrichman
2022-12-20 12:47:28 +08:00
@eason1874 github 怎么保证这个 token 就是微信的? 如果是其它系统的 token 碰巧长得和微信差不多,它也发给微信,这根本没有道理。
janus77
2022-12-20 12:48:24 +08:00
万一用户没看到就没用了
发给微信主要是微信第一时间停用这个 token ,这样就强行掐断了风险源头
superrichman
2022-12-20 12:50:04 +08:00
@messense 如何我别的系统的非微信 token 也发给微信,这数据如何保证安全? 集中收集一堆 token 送给微信,你说它不会滥用我是不信的
Ultraman
2022-12-20 12:51:50 +08:00
GitHub 把扫到的意思腾讯的 token hash 一下发给腾讯不得了
@superrichman
eason1874
2022-12-20 12:51:57 +08:00
@superrichman 不止判断 token ,也看代码特征啊,有微信接口代码,有 openid 和 token ,就可以发给微信,让微信确认是否有效

至于安全问题,你逻辑搞错了,你都 github 把 token 公开了,全世界都知道了,你还介意微信知道 😂
docx
2022-12-20 12:52:24 +08:00
我觉得是微信先把 Token 给 GitHub ,Github 扫描到了匹配值,给微信返回结果。肯定是要一样才通知,这种还能撞到相同的概率太低了。

至于为什么不是 GitHub 直接通知用户:如果是别人的仓库呢?如果你在 GitHub 没有账号呢?
docx
2022-12-20 12:54:12 +08:00
@docx #4 防杠:不是原始 token
superrichman
2022-12-20 12:54:45 +08:00
@janus77 还有,我用代码故意枚举一堆类似微信 token 的字符串,它扫描发给微信,万一碰到哪个倒霉蛋的 token 正好被我枚举碰撞到了,那他生产的 token 可能也要挂掉
HomeboyC
2022-12-20 12:57:15 +08:00
这个特性很多厂商都有和 GitHub 合作啊,又不止微信。
swulling
2022-12-20 12:57:17 +08:00
wechat 只是合作商之一。这个的意思是

github 会把所有公开库里的 token 都提取出来,一股脑发给各个合作商。各个合作商收到后,进行比对,看是不是自己家的,如果是,那么就通知对应的用户。

至于你说的 Token 发给 wechat 有没有安全问题,库已经公开了,已经不知道被多少黑阔扫到了,公开信息发给微信没有任何问题。

其实很多公司都有类似的策略,比如我司也会自己去扫描 github 上的所有公开库有没有泄漏的 token 。但是和 github 合作的话,github 进行增量推送,应该能提高这个扫描的实效性。
superrichman
2022-12-20 12:57:56 +08:00
@eason1874 我介意的是把提取出来的结果送给微信这点不合理。没法保证 token 是微信的,而且没法保证 token 不被滥用
zxCoder
2022-12-20 13:01:04 +08:00
那要喷也得喷 github 啊,微信这波算躺枪嘛
janus77
2022-12-20 13:05:49 +08:00
@superrichman #10 为什么要 github 去判断?正常情况下应该是,github 和微信合作,既然有合作,自然不是直接检测字符串之类的,还记得 copilot 吗?首先他肯定会结合代码特征进行初步筛选,而且是否包含 token 这也不是一遍扫描就完事,应该是把初步筛选得到的代码段交给微信来判断,github 不应该有权判断 token 真伪的。等微信判断结果出来以后他自己会进行相应处理,比如临时停用什么的
zhaorunze
2022-12-20 13:08:59 +08:00
@superrichman 枚举的想跟生产的撞上,你搜搜看你要多少次枚举
dzdh
2022-12-20 13:09:14 +08:00
@superrichman

1. token 是基于公开的 repo 而公开的, 私有 repo 不会参与进来
2. 不发送,微信也可以扫项目拿到(当然任何人都能拿到)
3. 主动推送的确是官方行为,我相信你介意的是这一点
4. 你枚举的类似微信 token 的字符串,倒霉蛋就不能用了,是的,的确,但是同样的,你居然能真的枚举到合法且真实有效的 token ,那顺手 block 掉岂不是更好?你拯救了一个项目于危难。
5. token 扫描用脚趾头想也不可能是单纯的 egreg wx(\w+),肯定是有上下文的上下文代码中有 https:wx.qq.com 或者有 openid&secret 等字样才会触发。
mooyo
2022-12-20 13:09:38 +08:00
公开信息你介意发给微信合不合理是什么意思?微信想要他自己不能扫了么。
ylqhust
2022-12-20 13:09:59 +08:00
@superrichman
1. token 都是很长的随机字符串,能碰到的概率微乎其微,你能碰到不如去买彩票。
2.微信给 github 的接口,怎么到你这就想调用就调用了?你想发啥就发啥是吧。那你还走 github 干啥,直接把微信开发者后台黑了得了。
Kangtai
2022-12-20 13:12:43 +08:00
@dzdh ta 介意的是推给国内厂商吧,推给 Google 、Amazon ,应该就不会叫了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/903703

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX