乐于分享
好东西不私藏

18 分钟,一个 VS Code 插件,GitHub 的 3800 个仓库全部裸奔

18 分钟,一个 VS Code 插件,GitHub 的 3800 个仓库全部裸奔
导读:2026 年 5 月 18 日,一个名为 Nx Console 的 VS Code 扩展被悄悄替换为投毒版本。它仅在 Marketplace 存活了 18 分钟,却成功穿透了全球最大代码托管平台 GitHub 的内部防线,约 3800 个内部仓库的源代码被完整克隆,随后在暗网论坛挂牌出售,标价 9.5 万美元。攻击者没有使用零日漏洞,没有爆破密码,只做了一件事——让一个 GitHub 员工打开了 VS Code。

2026 年 5 月 20 日清晨,GitHub 首席安全官 Alexis Wales 向全体员工发送了一封内部通告。通告的措辞冷静、克制、充满法律团队打磨过的审慎,但核心信息让每一个读到它的人脊背发凉:有人在过去 48 小时内,克隆了 GitHub 内部约 3800 个代码仓库。

不是通过零日漏洞。不是通过爆破 SSH 密钥。甚至不需要社工邮件。

攻击者从攻陷一个 npm 包开始,一步步爬进了全球最大代码托管平台的内脏。整条攻击链的起点脆弱得令人难以置信——一个开发者装了一个 VS Code 插件,并且恰好开着自动更新。

GitHub 安全团队在事后调查中发现,恶意代码在 VS Code Marketplace 的存活时间只有 18 分钟。但 18 分钟就足够了。

一个正常得不能再正常的插件

Nx Console 不是什么来路不明的小众扩展。它是 nrwl 公司官方维护的 VS Code 插件,专为管理 Nx monorepo 项目而生,拥有超过 200 万次安装量,评分 4.8 分。对于使用 Angular、React 等前端框架的大型工程团队来说,这个插件几乎是标配。

5 月 18 日下午,一次看似正常的版本更新被推送到了 VS Code Marketplace:v18.95.0。更新日志写得一丝不苟,功能列表看起来平淡无奇。

但在代码层面,这个版本和它的前任之间有一个微小的区别——在 main.js 文件的第 7,703,700 个字节处,多出了 2,777 字节的恶意代码。它的逻辑直白得近乎粗暴:读取当前 VS Code 会话中的 GitHub 认证令牌,静默发送到一个外部服务器,然后利用该令牌通过 GitHub API 枚举当前用户有权访问的所有仓库,逐个克隆。

更令人毛骨悚然的是,攻击者还在 GitHub 上 Nx 的官方仓库 nrwl/nx 中植入了一个孤儿提交(commit 558b09d7)——这个提交不属于任何分支,在正常的代码审查中几乎不可能被发现。提交信息写着:"24 小时内不要删除此提交,否则擦除器(wiper)将激活。" 这是一个显而易见的虚张声势,但它的目的已经达到了——延迟任何可能的清理操作,为攻击争取更多时间。

恶意代码会检测执行环境:如果 CPU 核心数少于 4(典型的 Docker 容器特征),自动退出;如果检测到自己在 GitHub Actions 流水线中运行,自动退出;如果系统时区落在某些特定地区,自动退出。这是一个为真实开发者机器量身定制的陷阱,而 GitHub 员工的 VS Code,完美符合所有继续执行的条件。

VS Code 的自动更新机制在后台高效运转。插件发布后的 18 分钟内,约 3 万台设备收到了此次更新。其中一台设备的主人,在 GitHub 工作。

Microsoft 的安全扫描系统在第 18 分钟检测到了异常行为,将恶意版本从 Marketplace 下架。但这 18 分钟已经构成了一个完整的攻击窗口:令牌被窃取,仓库列表被枚举,数据开始流向攻击者控制的服务器。

但故事不是从 VS Code 开始的

如果把这起事件看作一场盗窃案,Nx Console 投毒只是撬开保险柜的最后一步。真正令人不安的是攻击者如何拿到那把"钥匙"的。

把时间拨回到 2026 年 4 月。一个代号为 TeamPCP 的威胁组织通过社会工程学手段,获取了流行前端工具库 TanStack 的 npm 包维护者账号。他们没有删除包,没有篡改文档,甚至没有做任何会引起注意的事情。他们只是在 TanStack 的代码中悄悄植入了一小段名为 "Mini Shai-Hulud" 的凭证窃取蠕虫。

Shai-Hulud,这个名字来自《沙丘》中的巨型沙虫,无处不在,吞噬一切。这段代码的行为也确实像沙虫一样在地下穿行——它会静默扫描开发者机器上的 .gitconfig 文件、环境变量、VS Code 配置、SSH 密钥目录,将所有能找到的认证凭据回传至 TeamPCP 控制的服务器。

npm 包的依赖链条像一张巨大的网。任何项目中只要引入了 TanStack(直接或间接),开发者在执行 npm install 的瞬间,沙虫就开始工作。没有人知道它具体感染了多少台机器,但可以确定的是——Nx Console 的一位维护者的 GitHub 个人访问令牌,也在某一次安装中被窃取了。

这才是整个攻击链中最令人不安的环节。 攻击者没有攻破 VS Code Marketplace 的安全机制,也没有攻破 GitHub 的认证系统。他们只是利用了开源生态中最基础、最普遍的信任关系——开发者相信 npm 上的官方包是安全的,开发者相信 VS Code Marketplace 上的官方插件是安全的,开发者相信自动更新不会给他们带来灾难。

三层的信任叠加在一起,构成了一条完美的攻击走廊。

图穷匕见:暗网上的价签

5 月 21 日,也就是 GitHub 内部通告发出的第二天,TeamPCP 在 Breached 论坛上发布了出售帖。被窃取的 3800 个仓库数据打包出售,标价 5 万至 9.5 万美元。帖子还附带了一条威胁说明:如果在一定时间内没有买家出现,所有数据将被免费公开。

对于一个以出售数据为生的犯罪组织来说,威胁免费公开数据是一个明确的信号——他们很清楚这批数据的真正价值不在于代码本身能卖多少钱,而在于公开它造成的破坏力。

5 月 21 日同一天,美国金融业监管局 FINRA 发布了关于此次事件的网络安全警报。5 月 22 日,加拿大网络安全中心 CCCS 跟进发布了 AL26-013 安全公告,附带了详细的威胁指标清单。

监管机构的反应速度说明了一件事:被窃的 3800 个仓库不只是 GitHub 内部的工具脚本或文档。如果只是那样,FINRA 不会在 24 小时内发出警报。

GitHub 在公开声明中的措辞极为谨慎——"内部仓库"(internal repositories)。这个词可以涵盖很多种可能:可能是 GitHub.com 的后端服务代码,可能是 GitHub Actions 的调度引擎,可能是 GitHub Copilot 的推理管线,也可能是 GitHub 自己都不希望用户知道正在开发中的某款产品。GitHub 至今没有公布具体内容。

VS Code 的"扩展盲区"

Security Boulevard 的安全分析师在事后提出了一个概念:Extension Blind Spot——扩展盲区。

VS Code 扩展对用户机器的访问权限几乎是无限的。它可以读写文件系统,可以发起网络请求,可以读取其他扩展的配置数据,可以访问当前会话中的所有认证令牌。但在安全审查层面,VS Code Marketplace 的审核标准远不如 Apple App Store 或 Google Play Store 严格。

这不是一个 bug。这是设计的代价。VS Code 的扩展系统之所以强大,正是因为它的开放性。如果每一个扩展都要经过严苛的沙箱限制,像 Prettier、ESLint、GitLens 这样深度集成开发环境的工具就不可能出现。

但 TeamPCP 的攻击暴露了一个残酷的事实:在这个开放体系下,一个被攻陷的扩展就是一个合法的后门。 不需要绕过任何安全机制,因为扩展本身的权限就足够高。

微软在事发后表示正在"评估"VS Code Marketplace 的安全审核流程,但截至目前尚未公布任何具体的改进措施。对于超过 2000 万 VS Code 月活跃用户来说,Extension Blind Spot 仍然存在,而且短期内不会消失。

被波及的还有谁

在 TeamPCP 的这轮供应链攻击中,GitHub 是最大、最显眼的目标,但不是唯一的目标。

同批次的攻击中,OpenAI 的两名员工的设备也被入侵——同样是 TanStack 供应链的受害者。攻击者窃取了 OpenAI 内部代码仓库的访问凭证,影响了超过 170 个相关包。Mistral AI 和 Grafana Labs 随后也确认受到了波及。

而在更广泛的开源生态层面,TeamPCP 使用相似的投毒手法攻击了 Laravel-Lang 社区,导致超过 400 个语言包被植入恶意代码。更往前追溯,这个组织在过去三个月内连续发动了 20 余波攻击——从劫持 Trivy 的 GitHub Actions 流水线开始,到攻陷 LiteLLM(一个每月下载 9500 万次的 Python 包),到污染 TanStack 的 42 个 npm 包,每一步都在为下一步积蓄动能。安全公司 Socket 将这场运动描述为"有史以来持续时间最长的软件供应链攻击狂潮"。

这已经不是一起孤立的攻击事件,而是一次针对整个开源供应链的系统性渗透。TeamPCP 的策略不复杂:找到一个 npm 包,攻破它,然后等着下游的鱼自己撞进网里。他们可能同时撒了很多张网,GitHub 只是其中撞进来最大的一条。

攻击者甚至设置了一个恶毒的"死人开关"——他们在窃取的 GitHub 令牌描述中写道:"如果你吊销了这个令牌,它将擦除这个令牌所有者的计算机。" 这当然也是虚张声势,但它传递的信息很清楚:攻击者不仅在意能否偷到数据,他们也在意你是否敢阻止他们。

信任的悖论

开源供应链的安全问题不是新话题。SolarWinds 事件、Log4j 漏洞、xz-utils 后门——每一次重大的供应链攻击之后,行业都会陷入一轮"要加强供应链安全"的集体反思,然后一切照旧。

GitHub 这次的遭遇之所以值得深思,不是因为攻击技术有多高明,恰恰相反——攻击手段简单得令人心寒。 社工获取 npm 账号 → 植入凭证窃取蠕虫 → 投毒 VS Code 扩展 → 等鱼上钩。整个链条中没有任何一步是传统意义上的"高级攻击"。

但它奏效了。

这背后是开源生态一个无法回避的悖论:现代软件开发建立在"信任陌生人"的基础上。开发者每天从 npm、PyPI、VS Code Marketplace 下载成百上千个依赖和扩展,每一行代码都来自一个可能从未谋面的人。这个体系的运转效率高得惊人,但它的安全模型本质上建立在一种假设之上——"大多数人是善意的"。

TeamPCP 没有推翻这个假设。他们只是证明了,在这个假设下,攻破一个善意的人就足够了。攻破那个恰好是 GitHub 员工的善意的人,就足以让 3800 个仓库在 18 分钟内完成裸奔。

结局:被公开的、未被回答的

GitHub 的官方声明以一段标准的危机公关话术收尾:已吊销所有受影响令牌,正在与执法部门合作,建议用户开启双因素认证。

有几个问题 GitHub 没有回答:被盗的仓库里到底有什么?用户数据是否受到影响?1 万名 GitHub 员工中,为什么恰好那个装了 Nx Console 还开着自动更新的人,持有访问 3800 个内部仓库的权限?

最后一个问题可能是最让 GitHub 难堪的,也可能是最值得所有工程组织深思的。

在这条攻击链中,攻击者无法选择谁会成为最初的突破点。他们发了足够多的鱼钩,钓到了一条恰好权限够大的鱼。这不是运气——在一个拥有 1 万名员工、每个人每天使用数十个第三方扩展和依赖的组织里,一定会有一条权限够大、安全意识不够强的鱼。

这是概率问题,不是运气问题。

截至本文撰写时,TeamPCP 的被盗数据是否有买家仍是未知数。GitHub 没有公布调查的最新进展。VS Code Marketplace 的安全审核流程没有本质性的变化。

唯一确定的是:那条攻击链上的每一个环节——npm 维护者账号保护、VS Code 扩展权限模型、企业内部的令牌权限分级——在今天和 5 月 18 日之前一样脆弱。

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-06-02 13:55:15 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/698723.html
  2. 运行时间 : 0.134845s [ 吞吐率:7.42req/s ] 内存消耗:4,739.36kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=7e01c0ff41ae0fa570bcc9d9241a6bdf
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 3.94 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.30 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.50 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000619s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000814s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000310s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000254s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000486s ]
  6. SELECT * FROM `set` [ RunTime:0.000202s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000522s ]
  8. SELECT * FROM `article` WHERE `id` = 698723 LIMIT 1 [ RunTime:0.001036s ]
  9. UPDATE `article` SET `lasttime` = 1780379715 WHERE `id` = 698723 [ RunTime:0.023895s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.002309s ]
  11. SELECT * FROM `article` WHERE `id` < 698723 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000643s ]
  12. SELECT * FROM `article` WHERE `id` > 698723 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000376s ]
  13. SELECT * FROM `article` WHERE `id` < 698723 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000598s ]
  14. SELECT * FROM `article` WHERE `id` < 698723 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.007603s ]
  15. SELECT * FROM `article` WHERE `id` < 698723 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.009592s ]
0.136591s