突发,小红书开发者后门被破解?!

朋友们又来吃瓜了,这次小红书出现的事故我认为比服务器崩掉严重 100 倍!相当离谱!

事故现场

6 月 18 日下午 1 点,小红书隐藏的后门竟然被人挖出来了!进入 APP 个人主页 => 打开设置 => 连续点击标题多次 => 输入口令 ,然后竟然就进入了开发者模式?!

解释一下,开发者模式是应用中隐藏的高级设置,主要方便开发者在开发、调试和优化应用时,更深入地了解和控制设备系统

哦豁,这下完了,普通用户都能进入开发者模式,虽然对普通用户影响不大,但关键在于,任何让普通用户能够访问开发者权限的设计,本身就违反了最基本的安全原则

我刚看到这个消息的时候,手里的养肾茶差点喷出来。作为一个写了 9 年代码的老程序员,这种事故我是真的头一次见。

因为这次事故的严重性,我甚至都只敢先给官方反馈、然后等到官方修复后再发布这期内容。。。


进入开发者模式后,小红书的业务划分直接一览无遗!

每个菜单下都有一大堆普通用户根本看不懂的设置,你就知道这玩意泄露出去对用户的影响并没那么大。很多功能都是用来调试程序的,比如什么手动模拟堆栈溢出、闪退、程序崩溃等等,这些即使普通用户发现了,也只能自娱自乐。

但有些设置,在程序员眼里可就没那么简单了。。。

先来看个最炸裂的。在社交菜单的社交数据库下,我可以直接执行 5w 条数据的批量插入,而且竟然 直接把数据库表的结构给曝出来了 ?!我敢打赌,小红书的竞争对手、还有学技术的同学都在疯狂截图。这现场教学,可比任何技术分享都直接。

而且整个开发者模式的菜单和各种眼花缭乱的功能设置,透露着大厂雄厚的技术底蕴,本身就是一个很好的学习案例,相当于 "开源了" 自己开发者工具的架构设计。还有很多功能设置以及调试日志也能不经意地透露出一些信息,有水平的程序员顺着这些信息,就可能把小红书的一些技术实现摸清楚。

这里考虑到暴露太多信息不太好,就不给大家一一演示了。

所以这次事故虽然没有影响用户,但从信息泄露的角度,我觉得是非常严重的。至少我可以给它评一个 P0 级事故 ,屏幕前的朋友们,你们觉得呢?

技术分析

介绍完了事故,我来给大家分析一下背后可能的原因。

唉,大概率是个低级到不能再低级的错误!

首先,这个开发者模式功能相当完整,连数据库表结构都能看到,这种级别的调试功能,只应该在内部测试环境出现,就像厨师在后厨做菜,绝对不应该把做菜的工具端到客人面前对吧。所以一定是 开发环境的代码或配置泄露到了生产环境 ,比如写代码时把 环境配置搞错了 !线上生产环境也开启了开发者工具。

复制代码
// 错误示例
if (isProduction) {
   showDebugPanel = true; // 这里应该是 false!
}

当然,这种可能性有点低,代码里这么写怎么可能通过审核呢?也不至于粗心到这个程度吧?

再结合网友提供的一些信息,IOS 和安卓都是某些版本能进后门、有些进不去,而且被修复的时间和表现不同。这说明什么呢?不同版本的 APP 肯定是独立构建和发布的。

正常情况下,大厂构建 APP 的流水线会有明确的环境区分:

  • 开发环境:各种调试工具、后门、日志输出

  • 测试环境:部分调试功能,但比开发环境收敛

  • 生产环境:所有调试代码都应该被编译时移除或禁用

我觉得使用 流水线构建 APP 时,配置项填错 的可能性更大,可能是某个倒霉的实习生,天真地以为开启这个后门便于线上排查问题呢,所以生产环境使用了开发环境的配置。这样打出来的包名虽然是正式版本的,但里面有一些功能可能是异常的。反正我不相信有人蠢到不小心把内部测试用的包发布到了应用商店。

此外,还有一种可能性,就是做 A/B 测试时写错了配置,把内部员工的标识给了所有普通用户。不然我也不是很理解为啥普通用户拿个弱口令密码就能进入调试?

紧急响应

值得夸奖的是,小红书的应急响应速度还是很快的,截止到我做这期内容,大概 4 个多小时,就不能再通过原密码进入后门了。

诶?明明我们也没更新 APP,为啥突然密码失效了呢?

其实这个很简单,密码不可能写死在 APP 本地,一定是存在服务端数据库或者配置中心里,只要修改下保存的密码,自然无法登录。不幸中的万幸啊,要是真把密码写死在了 APP 本地,我不更新 APP,不就一直是开发者了?好家伙,免费的测试劳动力是吧?

最后想说的话

说实话,作为程序员,我对小红书团队还是有点同情的。这种事情在大厂其实并不少见,只是很少被用户发现而已。话说这次怎么能被发现的?

唉,到底是怎么了,这么大的团队还会犯这么低级的致命错误?世界真是一个巨大的草台班子。

这也提醒我们所有技术人:再小的配置也要谨慎,高端的 Bug 往往只需要最简单的代码。

我估计这个 618 晚上,小红书的技术朋友们又不好过了呀。。。

如果你也是程序员,欢迎在评论区聊聊你对这次事故的看法;如果你是普通用户,希望我的分析能帮你理解技术故障背后的原理,吃瓜吃的更懂。

记得点赞关注鱼皮,下次再有翻车,我继续带大家从技术角度吃瓜!好吧,我希望世界和平~

更多编程学习资源

相关推荐
前端中后台4 小时前
Cursor实践使用技巧
人工智能·程序员
CodeSheep8 小时前
稚晖君公司再获新投资,yyds!
前端·后端·程序员
袁煦丞10 小时前
AI配音情感魔术师ChatTTS: cpolar内网穿透实验室第414个成功挑战
前端·程序员·远程工作
DeepSeek忠实粉丝11 小时前
微调篇--Transformers多模态流水线任务
人工智能·程序员·llm
LLM大模型1 天前
LangGraph篇-LangGraph快速入门
人工智能·程序员·llm
LLM大模型1 天前
LangGraph篇-核心组件
人工智能·程序员·llm
hotdogc10171 天前
Zed 和 Cursor 的 AI 到底谁才是未来?
程序员
天天摸鱼的java工程师1 天前
前端难还是后端难?作为八年后端开发,我想说点实话
前端·后端·程序员
沉默王二1 天前
自从切换到字节的TRAE Pro 版,编程真的爽的起飞。
人工智能·后端·程序员