Back to skill

Security audit

INTJ效率增效

Security checks for vulnerabilities and agentic risk

Overview

This skill is mainly a Chinese-language INTJ productivity template, with no hidden network, credential, persistence, or destructive behavior found.

Install only if you want an INTJ/personality-framed productivity assistant, likely in Chinese. Avoid using the bundled packaging script on untrusted or contributor-controlled directories unless it is fixed to reject symlinks and write a single manifest.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (2)

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/package_skill.py:24
Finding

Arbitrary File Inclusion Through Symbolic Links

Content
View full analysis
list[Path]: """获取需要打包的安全文件列表""" safe_extensions = {".md", ".json", ".py", ".sh", ".txt", ".yaml", ".yml"} skip_dirs = {"__pycache__", ".git", "node_modules", ".venv"} skip_files = {".DS_Store", "Thumbs.db"} files = [] for root, dirs, filenames in os.walk(skill_path): # 过滤目录 dirs[:] = [d for d in dirs if d not in skip_dirs] root_path = Path(root) for filename in filenames: if filename in skip_files: continue file_path = root_path / filename if file_path.suffix in safe_extensions: files.append(file_path) return files ``` ```python # 添加所有安全文件 for file_path in get_safe_files(skill_path): rel_path = file_path.relative_to(skill_path) zf.write(file_path, rel_path) # 更新 manifest manifest["files"].append({ "path": str(rel_path), "checksum": calculate_checksum(file_path) }) ``` ### Technical Analysis The packaging allowlist validates only each candidate's filename extension. It does not reject symbolic links or resolve the candidate path and verify that the resulting target remains inside the Skill directory. `Path.relative_to(skill_path)` checks the lexical path collected during traversal, not the location reached after resolving a symbolic link. Consequently, a file such as `references/export.txt` can appear to reside under the Skill while pointing to an arbitrary readable file elsewhere on the host. Both `zf.write()` and `calculate_checksum()` follow the link and read the target. This flaw requires an attacker or untrusted contributor to b ...[truncated 1063 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Note
Location
scripts/package_skill.py:66
Finding

Duplicate Manifest Entries Cause Ambiguous Package Integrity Metadata

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (11)

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The declared description suggests an end-user productivity/personality assistance skill, but the actual code is purely a build/packaging script for creating a .skill file. Its primary purpose is materially different from the declared purpose. It performs local filesystem traversal, file reading, checksum generation, and archive writing—capabilities not implied by the description of personality analysis or efficiency coaching. This is a clear description-behavior mismatch.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The declared description presents a user-facing productivity/personality assistance skill focused on idea organization, task breakdown, learning plans, and efficiency optimization. The supplied code does none of those things. Its primary purpose is repository/package validation: checking frontmatter syntax, metadata presence, naming conventions, and directory structure for the skill itself. This is a materially different purpose and includes file-system inspection capabilities not reflected in the description. Therefore, the description does not accurately represent the code's actual behavior.

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
96% confidence
Finding

The activation description is extremely broad, covering common needs like idea structuring, task breakdown, learning plans, process building, and efficiency optimization. In an agentic system, overbroad triggers can cause the skill to activate in many unrelated contexts, override more appropriate skills, and inject personality framing or rigid response structure where it was not requested, degrading safety and reliability.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The skill content is written as a fixed Chinese-language response framework and does not offer language negotiation or justify a locale restriction. In multi-language deployments this can cause unexpected language switching, user confusion, and reduced transparency, especially when the skill activates automatically in broad contexts.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The automatic trigger rules use vague signals such as indecision, overthinking, perfectionism, and excess research without objective thresholds or exclusions. This can lead the agent to infer psychological traits too aggressively and automatically impose corrective messaging, which is risky because ordinary user behavior may be misclassified and steered inappropriately.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The description is overly broad and allows activation across loosely related situations such as personality analysis, planning, learning, execution, and efficiency optimization. In an agent ecosystem, vague trigger scope can cause unintended invocation, increasing the chance the skill influences responses outside its intended domain and overrides more appropriate safeguards or specialized skills.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The manifest describes a skill for personality analysis, idea structuring, task breakdown, learning plans, and efficiency optimization. This file instead implements local packaging logic that creates a .skill archive and writes manifest data into it, which is a build/distribution capability rather than part of the described user-facing INTJ efficiency functionality.

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 guidance exclusively in Chinese, including headings and suggested response scripts. Under the language/locale policy rule, forcing a specific language without user opt-in can be a natural-language policy violation when no alternative or opt-in is provided.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
87% confidence
Finding

This code file contains user-facing natural language in both English and Chinese, including the primary functional description '打包技能为 .skill 文件', but it does not indicate whether language selection is intentional or optional. Under the policy, forcing or assuming a language/locale without user opt-in can be a natural-language policy issue.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
92% confidence
Finding

This code file contains natural-language strings and docstrings in Chinese alongside English, such as the module description and function docstrings. The file does not indicate that language selection is optional or justified for a region-specific audience, which can violate a language/locale policy requiring user opt-in or clear documentation.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.