Back to skill

Security audit

电商与平台结算技能包(免费版)

Security checks for vulnerabilities and agentic risk

Overview

This is a local settlement-checking skill that reads user-provided files, runs bundled JavaScript checks, and prints results without evidence of network use, persistence, or hidden privilege behavior.

Install only if you are comfortable giving the skill read access to the local settlement files you point it at. It appears to run locally and not write files, but treat its results as reconciliation assistance rather than audit or legal/accounting certification; also note that some advanced cross-client/export and sub-check capabilities are explicitly not included in this free version.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (41)

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding
核心行为与声明大体一致:这是一个本地运行的电商/平台结算批量核对器,支持逐客户处理、14 个检查项编排、材料不足时不给结论、输出带原文文件与行号的发现,并且代码中明确不使用网络、不读环境变量、不写文件。这些与声明高度一致。 但存在重要描述偏差。最明显的是代码自身多次声明“本文件是免费档子集”“完整档(付费)的实现不在这个包里”,并通过 CHECKS_WITHHELD 暴露未执行能力。声明把产品描述成一个完整可用的 14 项逐客户核对技能,却没有反映免费/完整档分层以及 withheld 能力存在。虽然 withheld 主要是跨客户汇总能力,不是 14 项单客户检查本身,但这仍说明描述没有准确界定实际交付范围。 另外,代码实现并不只是简单输出‘每客户一行结论’,还构造了详细 findings、objects、summary,以及为完整档预留 ledger_hook、导出台账等额外能力接口。这些超出声明的主要用途边界。按照“描述是否准确代表代码实际做什么”的标准,应判为存在一定失配,不过不是恶意或完全不同用途,而是产品分层/能力范围描述不够准确。

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
代码与“完全本地运行、无需联网”这部分描述是一致的;也没有发现额外的网络或越权能力。但核心功能范围明显不符。代码文件名、注释和实现都表明它只是“连锁加盟门店结算核对”的免费档子集,共执行6项免费检查,并且将另外5项完整档检查列为未执行,更不用说声明中的其他13个完全不同的结算检查主题。因此该描述严重夸大了代码实际能力,属于实质性描述-行为不一致。

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
该描述与代码存在明显的能力范围不一致。代码头部和实现都反复说明这是“免费档子集”,只针对“寄售代销结算核对”这一专项,而不是描述中列出的 14 类平台/电商/OTA/加盟/餐饮等全量核对。实际执行的检查集中在寄售代销台账公式复算与数据质量校验,并且收费层的若干高级检查并未实现,只是以 checks_withheld/checks_not_run 方式声明未执行。另一方面,描述中关于本地运行、不联网、无需 API Key 的部分与代码一致,不构成问题。但整体主功能、覆盖范围和输出形态均被明显夸大,因此应判定为不匹配。

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
该代码与“完全本地运行、无需联网/API”这一资源使用声明基本一致,因为注释和实现都表明仅用本地 Node.js 标准库处理文本,不发起网络请求。但核心能力与描述严重不符。描述承诺的是一个涵盖14个不同业务场景的综合核对技能,而代码文件实际只是“电商退货退款与货款结算核对”这一单一场景的实现,且还是免费档子集,明确有若干检查项未执行。代码还强调只做表内勾稽,不判断合同口径、会计判断、是否应入库等。输出形式也不同:描述要求“每个客户一行结论”,而代码返回的是 findings 列表和汇总 summary,发现项主要对应具体明细行或合计行,不是逐客户归纳结论。因此属于明显的描述-行为不匹配。

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
描述与代码的主功能存在重大不一致。代码是一个专用的“加盟抽成与最低保底核对”引擎,输入为带特定表头的文本表格,执行若干确定性算术与格式检查,并返回findings/summary。它既没有实现描述中的14项综合核对,也没有实现“每个客户一行结论、附原文文件与行号”的输出形式。资源使用方面,“本地运行、不联网、不需要API Key”与代码一致,但这不足以弥补核心能力范围和输出承诺上的明显夸大,因此应判定为不匹配。

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
代码注释和实现都明确说明这是 `live-commerce-commission-check`,且是“免费档子集”。其核心行为是:接收 `payload.text` 中的一张直播佣金结算表,识别固定列,做应付佣金复算、实际应付复算、合计行复核、重复行检测、空白占位符检测、部分金额负数检测,然后输出 findings 与 summary。代码还通过 `CHECKS_WITHHELD` 和 `OUT_OF_SCOPE` 明确表示很多检查未执行,且不做合同口径判断、不读取平台后台文件、不核银行流水。虽然“本地运行、无需联网”与声明一致,但主功能范围与声明严重不符:声明是一个覆盖 14 类结算场景的综合核对技能,而代码仅是其中单一场景的局部实现,因此属于明显的描述-行为不匹配。

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
这是明显的描述-行为不一致。代码头注已明确说明“本文件是免费档子集”“完整档实现不在这个包里”,而实际实现仅限商场联营扣点/保底表的局部核对逻辑。与声明中覆盖 14 个业务主题、逐客户统一出结论的综合核对器相比,范围被大幅缩小,核心能力严重不足。资源使用方面“本地运行、无网络”与声明一致,这不构成问题;但主要用途和实际可执行检查项与声明存在重大差异,因此应判定为 mismatch。

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
该描述与代码行为存在明显实质性不一致。代码文件名、注释、常量和主逻辑都表明它只是‘整车厂返利与商务政策核对’模块,而且还是免费档子集。`CHECKS_GIVEN` 仅 6 项,`CHECKS_WITHHELD` 明确列出 5 项未执行检查,`run()` 也只对 OEM 返利表执行这些有限的表内勾稽。相比之下,声明描述的是覆盖 14 个不同业务场景的综合核对工具,并承诺逐客户输出结论且附原文文件与行号。代码既不处理其余 13 类场景,也不生成按客户汇总的一行结论,更没有原文文件级引用机制。另一方面,‘完全本地运行、不联网、无需 API Key’与代码行为是一致的。但核心用途和能力范围被严重夸大,因此应判定为描述与实际行为不匹配。

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
该描述与代码存在明显的能力范围不一致。代码本身在注释和实现中都明确限定为“ota-commission-check”,只针对酒店OTA渠道结算表做几项确定性的算术校验;它甚至显式列出若干“未执行的检查项”和“超出范围”的事项。相比之下,声明描述的是一个覆盖14类业务结算场景的通用核对技能,要求逐客户输出结论并附原文文件与行号。这不是简单的实现细节差异,而是核心用途和能力边界被大幅夸大。关于本地运行、无需联网/API这一点与代码一致,但不足以抵消主要功能上的重大不匹配。

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding
该描述与代码存在明显能力级别不一致。代码的主功能并不是“把电商与平台结算材料按 14 项检查逐客户核一遍”,而是只检查一类特定表格——平台账期与在途资金核对——且仅限该模块的部分免费检查项。源码顶部和返回结果中的 note/checks_not_run 都明确说明这是免费档子集,完整档实现不在当前包中。另一方面,描述承诺的输出形式也不符:代码返回的是 findings 明细数组和总体 summary,而不是“每个客户一行结论”。不过,描述中关于“完全本地运行、不需要联网、不需要 API Key”与代码行为是一致的,因为代码仅用本地解析和计算,并显式标注不发起网络请求。总体上,这是典型的过度声明:描述宣称一个覆盖 14 项的完整审计技能,而代码只是其中一个子检查器。

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
代码行为与“完全本地运行、不联网、不要 API Key”这部分基本一致;也没有发现额外越权能力或资源访问。问题在于主功能描述严重夸大。该文件自己就写明“只实现免费检查项;完整档(付费)的实现不在这个包里”。实际实现只围绕单一的电商平台结算表,检查算术勾稽、合计、重复单号和空值,既没有覆盖声明中的14项跨行业/跨场景核对,也没有按客户汇总输出一行结论。因此这是明显的描述与实际行为不一致。

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
该描述与代码行为存在明显不匹配。代码确实符合“本地运行、无联网、无API Key”的部分声明,但核心能力被大幅夸大:它不是一个覆盖14项结算核对的大工具,而是仅针对“促销补贴与核销核对”的单一引擎文件。即使在这一单项内,代码也明确声明并返回多项未执行检查(如封顶校验),与描述中“按14项检查逐客户核一遍”的完整性不符。输出形式也不一致:代码返回的是明细级findings和汇总summary,而不是“每个客户一行结论”;来源定位仅有文本行号,没有“原文文件”维度。因此应判定为描述显著高估并误述了实际代码能力。

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
该描述与代码存在明显且实质性的能力不一致。代码文件路径、注释、检查逻辑都表明它是单一的“采购返利与阶梯核算核对”模块,而不是覆盖14类结算审计的完整技能。它只解析包含“年度采购额、适用返利率、应得返利、已收返利、差额”等列的文本表,执行有限的数学校验和表格质量检查;甚至连采购返利场景下的部分高级检查(档位匹配、阈值、负数检测等)都只是列为 withheld/not_run,并未真正执行。因此,声明的主要用途和实际行为在范围、完整性、输出形式上都不一致。资源与联网方面倒是基本一致:代码确实本地运行、无联网、无API Key。但这不足以抵消核心功能描述的严重夸大。

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding
该描述与代码存在明显的能力范围不一致。代码头部已明确说明这是“免费档子集”,完整付费实现不在包内。实际代码专门处理 restaurant-daily-sales-check,只解析餐饮门店日营业款表格,并进行有限的算术/勾稽检查。它不具备声明中覆盖14项结算核对的广泛能力,也没有逐客户输出单行结论、附原文文件与行号的实现。关于“完全本地运行、无需联网/API Key”这一点与代码一致,但这不足以弥补核心功能描述的严重夸大。因此应判定为描述与实际行为不匹配。

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
该代码与声明在核心功能范围上存在明显不一致。声明描述的是一个覆盖 14 类结算场景的综合核对工具,而实际代码文件是 `retail-member-points-check.js`,从注释、常量和逻辑都可见其仅针对“会员积分与储值卡核销核对”。代码还明确写明“免费档子集”“完整档(付费)的实现不在这个包里”,并列出 `CHECKS_WITHHELD` 说明有若干检查未执行。因此,实际能力远小于声明范围,属于主目的和能力范围的重大缩水。另一方面,声明中的“完全本地运行、不联网、不需要 API Key”与代码行为一致,因为代码仅使用本地解析和计算,且注释与返回结果都表明 `network_used: false`、`executed_locally: true`。但本地运行这一点不足以弥补其未实现绝大多数声明功能,因此应判定为 mismatch。

Ae1

High
Category
analysis-evasion
Content
node scripts/run.mjs --sample # 单客户样例(内置)
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
node scripts/run.mjs --sample # 单客户样例(内置)
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
node scripts/run.mjs --sample # 单客户样例(内置)
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
node scripts/run.mjs --sample # 单客户样例(内置)
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Description-Behavior Mismatch

High
Confidence
98% confidence
Finding
The manifest describes a skill that checks 14 different reconciliation categories across customers and returns one conclusion per customer with source file and line references. This code explicitly states it is a '免费档子集' and only executes four checks (single-order arithmetic, totals, duplicates, blanks) for a specific platform-settlement table, which is materially narrower than the advertised behavior.

Description-Behavior Mismatch

High
Confidence
95% confidence
Finding
The manifest promises a per-customer conclusion row and inclusion of original document and line numbers. The implemented result returns granular findings plus aggregate summary for a single parsed table, but no customer-level conclusion rows and no original file identifier provenance beyond line numbers within the pasted text.

Natural-Language Policy Violations

Medium
Confidence
86% confidence
Finding
The skill documentation is overwhelmingly presented in Chinese, including the primary display name, summary, description, usage guidance, and operational notes, while not clearly offering the user a choice of interaction language. Although an English short description exists, the actual instructions and expected usage are effectively constrained to Chinese, which can violate a language/locale policy requiring user opt-in or choice.

Description-Behavior Mismatch

Medium
Confidence
84% confidence
Finding
The manifest description says the package will run the 14 checks for each customer completely locally with no limits, implying the delivered skill is the promised free pack. However, this file's own documentation states it is a '免费档子集' sharing source with a paid/full edition and explicitly describes withheld capabilities, so the shipped behavior/scope is not presented as a self-contained implementation matching the manifest's plain-language promise.

Natural-Language Policy Violations

Medium
Confidence
96% confidence
Finding
The file’s natural-language comments and user-facing descriptions are entirely in Chinese, including operational guidance and disclaimers, with no indication that the skill is region-specific or that users may choose another language. Under the policy, forcing a specific language without opt-in is a natural-language policy violation.

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
This code file contains extensive natural-language descriptions, advice strings, and user-facing messages in Chinese, but nowhere indicates that the skill is Chinese-only or provides user opt-in for language selection. Under the policy, forcing a specific language without user choice is a natural-language policy violation.

Static analysis

No suspicious patterns detected.