IG、TikTok 为何注入 JS 代码,开发者推出开源工具一探究竟


本周,一件有关 iOS 隐私安全的事件在国外引发了热议,事件的起因是安全研究员 Felix Krause 发现 Meta 公司旗下的多款软件(Facebook、Instagram、Messenger)通过使用应用内网络浏览器(in-app web browser)和注入的 JavaScript 代码来跟踪用户数据,能够获得的数据包括访问的网站、屏幕点击、键盘输入,以及文本选择等内容。

除了 Meta,之后 Felix Krause 还发现 TikTok 也会采用类似的方式来收集用户数据。

为了让所有用户都可以清楚地看到通过应用内浏览器注入的 JavaScript 代码,安全研究员 Felix Krause 推出了一个全新的开源工具 —— InAppBrowser,这个工具使用起来毫无门槛(稍后会介绍),用户可以使用它来检查嵌入在应用程序中的网络浏览器如何注入 JavaScript 代码来跟踪用户。

对于那些不熟悉应用内浏览器的人来说,这是还是先解释一下。应用内浏览器通常在用户点击应用内的一个 URL 时开始运作,通常都是通过创建 WebViews 的实例,并将公共 URL 或应用资源中的一些内容加载到这个实例中。这样应用程序就会直接显示网页,而不必将用户重定向到外部浏览器。iOS 和 Android 的应用内浏览器在很多方面都很相似,当然两者也提供了各自的平台特定方法,用于启用/禁用一些功能。

以此次安全研究员 Felix Krause 的发现为例,尽管 Meta 和 TikTok 应用内浏览器使用的是基于 iOS 上的 Safari WebKit,但开发者可以修改它们来运行自己的 JavaScript 代码。因此,用户更容易在不知情的情况下被追踪。例如,一个应用程序可以使用自定义的应用内浏览器来收集网页上的所有点击、键盘输入、网站标题等等。

通过收集这些数据,这些应用可以创建用户的数字指纹,并以此为基础向用户推送更加有针对性的广告、视频和帖子等。除此之外,由于可以监测用户屏幕点击和键盘输入,如果用户在应用内浏览器中输入了银行账号、身份信息等敏感内容,面临的风险将会更高。Krause 指出,InAppBrowser 目前还不能检测所有的 JavaScript 代码,但它仍然可以让用户更深入地了解应用程序正在收集哪些数据。

如何使用 InAppBrowser 工具

使用 InAppBrowser 工具是非常简单的。首先打开一个你想分析的应用程序,然后在应用内的某个地方分享这个 URL(https://InAppBrowser.com,例如将 URL 以私信的方式发送给朋友),最后在应用内点击这个链接打开它,就可以得到一份关于 JavaScript 注入代码的报告。

当然开发者还指出,并不是每个将 JavaScript 代码注入应用内浏览器的应用都是出于恶意的,因为 JavaScript 是许多网络功能的基础。

InAppBrowser 已在 GitHub 开源,并以 MIT 协议分发。


相關推薦

2021-12-21

OBS 的安装程序有些巧合般的相似... 而 OBS 商业功能开发者本·托雷尔也发文证实了此事,称: 从 TikTok 流媒体应用程序的完整反编译可以看出,它在实际构建中使用了 OBS 代码的几个实例,例如游戏捕获。我们承诺真诚

2022-04-03

版本好,公司迎来了一段时间的黄金期。但好景不长,在推出 elementary OS 6(2021 年 8 月) 和 6.1(2021 年 12 月)后,他们的销售业绩大不如前,远低于预期,而这其中一个原因就是肆虐全球的疫情,疫情大大影响了全球的经济和

2024-09-28

。没有它,市场可能会更加混乱。 发布商标的支持者:开发者社区中的许多人认为该名称应该属于社区本身,以便在品牌推广和推广活动、工具和开源项目方面拥有更大的自由。 最终,问题归结为 Oracle 是否仍有正当理由拥

2022-08-24

指向未承诺只包含自由软件的第三方资源库。 发行版的开发者尽力避免非自由软件,并承诺一旦发现有非自由程序就移除。 而此次众多的 Linux 发行版中存在着不满足许可条款的 go 软件包,里面包含大量无许可的代码,这

2022-12-19

pr,语法上支持嵌套的类型注解,但不知用意和建议用法为何。 func hello(a : tuple [ int ]) : int [ float, list [ str ], dict ] { print(a) } a : list [ int ] = 2 补全 try ... catch ... finally try f=open('__init__.py', 'r') { print(len(f.read())) print([][int('0

2023-08-27

26 日「源创会」北京站,聊聊 AI 大模型与底层技术 >>> TikTok 发布了名为「PrivacyGo」的开源项目,其源代码已托管至 GitHub。 ▲ https://github.com/tiktok-privacy-innovation/PrivacyGo 根据项目的 README 描述,PrivacyGo 致力于探索与隐私

2024-07-04

着无数平凡而又微不足道的梦想。小明,一名普通的前端开发者,就在这座钢铁丛林中,在一家不起眼的初创公司里日复一日地敲打着键盘,为那些冰冷的网页赋予生命的色彩。他的办公室位于一栋老旧写字楼的顶层,窗外的风

2022-02-23

针对四种常见漏洞模式显示警报:跨站点脚本 (XSS)、路径注入、NoSQL 注入和 SQL 注入。 新的代码扫描功能由 CodeQL 分析引擎提供支持,启用 CodeQL 来针对某个代码库进行查询,即可识别潜在的安全漏洞。这些开源查询由社区

2023-10-19

。 支持 Markdown、XML 或两者的组合使用。开发人员可以注入语义属性或语义元素来丰富 Markdown,并且 Markdown 元素可以转换为 XML。 提供外观的自定义选项,包括选择深色或浅色模式、对比度、柔和或生动的皮肤,以及定义适合

2022-11-22

全新的 Design Token 模型支持多算法 Pipeline,从而大大降低开发者拓展成本。你可以选择一个现成的算法,再加自己的拓展部分算法(当然你也可以写一套完整的算法),就可以生成一套完整的 Design Token: CSS-in-JS 动态主题

2022-03-24

,Mozilla 在 2020 年的裁员中把 Rust 团队和大部分 Rust 核心开发者给裁员了。而后 Rust 项目宣布独立并,而 Servo 引擎。 因此 Mozilla 的 Rust 重写计划也被搁置。如今在 Firefox 的代码中, Rust 比例仅为 9.9%,而 C++ 语言占 26.8%,C 语言

2022-12-01

上去更加“欧美范儿”让客户更有购买欲!   (2)Tiktok 购物车对接 配置路径:模块管理→通用模块→TikTok Business Extension 新增的TikTok购物车功能,让跨境卖家轻松在TikTok卖货转化客户 用户可以在短视频下方,点击

2022-09-16

终于等到你! 2022 Google 开发者大会今日如约重聚,主旨演讲干货新鲜出炉,一起回顾一下! 谷歌一直积极帮助开发者灵活运用前沿科技,探索创新的方式以解决现实问题,以科技之力应对变化,帮助他人,如 Google

2023-02-26

。 Google 在去年为 Play Store 推出了「数据安全」标签,开发者可以通过填写 Google Data Safety Form,为其应用程序收集的信息提供 "完整和准确的声明"。Mozilla 的调查显示,这些由开发者自己提交的隐私标签大部分都无法准确反映