乐于分享
好东西不私藏

你的代码安全工具,真的在“用“吗?——汽车行业源码检测的六个落地困局

你的代码安全工具,真的在“用“吗?——汽车行业源码检测的六个落地困局

核心观点:合规框架已经搭了五年,但大多数团队的代码安全检测仍停留在"买了工具"阶段。本文拆解合规幻觉背后的五大落地痛点,并给出从 SAST+SCA 到 CI/CD 嵌入式检测的完整解决方案框架。


摘要

一辆智能汽车代码量已超一亿行——是波音 787 的两倍。WP.29 R155、ISO/SAE 21434、GB/T 40857 等法规体系在全球范围内持续推进,汽车行业对代码安全的重视程度达到了历史最高点。

但重视不等于落地。

从多家汽车 OEM 和 Tier-1 供应商的实际案例来看,一个系统性困境普遍存在:工具买了、流程写了、合规文档也通过了——但源代码里的缓冲区溢出还在,开源组件的已知 CVE 还在,调试接口量产版本里也没关掉。

本文将从"威胁全景→合规幻觉→痛点拆解→方案框架→落地路径"五个维度,系统性地回答一个问题:汽车软件代码安全,怎么才能真正嵌入研发流程,让问题在最便宜的时候被发现?


一、一亿行代码的安全债

1.1 真正的"软件定义汽车"

今天一辆高端智能电动汽车,搭载 100+ 个 ECU,软件代码规模已经突破一亿行。这个数字还在以每年 15%~20% 的速度增长。对比一下:

对比对象
代码规模
波音 787 客机
~5000 万行
F-35 战斗机
~2400 万行
Android 操作系统
~1200 万行
现代智能汽车>1 亿行

这还只是车载软件。如果算上云端后台、手机 App、生产线刷写工具,整个汽车软件生态的代码量是另一个数量级。

1.2 攻击面同步膨胀

软件越多,攻击面越大。以下真实案例足以说明问题的严重性:

  • 2021 年
    ,某品牌车型被安全研究人员曝出车载 WiFi 模块存在远程代码执行漏洞,攻击者可获取底层 CAN 总线控制权
  • 2023 年
    ,研究人员在十余家主流车厂的 API 接口中发现了认证绕过和逻辑漏洞,可实现批量车辆解锁、远程位置追踪
  • 2024 年
    ,某 Tier-1 供应商的 OTA 升级模块被发现使用存在已知 CVE 的第三方加密库,影响车型超过 20 款

这些漏洞的根因,几乎全部指向源代码层面的安全缺陷


二、威胁全景:代码缺陷的三个源头

我们将汽车软件的安全威胁归纳为三个层次:

2.1 第一层:开发人员写出来的

这是最经典、也最容易理解的一层。嵌入式 C/C++ 代码中广泛存在:

缺陷类别
典型问题
潜在后果
内存安全
缓冲区溢出、空指针解引用、野指针
系统崩溃、代码执行
数值处理
整数溢出、除零错误、类型转换错误
逻辑异常、安全机制绕过
并发缺陷
竞态条件、死锁、数据竞争
功能安全失效
输入验证
格式化字符串、命令注入
权限提升、信息泄露

汽车行业 C 语言历史包袱极重。很多 ECU 固件的核心代码写于十年前,当时的安全意识远不如今天。这些"祖传代码"至今仍在大量车型上运行,且人工审查几乎不可行——百万行级别的代码库,靠 code review 覆盖所有路径是天方夜谭。

2.2 第二层:第三方组件带进来的

现代汽车软件开发已经高度依赖开源生态。AUTOSAR 基础软件栈、通信协议栈、加密库、文件系统、日志框架——大量第三方组件构成了软件的基础骨架。

但大多数团队说不清楚三个问题:

  1. 项目中到底用了哪些开源组件?
  2. 这些组件的具体版本是什么?
  3. 它们有没有已知漏洞(CVE)?

这不是能力问题,而是管理工具缺位。没有自动化的软件物料清单(SBOM)生成能力,靠 Excel 手工维护组件清单,必然滞后于真实的代码依赖关系。

某 Tier-1 供应商在一次安全审计中发现:其自动驾驶域控制器软件栈中,一个用于 JSON 解析的开源库存在高危反序列化漏洞(CVSS 9.8),而该库在企业内部的组件清单中根本不存在——因为它是一个中间件的传递依赖,三年前就被引入,无人知晓。

2.3 第三层:架构设计放出来的

这类问题比前两层更隐蔽,因为人工审查极易遗漏:

  • 安全分区缺失
    :高安全域(ASIL D)与低安全域(QM)的通信未做严格隔离,低安全域的代码可以调用高安全域的关键接口
  • 特权代码暴露
    :具备内核权限的代码段中存在可控外部输入,形成权限提升通道
  • 调试接口残留
    :量产版本中保留了 JTAG/SWD 调试接口,未做熔丝位保护或安全认证
  • OTA 签名缺陷
    :固件更新包的签名校验逻辑存在缺陷,可被中间人攻击绕过

这些问题不属于传统"代码缺陷"范畴,但一旦被利用,后果往往是灾难性的——且修复成本极高,通常涉及架构级重构。


三、合规的幻觉:法规过了 ≠ 代码安全了

3.1 合规框架真的在落地

过去五年,汽车网络安全法规体系基本成型:

法规/标准
适用范围
核心要求
执行状态
WP.29 R155
出口欧盟/日韩等 56 个缔约方
车辆网络安全管理系统(CSMS)+ 车型 VTA 认证
2022.7 起新车强制,2024.7 起所有车型强制
ISO/SAE 21434
全球汽车供应链
覆盖全生命周期的网络安全工程框架
行业标准(非强制法律),OEM 普遍要求供应商符合
ISO 26262
全球
功能安全(ASIL A~D),与代码质量直接关联
行业标准,ASIL D 要求最高
GB/T 40857
中国国内市场
国内版网络安全要求,逐步对齐国际标准
推荐性国标,正逐步向强制方向推进
UN R156
出口缔约方
软件更新管理体系(SUMS)
与 R155 配套执行

合规传导是实打实的。 OEM 一纸要求下来,Tier-1 必须跟上,Tier-2 也跑不掉。

3.2 但"通过认证"和"代码安全"之间的距离

在实际案例中,一个典型场景是:

合规文档写得非常扎实。CSMS 流程定义清晰、代码安全分析纳入管理流程、VTA 认证也拿到了。

然后工具买回来、装上、第一次全量扫描——

跑出来 3000+ 条告警。没人知道怎么处理。

这是合规与实战之间最典型的断裂带。

原因很简单:法规告诉你"要做代码安全分析",但没告诉你怎么做——用什么工具、跑什么规则、告警怎么分级、怎么嵌入 CI/CD、研发团队怎么配合。 这些工程细节,才是真正的考验。

五个残酷真相,就藏在这些细节里。


四、五大痛点:为什么你的安全检测"没管用"

痛点一:工具在吃灰——采购与落地的断裂

典型场景:

某 Tier-1 供应商 2023 年采购了 SAST 工具,预算批了、POC 做了、合同签了、license 激活了、供应商培训也做了。

然后研发团队说当前 sprint 排满了——"下个迭代"。

下个迭代推到下个季度。下个季度推到下半年。

到 2025 年初,审批这笔预算的 CTO 调走了,新 CTO 还在熟悉业务。工具的激活状态显示"active",但上一次扫描记录是 POC 时的数据。

根因分析:

层次
问题
组织层面
采购决策者(CTO/安全负责人)≠ 实际使用者(研发团队),工具没有融入研发日常工作流
流程层面
CI/CD 流水线集成需要研发配合,但没有明确的责任人和时间节点
技术层面
接入流水线需要适配编译环境,工具与现有工具链的兼容性在 POC 阶段未充分验证
激励层面
安全指标不在研发团队的 KPI 里,"不出事"没有正向激励,"出事了"也追不到具体人

痛点二:误报淹没了真实缺陷——研发信任崩塌

这是工具"在用但不管用"的第一大死因。

一个典型的汽车域控制器项目,代码量 200~300 万行 C/C++。SAST 工具第一次全量扫描:

  • 告警总量:3000~5000 条
  • 真实缺陷:可能只有 15%~25%
  • 研发看到 3000 条告警的第一反应不是"修",而是"关掉"

误报为什么高? 三个层面:

  1. 规则颗粒度粗
    :通用规则的检测逻辑没有针对汽车嵌入式场景做调优,大量"理论上可能、实际上不会触发"的路径被标记
  2. 上下文缺失
    :工具不了解 AUTOSAR 分层架构、任务调度模型、内存保护机制,把正常的架构模式判为缺陷
  3. 无增量机制
    :每次都跑全量,上次判定为"误报"的问题下次还会再报,没有白名单和学习机制

恶性循环:告警多 → 研发不信任 → 不处理 → 真实缺陷也被忽略 → 安全形同虚设

痛点三:扫描太慢——塞不进开发流程

典型数据:

项目规模
全量扫描耗时(典型通用 SAST)
研发可接受的上限
50 万行 C/C++
30~60 分钟
10 分钟以内
200 万行 C/C++
2~4 小时
15~20 分钟
500 万行+
6~12 小时
不可能全量跑

提交检查(pre-commit check)要求在秒级完成,CI 构建流水线要求在 10~20 分钟内完成。

如果一个 SAST 跑一次要两小时,它就不可能嵌入 CI/CD。 最终的结果一定是:上线前突击跑一次(甚至不跑)。

痛点四:规则不对口——汽车行业的特殊性被忽略

汽车嵌入式软件有几个互联网行业不存在的特点:

特点
对 SAST 工具的要求
C 语言为主
需要深度支持 C89/C99/C11,不是 Java/C# 的通用规则
MISRA C 强制合规
需要内建 MISRA C:2004/2012 规则集,支持自动合规检查
AUTOSAR C++14
自适应 AUTOSAR 场景下 C++ 编码规范有专用标准
ISO 26262 ASIL 认证
工具本身需通过功能安全认证(如 TÜV NORD),否则检测结果不被采信
编译环境极其复杂
Tasking、Green Hills、IAR、GCC 等各种交叉编译器,预编译宏和条件编译路径极多
多语言混合
一个项目里可能同时有 C、C++、汇编,甚至 Python 测试脚本

拿互联网行业那套 Java/JavaScript 规则搬过来扫汽车代码,效果必然是灾难性的。

痛点五:管不住开源组件——SBOM 是盲区

这是 SCA(软件组成分析)的领域,但在汽车行业还远未普及。

真实场景:

某 OEM 的座舱域控制器依赖了 200+ 个开源组件。安全团队用的是手工 Excel 维护的"已知组件清单"。一次应急响应中,一个高危 CVE(CVSS 9.8)被通报,需要排查影响范围。

安全团队花了 两周,才确认这个漏洞组件存在于三个项目中——因为它是一个日志框架的传递依赖,不在 Excel 清单里。

两周的响应时间,在网络安全领域是不可接受的。 但这就是大多数汽车团队的现实。


五、隐藏的第六个风险:你的工具是"租"来的

以上五个痛点讲的都是"工具不好用"——但还有一个更深层的风险,很多团队还没意识到。

你的 SAST/SCA 工具,是买断的还是按年授权的?供应商在哪里?

2023 年以来,国际技术出口管制持续收紧。受贸易限制影响的中国企业,软件 license 被供应商单方面终止已不是新闻。即便你的公司今天不在任何限制名单上——只要工具的核心研发和授权服务器在境外,断供就是一个不可忽视的制度性风险。

这不是危言耸听。以下几个场景,正在汽车行业真实发生:

场景
后果
License 按年续费,供应商被母公司要求停止对中国客户的技术支持
续费被拒,工具停用,历史扫描数据和合规证据链全部锁死
云交付模式,分析引擎在境外服务器
代码需要上传到境外才能扫描——这本身就不符合多数车企的数据安全策略
工具可以继续用,但规则库和漏洞库停止更新
新出现的 CVE 无法检测,MISRA 新版本规则不支持,合规报告失去有效性
供应商被收购或退出中国市场
后续服务中断,定制化需求无人响应

为什么这件事对汽车行业尤其致命?

因为 WP.29 R155 要求 CSMS 体系具备持续性——不是做一次认证就完事了。法规要求的网络安全监控、漏洞管理、事件响应,都需要工具的持续运行和数据支撑。一旦工具突然停摆,不仅是"不方便"的问题,而是整个合规体系的证据链断裂。

更隐蔽的一层:这些工具本身有没有后门?

2024 年曾曝出开发工具链被大规模植入后门的安全事件,影响范围覆盖全球数十万开发者。代码安全检测工具对源代码拥有最高访问权限——扫描引擎需要解析整个代码仓库、构建完整的调用图和依赖关系。如果一个 SAST 工具的分析引擎运行在境外服务器上,本质上就是把整个代码库的知识产权和潜在漏洞信息,交到了不可控的第三方手里。

所以,"工具自主可控"不是政治口号。它是供应链安全战略的一部分,和芯片自主、操作系统自主是同一件事——只不过代码安全工具这条链,目前关注度还不够。


六、通用解决方案:SAST + SCA + CI/CD 三位一体

综合以上痛点,一个真正"管用"的汽车代码安全体系,需要同时覆盖三个维度:

6.1 方案架构

6.2 三个核心原则

原则一:快——嵌入开发流程,每次提交都扫

环节
扫描策略
时间要求
IDE 编码
实时检测,保存即扫
秒级
Git 提交前
增量扫描,只扫变更代码
秒级
CI 构建
增量 + 关联影响分析
≤10 分钟
夜间全量
全量深度扫描 + 趋势分析
不限

关键能力要求

  • 增量扫描:只分析变更代码及其直接影响范围,不重复分析未修改的部分
  • 多核并行:支持分布式扫描节点,横向扩展
  • 构建免编译:不需要完整编译即可分析,兼容各种交叉编译器

原则二:准——降噪 + 分级,让研发愿意处理

层级
处理方式
规则调优
针对汽车嵌入式场景定制检测规则,大幅减少"理论可能但实际不会触发"的误报
上下文感知
理解 AUTOSAR 分层架构、RTOS 任务模型、内存保护机制,避免将正常模式判为缺陷
告警分级
Critical / High / Medium / Low 四级分类,Critical 必须修复,Low 允许标记忽略
增量基线
首次扫描建立安全基线,后续只关注增量问题,避免被存量误报淹没
白名单机制
研发确认的误报自动加入白名单,后续扫描不再重复报告

原则三:适配——汽车行业的专用规则

能力项
具体要求
MISRA C:2004/2012
完整规则集,支持自动检查与合规报告
AUTOSAR C++14
自适应平台编码规范规则集
CWE Top 25
最危险的软件弱点,覆盖内存/注入/并发
ISO 26262
工具通过 TÜV NORD 功能安全认证(ASIL D 级别可用)
多编译器支持
兼容 Tasking / Green Hills / IAR / GCC / ARMCC 等交叉编译环境
多语言支持
C / C++ / Java / C# / Python / JavaScript 统一管理

6.3 开源组件管理(SCA)

能力项
说明
自动生成 SBOM
扫描代码仓库自动识别所有直接和传递依赖,生成标准 SBOM
CVE 实时追踪
对接 NVD / CNVD / CNNVD 漏洞库,自动匹配组件版本和已知漏洞
许可证合规
识别 GPL / LGPL / Apache / MIT 等许可证类型,标注冲突风险
漏洞可达性分析
不仅报告"使用了有漏洞的组件",更进一步分析漏洞函数是否被实际调用
修复建议
自动推荐可升级的安全版本,评估兼容性风险

七、落地实施路径:四步法从"有工具"到"真管用"

第一步:摸底——了解你现在的真实状态(2~4 周)

动作
产出
部署 SAST + SCA 工具,跑一次全量扫描
完整的代码缺陷清单 + 组件风险清单
建立安全基线(Baseline)
当前安全状态的量化快照
输出差距分析报告
距离合规要求和行业基准的差距

这一阶段最关键的价值输出:让决策层和研发层同时看到真实的风险状况,统一认知。

第二步:试点——在一个项目中跑通流程(4~8 周)

动作
产出
选定一个代表性项目(建议 50~200 万行 C/C++)
边界清晰,结果可衡量
配置 MISRA / AUTOSAR / CWE 规则集
针对项目特点的规则组合
对接 Git / Jenkins / GitLab CI
嵌入开发流程
建立告警处理 SOP
谁负责、什么时候处理、怎么关闭
建立误报反馈机制
白名单管理,持续优化

选项目建议

  • 优先选新项目(代码规范好、团队配合度高)
  • 避免选"祖传代码"项目(存量问题太多,容易打击信心)

第三步:推广——复制到更多项目(8~16 周)

动作
产出
基于试点经验制定推广 SOP
标准化部署手册
分批接入其他项目
按风险优先级排序
建立跨项目安全态势看板
CTO 视角的风险总览
将安全指标纳入研发 KPI
组织层面的长效机制

第四步:持续运营(持续)

动作
产出
规则库持续更新
跟进最新漏洞类型和合规要求
定期安全审计
季度或半年度系统性安全评审
团队安全培训
提升研发人员的安全编码意识
工具链升级
根据业务变化扩展检测能力

八、工具选型关键能力参考:一个自查清单

前面的方案框架给出了方法论,但具体到选型环节,很多团队面对厂商的方案对比表会感到无从下手。以下整理了一份面向汽车行业的 SAST/SCA 工具选型自查清单——不是推荐某个具体产品,而是帮你理清"选工具时到底该看什么"。

8.1 SAST 工具选型要点

评估维度
你需要确认的问题
语言支持
是否原生支持 C/C++(不是"兼容"而是深度解析)?Java/C#/Python 等辅助语言是否覆盖?
汽车行业规则
是否内建 MISRA C:2004/2012、AUTOSAR C++14 规则集?是否支持自动合规报告导出?
功能安全认证
工具本身是否通过 ISO 26262 功能安全认证(如 TÜV NORD)?能否用于 ASIL D 项目?
检测覆盖
规则总数多少?是否覆盖缓冲区溢出、内存泄漏、注入、并发、未初始化变量等汽车高发缺陷?
CI/CD 集成
是否提供 Jenkins / GitLab CI / GitHub Actions 官方插件?是否有 IDE 端实时检测?
误报控制
是否支持增量扫描 + 上下文感知分析?有无白名单/基线机制避免重复报告已知误报?
编译器适配
是否兼容 Green Hills、IAR、Tasking、GCC、ARMCC 等主流汽车交叉编译环境?
扫描性能
增量扫描是否在秒级完成?全量扫描是否支持分布式并行加速?

选型时的关键判断:POC 不要只看厂商提供的 Demo——拿你自己项目的真实代码跑一次,看误报率和扫描耗时,这才是硬指标。

8.2 SCA 工具选型要点

评估维度
你需要确认的问题
依赖识别
是否支持自动识别直接依赖和传递依赖?覆盖的语言生态是否匹配你的项目?
SBOM 生成
是否支持 SPDX / CycloneDX 标准格式?能否满足 OEM 的合规审计要求?
漏洞库对接
是否实时同步 NVD、CNVD、CNNVD?更新频率是多少?
许可证管理
是否识别 GPL / LGPL / Apache / MIT 等 100+ 种许可证?是否标注冲突风险?
可达性分析
是否支持判断漏洞函数是否被实际调用(而非仅报告"用了有漏洞的组件")?
修复建议
是否自动推荐可升级版本?是否评估兼容性风险?

8.3 进阶能力:模糊测试与二进制分析

如果你的团队需要对关键安全接口做更深度的验证,还可以关注:

能力类型
适用场景
选型关注点
协议模糊测试
验证 CAN / UDS / SOME/IP / DoIP 等车载协议实现的健壮性
是否支持主流汽车协议?是否基于代码覆盖率自动生成测试用例?
API 模糊测试
对安全关键接口进行边界值、异常值注入测试
是否支持自定义输入模型?能否集成到 CI 流程中自动触发?
固件/二进制分析
对 ELF / HEX / BIN 等发布产物做安全检查
是否支持硬编码密钥/证书检测?是否覆盖常见编译器生成的二进制格式?

8.4 痛点-能力映射速查

这张表帮你快速对号入座——你的痛点对应什么工具能力?

你的痛点
核心需要的能力
为什么重要
工具买了没落地
CI/CD 原生集成 + IDE 插件
嵌入开发流程,自动触发,研发不需要额外操作
误报太高,研发不信任
上下文感知分析 + 增量基线
只报该报的,每一条告警都值得被处理
扫描太慢,塞不进 CI
增量扫描 + 分布式并行
提交检查秒级返回,CI 构建不拖慢
缺少汽车行业规则
内建 MISRA / AUTOSAR 规则
开箱即用,不需要从零配置通用规则
管不住开源组件
自动 SBOM + CVE 实时追踪
看不见的依赖变成可见的风险
合规文档与工程脱节
自动合规报告生成
一键导出审计证据,不再手工整理

九、结语:安全左移,从今天开始

回顾全文,我们试图回答一个核心问题:汽车软件代码安全,怎么才能从"买了工具"走到"真管用"?

答案可以归纳为三个关键词:

  1. 嵌入:安全检测不是"做完开发再检查",而是"开发过程中就在检查"。IDE 里写代码时就提示、提交时就拦截、CI 时就卡门禁——在最便宜的阶段发现并修复问题。

  2. 精准:不要用 5000 条告警淹没研发团队。针对汽车行业做规则调优、上下文感知、告警分级,让每一条告警都值得被处理。

  3. 适配:汽车行业有自己的编码规范、功能安全标准、编译工具链。选工具时要看它是不是"为汽车而生",而不是用互联网那套方案硬套。


如果您正在负责汽车软件的安全合规工作,无论您是刚被 OEM 的 CSMS 要求推着走的 Tier-1 供应商,还是已经在用 SAST 工具但效果不理想的团队负责人——

如果您想了解自己代码库的真实安全水位,或者对文中的方案框架有进一步的探讨需求,欢迎私信交流。不卖方案,不推销产品,先从实际问题聊起。

觉得内容有价值的,点赞收藏,方便后续参考。我们下期见。


本文基于多家汽车行业客户的实战观察和公开行业数据撰写,部分数据引用自公开行业报告和安全研究论文。


附录:关键术语速查

术语
全称
说明
SAST
Static Application Security Testing
静态应用安全测试,不运行程序直接分析源码
SCA
Software Composition Analysis
软件组成分析,识别开源组件及其漏洞
SBOM
Software Bill of Materials
软件物料清单,列出所有软件组成成分
CVE
Common Vulnerabilities and Exposures
公共漏洞和暴露,安全漏洞的通用标识
MISRA
Motor Industry Software Reliability Association
汽车行业软件可靠性协会,推出 C/C++ 编码规范
AUTOSAR
AUTomotive Open System ARchitecture
汽车开放系统架构
ASIL
Automotive Safety Integrity Level
汽车安全完整性等级,A~D 四级,D 级最严格
CSMS
Cyber Security Management System
网络安全管理体系
WP.29 R155
UN Regulation No. 155
联合国车辆网络安全法规
基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-05-29 18:41:21 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/674049.html
  2. 运行时间 : 0.276318s [ 吞吐率:3.62req/s ] 内存消耗:4,744.63kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=0b8b512e435a2bfd3eaa9a6a5decd83c
  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.001091s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001895s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000812s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000755s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001410s ]
  6. SELECT * FROM `set` [ RunTime:0.000528s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001441s ]
  8. SELECT * FROM `article` WHERE `id` = 674049 LIMIT 1 [ RunTime:0.005198s ]
  9. UPDATE `article` SET `lasttime` = 1780051281 WHERE `id` = 674049 [ RunTime:0.004595s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000755s ]
  11. SELECT * FROM `article` WHERE `id` < 674049 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001176s ]
  12. SELECT * FROM `article` WHERE `id` > 674049 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.003402s ]
  13. SELECT * FROM `article` WHERE `id` < 674049 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.003777s ]
  14. SELECT * FROM `article` WHERE `id` < 674049 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.002033s ]
  15. SELECT * FROM `article` WHERE `id` < 674049 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.014648s ]
0.278063s