Back to skill

Security audit

Skill Compliance

Security checks for vulnerabilities and agentic risk

Overview

This is a local compliance-checking skill with no bundled network or credential behavior, though users should note its plugin system and extra GDPR/CCPA checks.

Install only if you want a local Chinese SkillHub compliance preflight checker. Treat its results as advisory, not legal advice; be aware it may also emit GDPR/CCPA privacy-law findings, and do not add untrusted .py files to its plugins directory.

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
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (27)

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

该代码的主功能与声明描述存在明显实质性不一致。声明强调“面向国内平台”的上传前合规检查,内容应围绕国内监管要求展开,例如金融敏感词、免责声明、安全红线等。但代码中插件名称、描述、规则集合和法律依据均明确指向 CCPA/CPRA(加州消费者隐私法/修正案),并且只在文档提及 CCPA、CPRA、California、consumer data、personal information 等情形下触发检查。其具体检查项包括消费者知情权、删除权、退出出售权、不受歧视权、业务目的说明、数据出售/共享的 opt-out 机制、敏感个人信息限制使用等,这些都属于美国加州隐私法专项要求,而非国内平台上架审核内容。因此这是主目的和能力范围的显著错配。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The declared description says this skill is a domestic-platform compliance checker aimed at Chinese regulatory requirements before upload, specifically mentioning areas like financial sensitive words, disclaimers, and safety red lines. The supplied code does something materially different: it is a dedicated GDPR compliance plugin. It reads SKILL.md and README.md, only activates when GDPR/EU-related terms are present, and then evaluates whether the documentation mentions GDPR lawful bases, data subject rights, cross-border transfer safeguards, DPIA, and DPO obligations. None of the domestic-focused compliance areas named in the description are implemented here. This is not merely an implementation detail; the primary purpose and legal regime are different, so the description does not accurately represent the code chunk.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding

The declared description presents a general domestic-platform compliance checker covering areas like financial sensitive terms, disclaimers, and safety red lines. However, the supplied code is a dedicated PIPL plugin focused specifically on privacy and personal information compliance in documentation files. Its checks are relational/privacy-law based and limited to PIPL topics such as user rights, lawful basis, cross-border safeguards, principles, and sensitive data protections. There is no evidence in this chunk of financial sensitive-word scanning, disclaimer checks, or broader safety-redline enforcement. This is a material description-to-behavior mismatch in scope and primary purpose.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The plugin’s scope conflicts with the advertised skill purpose: it claims to check compliance for domestic Chinese platforms, but this module performs California CCPA/CPRA checks instead. That mismatch can cause users to rely on the tool for the wrong jurisdiction, leading to missing required China-specific compliance checks and creating a false sense of regulatory coverage.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

技能清单描述该技能用于“上传前检查skill是否符合国内监管要求,包括金融敏感词、免责声明、安全红线等”,但本文件实现的是完整的GDPR专项检查逻辑,并在检测到欧盟/GDPR相关表述时依据GDPR第6、15-22、35、37、44-49条生成合规结论。这不是实现国内平台合规检查所必需的细节,而是额外扩展到欧盟法域的独立能力。

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The description states the skill is for domestic Chinese compliance requirements and domestic users, but does not indicate any user opt-in or alternative locale/language support. This can amount to a locale policy constraint expressed in natural language without documenting user choice or a broader compatibility boundary.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
70% confidence
Finding

Without declared permissions the skill's intent is opaque and cannot be validated.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The trigger keywords include broad terms like 'preflight', '上架检查', and '免责声明', which can match ordinary user conversation outside the intended security/compliance workflow. Overbroad activation can cause the skill to run unexpectedly, potentially injecting irrelevant compliance guidance into unrelated tasks and increasing the chance of context confusion or unintended data exposure from scanned content.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The package description is entirely in Chinese and states the skill checks whether a skill complies with domestic regulatory requirements, implying a China-specific language/locale scope. The file does not indicate this is optional, user-selected, or narrowly documented as a region-specific skill beyond the terse description, which creates a natural-language locale policy concern.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

This Python file contains user-facing natural-language documentation and messages exclusively in Chinese, including the module description and operational warning text. Under the policy, forcing a specific language without user opt-in or a clearly documented locale-specific justification is a natural-language policy violation.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The loader dynamically imports and executes every Python file in the local plugins directory, which means arbitrary top-level code in any plugin runs during discovery. In a compliance-checker context this broad execution surface is more dangerous because simply adding or modifying a plugin file can trigger code execution before any trust validation, signature check, or allowlist enforcement occurs.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

This Python file contains user-facing natural-language descriptions entirely in Chinese, including the module docstring and the plugin description string. Under the policy, language/locale constraints should be opt-in or clearly justified; this file provides no indication that Chinese-only behavior is optional or region-specific.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

This Python file contains user-facing natural-language strings entirely in Chinese, including the module docstring and plugin description. The skill does not indicate that Chinese output is optional or limited to a China-specific deployment, which can violate language/locale policy requiring user choice or documented justification.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

This Python file contains user-facing natural-language descriptions and finding text almost entirely in Chinese, including the module docstring and the plugin description. Under the policy rule, forcing a specific language without offering a choice or documenting a justified locale restriction is a language/locale policy violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

This code file contains user-facing natural-language descriptions entirely in Chinese, including the plugin title and behavior description, and does not indicate any user opt-in or alternative locale. Under the policy, forcing a specific language without user choice can be a natural-language policy violation unless the locale restriction is clearly documented and justified.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The top-level description states the rules are based on Chinese laws and are applicable to domestic Chinese AI app markets, which constrains the skill to a specific regional/legal locale. The file does not present this as a user-selectable option or clearly indicate multilingual/alternate-locale support, so it reads as a forced locale policy in natural-language metadata.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

该技能宣称是在上传前检查 skill 是否符合国内监管要求,重点包括金融敏感词、免责声明和安全红线。规则文件却扩展到电子商务、消费者权益、账号实名管理、未成年人/儿童个人信息、医疗、教育培训、AIGC内容生态等大量垂直领域合规审查能力,这些能力已超出“skill上架合规检查器”所必需的直接范围,属于不被其 stated purpose 明确支撑的能力扩张。

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The module docstring and user-facing description are entirely in Chinese, including the stated purpose of checking compliance with domestic regulatory requirements, but there is no indication that language choice is optional or that the tool is explicitly restricted to a China-specific audience. This creates a natural-language locale policy concern because the skill effectively mandates a specific language for interaction and output.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
84% confidence
Finding

The module docstring claims there are no network requests, but the plugin system means effective runtime behavior is no longer limited to this file’s imports and logic. This mismatch can mislead reviewers and operators into granting more trust than warranted, reducing scrutiny of a component that can indirectly introduce network activity or other side effects through loaded plugins.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The tool’s stated purpose is static pre-upload compliance checking, but it also discovers and executes plugins from a local plugins directory. That expands the trust boundary from passive file inspection to arbitrary code execution, which is dangerous because a malicious or compromised plugin can run with the analyzer’s privileges, tamper with results, access local files, or perform other side effects unrelated to compliance scanning.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

Dynamic loading via sys.path manipulation and importing discover_plugins() gives arbitrary local code execution capability to any code placed in the expected plugin path. For a compliance checker, this capability is not necessary for core functionality and creates a straightforward extension point for malicious behavior, including hidden network access, result forgery, or execution of arbitrary commands through plugin code.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
90% confidence
Finding

This markdown file contains user-facing natural-language content exclusively in Chinese across the substantive changelog entries. Under the policy rule, forcing a specific language without user opt-in can be a locale-policy violation, and this file does not provide an alternative language or note that the skill is intentionally region-specific.

Content

No source excerpt is available for this finding.

Dynamic attribute access via getattr()

Low
Category
Dangerous Code Execution
Confidence
50% confidence
Finding

Dynamic getattr() with a non-literal attribute name can access arbitrary object attributes, potentially bypassing access controls.

Content

Scanner excerpt · plugins/__init__.py (reported line 50)May include surrounding context.

python
# 查找 CompliancePlugin 子类
            for attr_name in dir(mod):
                attr = getattr(mod, attr_name)
                if (isinstance(attr, type)
                        and issubclass(attr, CompliancePlugin)
                        and attr is not CompliancePlugin):

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

This Python file contains user-facing descriptive text and docstrings entirely in Chinese, including the module description and class docstring. The file does not indicate that language selection is optional or justified by a region-specific constraint, which can violate a language/locale policy requiring user opt-in.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
77% confidence
Finding

模块文档写明“对目标 skill 的文档做 GDPR 领域专项检查”,并描述为一种关系式判断;但实际代码不仅针对单一文档,而是组合读取SKILL.md与README.md后执行多项具体法律规则检查并输出结构化合规发现。虽然不构成安全功能反转,但注释对实际检查范围和输出行为的描述明显偏窄。

Content

No source excerpt is available for this finding.

Static analysis

Detected: suspicious.dynamic_code_execution

Dynamic code execution detected.

Critical
Code
suspicious.dynamic_code_execution
Location
plugins/__init__.py:46