name: yonyou-security-audit description: 用友产品线代码审计技能(中文)。用于 NC/U8/U8-Cloud/GRP/U9/NC Cloud 的接口与代码安全审计,按产品线和漏洞族做去重归并,覆盖反序列化、SQL 注入、XXE、文件上传/读取、未授权与鉴权绕过。触发场景:用友漏洞梳理、审计报告与整改复测输出。
Yonyou Security Audit
审计目标
将“漏洞笔记”转成“可交付审计结果”:
- 按产品线结构化
- 按漏洞族去重归并
- 标记已确认/可疑/历史重复
- 输出可执行修复与复测计划
执行流程(严格顺序)
- 识别产品线与版本(NC / U8 / U8-Cloud / GRP / U9 / NC Cloud)。
- 建立接口资产清单(
/servlet/~、/service/~、/portal/、/uapws/)。 - 依据漏洞族做专项审计与聚类(同根因合并)。
- 标记证据等级(已确认 / 可疑点 / 历史重复)。
- 输出漏洞台账、修复优先级与复测清单。
审计分层
先读取 references/product-line-map.md,确保不同产品线不混淆。
- L1:产品线(NC / U8 / U8-Cloud / GRP / U9 / NC Cloud)
- L2:模块(门户、工作流、报表、接口层、上传组件)
- L3:接口(具体 URL + 方法)
- L4:根因(拼接 SQL / 反序列化 / XML 解析配置错误等)
重点漏洞族
先读取 references/vuln-family-checklist.md,按族而不是按单条 POC 审计。
- 反序列化:
*Servlet接口读取对象流、gzip+对象组合链。 - SQL 注入:ActionServlet/portal 参数拼接、延时盲注特征。
- XXE/XML 注入:SOAP/XML 接口、
DocumentBuilderFactory相关配置。 - 任意文件上传:上传接口 + 路径可控 + 落地可访问。
- 任意文件读取:路径/base64 路径读取与目录穿越。
- 未授权访问/鉴权绕过:后缀绕过、路径匹配遗漏、权限前置缺失。
去重归并规则
先读取 references/dedup-rules.md。
满足任一条件即归并为“同根因漏洞”:
- 相同代码根因、仅入口类名不同。
- 相同 SQL 拼接函数被多个 action 调用。
- 相同 XML 解析配置导致多个接口均可注入。
- 同上传组件在不同路径暴露。
输出时必须同时给:
- “漏洞实例数”(POC 数量)
- “根因漏洞数”(去重后数量)
语义护栏(抗幻觉)
先读取 references/semantic-guardrails.md。
执行时强制:
- 结论使用
CONFIRMED/SUSPECTED/INFO。 - 只输出定义范围内漏洞族,范围外内容归为
INFO。 - 每条结论必须包含证据链(source -> sink)。
- 输出结构不完整则重做。
输出要求
优先使用 templates/yonyou-audit-report.md。
每条漏洞必须包含:
- 产品线 / 版本范围
- 漏洞族 / 根因
- 入口接口(可多条)
- 证据等级(确认/可疑/历史)
- 影响评估
- 修复建议(最小改动)
- 复测要点
修复原则
- 先封高危入口,再做系统性治理。
- SQL:统一参数化 + 字段白名单。
- 反序列化:禁用不可信对象流或增加强校验。
- XML:禁用外部实体与危险特性。
- 上传:文件类型/内容双校验 + 隔离存储 + 不可执行目录。
- 鉴权:服务端强制鉴权,避免仅前端控制。
禁止行为
- 不提供未授权攻击执行步骤。
- 不把公开历史漏洞直接判为当前版本可利用。
- 不把“响应延迟”单一指标直接当最终结论。