Back to skill

Security audit

税务与涉税申报技能包(免费版)

Security checks for vulnerabilities and agentic risk

Overview

This skill is a local tax-checking utility that reads user-provided files, runs disclosed checks, and does not show hidden network, write, persistence, or credential behavior.

Install only if you are comfortable letting the skill read the tax-material directory you point it at. Treat results as local arithmetic/reconciliation assistance, not as tax filing advice or assurance that every possible compliance check ran; review the not-run sub-check lists before relying on the output.

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 (51)

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding
声明描述的是一个面向“目录中所有对象”的通用申报前涉税批量自查工具,重点能力包括:批量遍历、多对象处理、14项检查、对象级单行结论,以及引用原文文件与行号。实际代码则是一个非常具体的单项检查器:解析一张“农产品收购发票与进项抵扣核对表”,对字段进行复算、合计校验、重复号、空白占位符、负值等检查。代码中还明确说明这是“免费档子集”,只执行6项,5项 withheld 未执行,且若缺列则返回材料不足。它没有任何目录扫描、文件枚举、多对象调度、14项检查编排、对象级结论汇总、文件名引用等实现。因此这不是轻微的实现细节差异,而是主要用途和能力范围均明显小于且不同于声明。

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
该代码的主功能与声明存在明显且实质性的偏差。代码文件名和注释都表明其用途是“应付暂估与发票未到核对引擎”,并且检查内容集中在暂估入账、发票差异、冲回、余额、合计和字段完整性等会计台账勾稽。它不处理税务申报对象,不执行涉税 14 项检查,不扫描目录,也不输出基于原文文件的逐对象结论。虽然代码确实使用了行号,但那只是表格文本中的行号,不是声明要求的“原文文件与行号”引用能力。综合看,这是主目的、处理对象、执行范围和输出形态都不一致的描述-行为不匹配。

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding
声明描述的是一个面向目录内多个对象的申报前涉税批量自查工具,覆盖14项检查并输出带原文件定位的一行式结论。代码却是一个非常具体的“企业所得税纳税调整核对”模块,而且还是免费档子集:只对单份文本表格做6项检查,如应纳税所得额复算、调增调减合计校验、合计行复核、重复项目、空白占位符、负数检测。代码中还明确声明若材料不足则返回 insufficient_input,且不读取财务/报税系统导出文件,需要用户先将表格文本贴入 payload.text。它没有目录扫描、文件处理、批量对象循环、14项全量检查、原文文件与行号引用、进项抵扣或附加税费核对等能力。因此,实际行为与声明的主要用途和能力范围存在重大不一致。

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding
代码的主功能与声明存在明显实质性偏差。声明描述的是一个面向目录内多个对象的批量涉税申报前自查工具,强调 14 项检查、逐对象一行结论、并引用原文文件与行号。实际代码是单一模块 cit-prepay-check,只处理企业所得税预缴表的文本内容(payload.text),且仅做表内算术/勾稽检查。它没有任何目录扫描、文件遍历、批量对象调度、对象级汇总输出或文件级引用逻辑。检查项方面,代码自己注明“免费档只执行 6 项”,另有 5 项未执行;无论如何都达不到声明中的 14 项。此外,结果输出是 findings 明细与 summary,不是“每个对象输出一行结论(各项通过/有问题/材料不足未执行)”的格式。虽然代码确实会在 findings 中带 line 字段,但这是解析后的表格行号,不等同于声明要求的“原文文件与行号”引用。因此应判定为描述与实际行为不匹配。

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding
声明描述的是一个面向目录内多个对象的综合涉税批量自查工具,覆盖 14 项检查并产出对象级单行结论。代码则是一个专门针对递延所得税台账的文本表格校验器:解析表头和行数据,核对暂时性差异、递延余额、本期变动、方向、合计、重复和空白字段,并把另外 5 项标记为 withheld/not run。它既不扫描目录,也不处理多个对象,也没有实现声明中的 14 项全量涉税核对,更没有涉及进项抵扣、附加税费等触发词暗示的领域。虽然结果中包含行号,算是部分符合“引用行号”,但缺少文件引用且整体用途明显比声明更窄、更单一,因此属于实质性描述与行为不符。

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
该代码块的主用途非常明确,是 environmental-tax-check(环境保护税申报核对)模块。它读取 payload.text/content 中的单个文本表格,解析表头后,对环保税相关字段进行复算和一致性检查,并返回 findings 与 summary。代码中没有任何目录扫描、文件系统遍历、多对象批处理、14 项全量检查、按对象输出单行结论或文件级引用的实现。相反,它还明确声明当前免费档仅实现 CHECKS_GIVEN 中的 6 项检查,CHECKS_WITHHELD 只是未执行检查项说明文本。虽然输出中包含行号 line,但不包含“原文文件”来源。故声明与实际行为在核心目的、处理范围、执行检查数量、批量能力和输出形式上均存在实质性不一致。

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding
声明描述的是一个更宽泛、更大规模的批量涉税自查工具:面向目录中的所有对象,执行 14 项检查,并按对象给出一行式结论且带文件与行号引用。代码却是一个特定领域的单表检查器,只处理 payload.text 中粘贴进来的“出口退税申报单证一致性核对表”,并在注释和返回结果中反复强调其仅做表内勾稽、仅执行免费档 6 项检查、5 项检查未执行、且不读取外部系统或目录内容。输出也不是每对象一行结论,而是 findings 明细数组和 summary 汇总。虽然代码会给出行号,但那是输入表中的行号,不是“原文文件与行号”的批量文档引用。故声明与实际行为存在明显且重大的能力与用途不一致。

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding
声明描述的是一个面向目录中所有对象的批量涉税自查工具,范围广、检查项多,并强调对象级汇总结论和文件/行号溯源。代码却是一个特定子模块 input-vat-deduction-check,只接收 payload.text 中的单张表,围绕“认证税额/转出/抵扣”做有限勾稽检查。注释还明确说明这是“免费档子集”,完整实现不在当前包里;实际执行的 CHECKS_GIVEN 只有 6 项,CHECKS_WITHHELD 只是未执行说明文本。代码没有目录遍历、文件读取、批量对象调度、14 项全检查编排,也没有原文文件级引用。因此声明与实际行为存在明显且实质性的能力不匹配。

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding
该描述与代码存在明显的用途和能力不匹配。代码文件名、注释和实现均表明其核心功能是“土地增值税预缴与清算核对”,属于单税种、单表格、单文本输入的校验器。实际已执行检查项为 CHECKS_GIVEN 中的10项:扣除项目合计、增值额、增值率、应纳土地增值税、应预缴税额、已预缴差异、合计行、重复项目、关键字段空缺、负值检测;而 CHECKS_WITHHELD 中7项被明确标注为未执行。因此与“逐个跑14项涉税检查”不符。其次,代码没有任何目录扫描、文件系统遍历、多对象调度或批量处理逻辑,只从 payload.text/content 读取一段文本;这与“一次跑完目录里所有对象”明显不一致。再次,输出是 findings 数组和 summary,不是“每个对象一行结论”的扁平结果,也没有文件级引用信息,仅保留表格行号。综合看,这不是轻微表述差异,而是主用途、处理范围、输入输出形态均有实质性偏差,应判定为 mismatch。

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding
该代码文件名与注释都明确表明其用途是“房产税与城镇土地使用税申报核对”,并且 run(payload) 只接收一段 text/content 文本,解析单个表格后进行房产余值、从价/从租年税额、土地使用税、本期应纳、申报税额、账面税金、合计行、重复行、缺失字段等检查。结果输出是 findings 列表、summary、scope、not_concluded 等,并非声明中的“对目录里所有对象逐个跑 14 项检查并每个对象输出一行结论”。此外,声明强调结论要引用“原文文件与行号”,但代码没有文件系统遍历、文件名/路径处理或多文档引用逻辑,只有解析后的表内 line。虽然代码确实属于涉税申报前核对的一部分,但它只是一个具体税种专项子能力,无法覆盖声明所述的批量、多对象、14 项通用涉税自查能力,因此属于明显描述与行为不符。

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
声明描述的是一个面向申报前的批量涉税自查工具,范围广、对象多、检查项固定为14项,并强调目录遍历、逐对象结论和原文文件/行号引用。代码却是 `rd-expense-check`,专门针对“研发费用加计扣除归集”表格文本进行解析与核对。它要求用户提供单份文本表格,识别研发项目、人员人工、直接投入、折旧、摊销、设计费、其他相关费用、归集合计等列,并执行行合计校验、其他相关费用限额、合计行复核、重复项目、空白占位符检查等。代码中还明确声明“免费档子集”,`CHECKS_WITHHELD` 只是未执行检查说明,表明并未完成更完整能力。没有任何目录扫描、文件批处理、14项检查框架、跨对象结果汇总、或文件路径级引用逻辑。因此描述与实际行为在主要用途、处理范围和输出承诺上均存在明显不符。

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
该描述与代码行为存在明显且重大的不一致。声明描述的是一个面向“目录里所有对象”的涉税批量自查器,能对每个对象做 14 项检查,并输出逐对象单行结论且引用原文文件与行号。实际代码是 scripts/engine/parts/stamp-duty-base-check/stamp-duty-base-check.js,一个专门针对印花税合同台账的局部检查器。它只从 payload.text 中读取一张文本表,检查合同金额、计税依据、税率、已缴税额等字段的一致性,返回 findings 和 summary。代码中还明确写明“免费档执行 6 项;完整档追加 5 项(见 CHECKS_WITHHELD)”,且 notRun 会把这些未执行项返回,远少于声明的 14 项。代码没有任何目录扫描、文件枚举、批处理多个对象、输出每对象一行最终结论、或引用原文文件路径的逻辑;最多只记录表内 line。虽然都与“申报前核对/涉税检查”相关,但主功能范围、输入输出形态和检查数量都与声明严重不符,因此应判定为 mismatch。

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding
描述宣称的是一个面向目录内所有对象的申报前批量涉税自查工具,覆盖 14 项检查并输出对象级结论。代码却是一个单一模块 `surtax-check.js`,其核心功能只是对一张附加税费表进行确定性校验:城建税/教育费附加/地方教育附加复算、附加合计、合计行复核、重复期间、空白占位符检查。代码顶部还明确说明这是“免费档子集”,完整档不在包内;`CHECKS_WITHHELD` 只是未执行说明。`run(payload)` 只接受 `text`/`content` 文本,不读取目录、不处理多个对象、不汇总为每对象一行,也没有文件级来源定位,只记录表格行号。因此其实际主目的明显比声明更窄,且关键能力缺失,属于实质性描述-行为不一致。

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding
该代码块的注释和实现都清楚表明它是免费档中的一个单项检查模块:VAT_INPUT_TRANSFER_OUT_CHECK。核心逻辑是解析一张“进项税额转出计算表”,对单表执行6个校验:应转出额复算、转出合计核对、合计行复核、重复行检测、空白/占位符检测、负值检测。代码还显式声明5项检查未执行,并把若干税务判断、申报表口径核对、系统导入等能力列为 out of scope。与声明相比,差异是实质性的:声明描述的是一个面向目录中全部对象的批量涉税自查总工具,具有14项检查、逐对象结论输出和文件/行号引用能力;而此代码既不做目录扫描,也不处理多对象,更不是完整14项检查引擎,只是单一税务主题下的局部表格勾稽校验。因此描述与实际行为存在明显不匹配。

Ae1

High
Category
analysis-evasion
Content
node scripts/run.mjs --sample # 单对象样例(内置,14 项全跑)
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
node scripts/run.mjs --sample # 单对象样例(内置,14 项全跑)
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
node scripts/run.mjs --sample # 单对象样例(内置,14 项全跑)
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
node scripts/run.mjs --sample # 单对象样例(内置,14 项全跑)
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Description-Behavior Mismatch

High
Confidence
99% confidence
Finding
The code explicitly states it is a free-tier subset and that several checks are withheld, yet the surrounding skill description claims a one-pass run of all 14 checks. This is dangerous because it creates deceptive completeness: users may make tax filing decisions assuming full validation despite known omitted checks, including cross-period and matching controls.

Description-Behavior Mismatch

High
Confidence
98% confidence
Finding
The implementation materially diverges from the advertised skill behavior: it only performs a single AP provisional ledger check module, not the manifest-promised 14-item tax pre-filing batch self-check across all objects. In a tax/compliance workflow, this can cause operators to rely on incomplete coverage while believing all required controls were executed, creating a silent assurance gap rather than an obvious runtime failure.

Intent-Code Divergence

High
Confidence
99% confidence
Finding
The summary claims reconciliation of current-period changes to the profit-statement deferred tax expense, but no such reconciliation is implemented in this file. In a pre-filing tax self-check tool, this is especially dangerous because users may rely on the summary as evidence that a materially important control was performed when it was not.

Description-Behavior Mismatch

High
Confidence
98% confidence
Finding
The manifest describes a broad pre-filing batch tax self-audit that runs across all objects in a directory, performs 14 checks per object, and outputs one conclusion line per object with source citations. This file’s own header and code implement only one specialized '出口退税申报单证一致性核对' workflow, explicitly limited to a free subset with 6 executed checks and 5 withheld checks, operating on a single pasted table in payload.text rather than scanning a directory of objects.

Description-Behavior Mismatch

High
Confidence
97% confidence
Finding
The manifest promises to '一次跑完目录里所有对象', implying directory-wide processing of multiple objects. In contrast, run() only accepts an object payload containing a text field and returns insufficient input unless the user pastes a specific export-rebate table schema into payload.text; there is no directory enumeration or multi-object ingestion here.

Description-Behavior Mismatch

High
Confidence
98% confidence
Finding
The file explicitly implements only 10 checks while advertising a broader batch self-check capability and separately listing withheld checks. In a tax-filing workflow, this can mislead users into believing all promised validations ran, causing missed material issues in filing or settlement preparation.

Description-Behavior Mismatch

High
Confidence
97% confidence
Finding
The code explicitly states it is only a free subset and withholds several checks, while the skill metadata promises a much broader batch pre-filing self-audit. In a tax-compliance workflow, this mismatch can cause operators to rely on incomplete coverage and miss material filing errors, creating compliance and financial risk.

Static analysis

No suspicious patterns detected.