Back to skill

Security audit

审计与账务调整技能包(免费版)

Security checks for vulnerabilities and agentic risk

Overview

The checker itself appears local and purpose-aligned, but its documentation embeds optional agent-directed purchase and installation steps that fetch live external instructions.

Use the local checker only on workpapers you are comfortable processing on this machine. Do not let an agent follow the paid-upgrade purchase/install prompt or fetch live purchase commands unless you explicitly want that workflow, have verified the official source, and will personally approve any payment.

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
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (45)

Tp4

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding
大方向上,代码与描述是高度相关的:它本地运行,不联网,不写文件,面向审计与账务调整底稿,按单位批量调度 14 个检查,并尽量保留原文文件与行号。因此不存在恶意越权、联网、无关触发器等问题。However,描述把能力表述得像一个完整可直接执行的 14 项检查工具,而代码本身更准确地说是一个“批量包装/汇总器”,真正规则在 `./parts/...` 子模块中;且代码反复强调当前文件/包存在免费档与完整档分层,若干能力被明确 withheld。也就是说,描述对核心用途并非完全错误,但对当前代码块的实际交付边界和实现方式有实质性遗漏,容易让人误以为此代码自身完整实现了全部能力、且不存在档位差异。因此应判定为描述与行为存在不小的偏差。

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
代码行为与描述存在实质性不一致。描述承诺的是一个覆盖14个检查主题的综合审计核对工具,而当前代码文件只针对“预提费用与到票冲销核对”这一单一主题,且只运行6个基础检查。源码注释还明确说明这是“免费档子集”,完整档实现不在包内,`CHECKS_WITHHELD` 只是未执行检查项说明。因此,描述中关于14项全面检查的核心能力并未由该代码实现。另一方面,描述提到“逐单位核一遍,每个被审计单位一行结论,结论都带原文文件与行号”,但此代码只解析 `payload.text` 中的一张表,输出的是发现明细和表内行号,没有单位维度汇总,也没有文件级引用。关于“完全本地运行、不联网、不需要 API Key”这一点,代码与描述是一致的;但整体主功能范围被严重夸大,因此应判定为 mismatch。

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
该描述与代码行为存在明显且实质性的不一致。声明把技能描述为一个覆盖 14 项审计检查的完整、本地化核对工具,面向多个被审计单位输出总结结论;而提供的代码只是其中一个非常具体的检查模块 asset-disposal-check,且仅针对固定资产处置表内部勾稽。代码注释还明确写明这是“免费档子集”,完整档实现不在包里,说明功能范围被显著缩小。虽然“本地运行、不联网”这一点与代码一致,也未见额外越权资源访问,但技能的主要目的、覆盖范围和输出形式都与声明严重不符,因此应判定为 mismatch。

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
该描述与代码行为存在明显重大不一致。声明的核心承诺是:对审计与账务调整底稿执行14项检查、覆盖多个主题、按被审计单位输出结论并附原文文件与行号。而实际代码只是 `asset-impairment-check.js`,专门处理资产减值测试表,且仅执行6项内部勾稽/格式类检查。代码中还明确写明“免费档子集”“完整档(付费)的实现不在这个包里”,并通过 `CHECKS_WITHHELD` 列出未执行项目,进一步证明并非声明的完整能力。另一方面,声明中的“完全本地运行、不联网、不需要 API Key”与代码相符,因为代码确实只做本地表格解析与计算、未见网络访问。因此整体应判定为描述显著夸大、主用途与覆盖范围不符。

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
存在明显描述-行为不一致。代码自述和实现都表明它仅是 audit-adjustment-check 的免费子集,聚焦单一表格“审计调整分录核对表”的内部勾稽检查,且明确列出了若干未执行检查项与 out-of-scope 边界。相比之下,声明描述的是一个更广泛的工具:针对审计与账务调整底稿做14类检查,并按每个被审计单位输出结论。代码没有实现资产减值准备、资产处置损益、固定资产折旧、无形资产/模具摊销、坏账准备、预提费用、预付款核销、长期待摊、存货跌价、现金盘点、罚款违约金等大部分检查,也没有“逐单位一行结论”的结果形态。关于“本地运行、不联网、不要 API Key”这部分,代码与声明基本一致,但核心能力范围被明显夸大,因此应判定为 mismatch。

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
该描述与代码存在明显的实质性不一致。描述承诺的是一个覆盖14项检查的完整审计底稿核对工具,而给出的代码文件只处理“坏账准备计提”这一特定场景,并且还只是免费档子集,明确有若干检查项未执行。代码的主入口要求传入text形式的单张表格,识别列名后做数值复算和基础一致性校验,输出findings列表与汇总统计;这与“逐单位核一遍、每单位一行结论、附原文文件与行号”的行为差距很大。另一方面,描述中关于本地运行、不联网、不需要API Key,与代码所示行为基本一致,但这不足以弥补其核心用途和能力范围上的重大偏差。

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
该描述与代码存在明显的范围和主功能不一致。代码是一个专门的现金盘点长短款核对引擎,检查的是“期初备用金+现金销售-现金支出=应有现金”“实盘-应有=差异”等纯算术一致性,适用于门店/班次现金盘点场景。相比之下,声明描述的是一个覆盖14类审计底稿检查的综合技能,且按被审计单位输出结论并附原文文件与行号。两者主用途差异显著,且代码没有实现其余13项能力,也没有文件级原文定位能力。虽然“本地运行、不联网、不需要API Key”与代码行为一致,但不足以抵消核心能力描述失真,因此应判定为不匹配。

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
该描述与代码行为存在明显实质性不一致。代码没有实现14项审计检查中的大部分内容,也不是一个综合性“逐单位核一遍”的审计引擎,而是一个专用的固定资产折旧核对模块。它只接受固定资产表格文本,检查三条折旧相关恒等式及少量表格质量问题,并返回逐行问题列表。虽然“不联网、纯本地运行”与声明一致,但核心能力范围、输出粒度、适用对象以及是否包含完整实现都与声明不符,因此应判定为描述与实际行为不匹配。

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding
这是明显的描述与行为不一致。声明描述的是一个覆盖 14 个审计/账务调整主题的综合核对工具,按被审计单位汇总结论;而该代码块只是一个专门的“无形资产摊销检查”引擎,且只实现其中基础勾稽与数据质量检查。代码中甚至直接列出 CHECKS_WITHHELD,说明部分无形资产相关能力都未执行,更不用说其余 13 个主题。另一方面,“完全本地运行、不联网、不需要 API Key”这一点与代码行为基本一致,因此不一致主要集中在功能范围、主要用途和输出形式上。

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
声明描述的是一个覆盖 14 个审计/账务调整检查项的完整本地化核对工具,面向多个被审计单位生成单位级结论。实际代码却只是 inventory-provision-check.js,一个专门针对“存货跌价准备”表格的局部检查器。它只做存货成本与可变现净值孰低、准备余额勾稽、合计校验、重复行、空白字段、负数金额等 6 项检查,并明确列出多项未执行检查。输出形式也是明细级 findings 和 summary,而不是“每个单位一行结论”。虽然“本地运行、不联网”这一点与声明一致,但核心能力范围和主要用途明显小于且不同于声明,因此存在实质性描述不符。

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
该代码与声明存在显著描述-行为不一致。代码文件名、注释、常量和主逻辑都表明它仅用于“长期待摊费用摊销核对”,而且还是免费档子集,只执行 6 项勾稽检查,另有 5 项明确列为未执行。它不会完成声明中的 14 类审计检查,也不会对“每个被审计单位”产出一行综合结论;相反,它要求用户提供一张摊销表文本,并对其中各明细行做数值勾稽、合计复核、重复与空白检测。另一方面,声明中的“完全本地运行、不联网、不需要 API Key”与代码行为是一致的,因此不一致点主要集中在核心功能范围和输出形式上,属于实质性能力缩水与目的偏差。

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
声明描述的是一个覆盖 14 个审计检查主题的完整本地审计工具;但给出的代码块只是其中一个非常具体的子模块:mold-amortization-check。代码顶部还明确写明这是“免费档子集”,完整档实现不在当前包里,并且本模块只执行 6 项检查、另有 5 项未执行。其检查内容严格局限于模具/工装摊销台账的数值勾稽、合计复核、重复行、空白占位符和负数检测,且输入方式为手工提供文本表格。它既没有实现其余 13 项声明中的检查,也没有实现按被审计单位汇总输出、原文文件级引用等宣称能力。因此主目的和能力范围与声明存在重大不一致。唯一与声明一致的是本地运行、无网络使用。

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
该描述与代码行为存在明显实质性不符。代码没有实现声明中的 14 类检查框架,也没有跨“每个被审计单位”输出单位级结论;它仅处理罚款与违约金台账这一单一专题,且还是“免费档子集”,只做有限的表内算术与格式一致性检查。虽然“本地运行、不联网、不需要 API Key”与代码一致,但这只是环境属性,不能弥补核心能力范围和主要用途上的差异。因此应判定为描述与实际行为不匹配。

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
该代码与声明存在明显的功能范围不一致。声明描述的是一个覆盖 14 个审计检查主题的综合底稿核查工具,但实际代码只处理预付款/预付账款核销这一单一主题,且还只是其中的免费子集。代码中通过 CHECKS_GIVEN 和 CHECKS_WITHHELD 明确表明只执行 6 项检查,另有 5 项未执行,更没有实现声明中的试算平衡、审计调整分录、资产减值、资产处置、折旧摊销、坏账、存货跌价、现金盘点、罚款违约金等多数项目。输出形态也不同:声明说“每个被审计单位一行结论,结论都带原文文件与行号”,而实际返回的是 findings 异常列表和 summary,只记录解析文本表格中的 line,没有文件级来源追踪。不过,“本地运行、不联网、无需 API Key”这一点与代码行为基本一致。综合看,属于重大描述与行为不匹配。

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding
资源使用方面,代码确实是本地运行、无联网、无 API Key,这部分与声明一致。但核心功能存在重大偏差:声明描述的是一个覆盖 14 类审计底稿检查的综合审计技能,而代码仅是其中一个子模块 trial-balance-check,且只执行 7 项试算平衡相关检查。代码注释还明确说明“完整档(付费)的实现不在这个包里”“本版本只执行”给定检查项,进一步证明其实际能力远小于声明范围。因此这是明显的描述与行为不匹配。

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 broader skill that reviews 14 audit and accounting adjustment workpaper areas and outputs one conclusion row per audited entity. This file’s documentation and code explicitly scope the implementation to "试算平衡与期末结转核对" and even state it is a free-tier subset implementing only 7 checks, which is materially narrower than the manifest claim.

Natural-Language Policy Violations

Medium
Confidence
82% confidence
Finding
The primary display name and summary are presented only in Chinese, and the usage/instructions throughout the document are effectively Chinese-only for operation. Although English metadata exists later, the skill documentation does not clearly offer the user a language choice or state that Chinese is optional, which can violate a language/locale policy requiring user opt-in.

Intent-Code Divergence

Medium
Confidence
90% confidence
Finding
The document says the package does not write any files, but later states that a tool writes purchase identifiers into SKILL.md after listing. Contradictions about mutation behavior are dangerous in agent ecosystems because users and automated policy gates may rely on 'read-only/local-only' claims when deciding whether to permit execution or installation.

Description-Behavior Mismatch

Medium
Confidence
93% confidence
Finding
The skill strongly markets itself as fully local and non-networked, yet later embeds remote URLs and tells AI assistants how to fetch current product data and purchase instructions from external endpoints. In an agent setting, this creates an unsafe trust boundary: a user may believe the skill is offline-only while the content tries to steer the agent into network retrieval and potential external workflow execution.

Ssd 4

Medium
Confidence
96% confidence
Finding
The file embeds a ready-made prompt directing an AI assistant to install dependencies, read another skill, and initiate a purchase flow for an external product. In a tool-using agent environment, such embedded workflow-steering is dangerous because it attempts to convert documentation into agent action, potentially bypassing normal user intent verification and expanding the skill's effective behavior beyond local audit checking.

Ssd 4

Medium
Confidence
95% confidence
Finding
The document instructs the agent to fetch updated purchase commands from an external page and continue when a platform error occurs. This is especially risky because it encourages dynamic retrieval of fresh remote instructions, defeating static review and enabling post-publication changes in what the agent may be told to do.

Static analysis

No suspicious patterns detected.