Back to skill

Security audit

元呈 yotta-present

Security checks for vulnerabilities and agentic risk

Overview

This appears to be a local formatting skill, but it asks to persistently change agent configuration and memory while applying broadly to future AI outputs.

Install only if you are comfortable with the skill changing your agent's MCP configuration and adding a lasting memory rule. Prefer reviewing the exact mcpServers entry first, decline permanent memory changes unless you want this behavior across future sessions, and use pinned package versions or a reviewed local checkout instead of unpinned npx commands.

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
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • 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
Findings (47)

Vague Triggers

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill declares itself as the default rendering layer for essentially all user-facing AI output, with only limited exceptions. In a security-sensitive agent environment, such broad trigger scope can cause unintended interception, transformation, or routing of outputs, increasing the blast radius of any bug, prompt injection, or unsafe rendering/configuration behavior in the skill.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The declared purpose suggests a narrow rendering function, while the documented behavior expands into filesystem installation and environment detection across agent directories. This kind of scope expansion increases the chance of over-trusting the skill and can lead to unintended file changes in sensitive local paths.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The declared purpose suggests a narrow rendering function, while the documented behavior expands into filesystem installation and environment detection across agent directories. This kind of scope expansion increases the chance of over-trusting the skill and can lead to unintended file changes in sensitive local paths.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

The declared purpose suggests a narrow rendering function, while the documented behavior expands into filesystem installation and environment detection across agent directories. This kind of scope expansion increases the chance of over-trusting the skill and can lead to unintended file changes in sensitive local paths.

Content

No source excerpt is available for this finding.

Vague Triggers

High
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill defines itself as the default presentation layer for essentially all user-facing outputs, creating an extremely broad trigger surface. In context, that broadness matters because the skill also describes config persistence and tool invocation, so an otherwise low-risk formatter can become a near-always-on intermediary with frequent opportunities to access content and perform side effects.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
84% confidence
Finding

The natural-language description says outputs default to go through the presentation layer for all user-delivered AI output, and line L145 elsewhere specifies QA rows as Chinese labels “问题/回答”. This suggests a language-specific constraint in skill behavior/documentation without indicating that users can choose another language or locale.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The README states that by default any final result delivered to the user goes through this skill, which is an overly broad trigger for a transformation layer. In agent settings, such default interception can unintentionally affect sensitive outputs, policy messages, code, logs, or security-critical text, creating opportunities for content corruption, misrepresentation, or unsafe automatic tool invocation.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The README recommends installation via an unpinned npx package reference, which causes users to execute whatever version is current in the npm registry at install time. If the package, publisher account, or dependency chain is compromised, users may run attacker-controlled code during installation or skill setup.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
98% confidence
Finding

Running npx -y @yottameta/yotta-present without an exact version executes the latest published package, which is a software supply-chain risk. An attacker who gains control of the package or publishes a malicious update could achieve arbitrary code execution on the user's machine during installation.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
98% confidence
Finding

This install example uses npx with an unversioned package name, so the executed code is not reproducible and may change over time. That exposes users to registry compromise, maintainer compromise, or malicious updates that run locally with the user's privileges.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
98% confidence
Finding

The --list example still invokes an unpinned package via npx, so even a seemingly harmless listing action requires fetching and executing mutable remote code. Because this is documentation for local tool installation, the context increases practical risk: users may copy-paste and run it directly.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The README says the AI will automatically configure an MCP server and write guardrails into permanent memory on first use, subject to user consent. Persistent modification of agent configuration and memory is security-sensitive because it expands the skill's footprint beyond presentation and can create lasting trust or execution pathways that survive the current session.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
93% confidence
Finding

The README instructs users to install and execute the package via npx -y @yottameta/yotta-present without pinning a specific version. That makes behavior and trust depend on whatever package version is current at execution time, creating a supply-chain risk if a malicious or compromised release is published.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
93% confidence
Finding

This command again uses unpinned npx execution, so the resolved package may change over time and can execute newly published code immediately. In an agent-skill context, that increases exposure because installation is part of the trusted setup path and may run with user-level filesystem access.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
92% confidence
Finding

Even the discovery/listing command uses an unpinned package invocation, which still requires fetching and executing code from the package registry. Although lower risk than a full install path, it remains a supply-chain issue because registry-delivered code is trusted implicitly at runtime.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
88% confidence
Finding

The skill describes capabilities that read/write local files and modify persistent client configuration, but it declares no explicit tool scope or permission boundaries. In an agent ecosystem, this weakens least-privilege controls and makes it easier for the skill to be invoked with broader filesystem access than users expect.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The embedded permanent-memory text states that the AI will automatically add the MCP server on first use, conflicting with the surrounding consent gate. Because this text is intended for durable reuse, it can propagate unsafe behavior across future sessions and normalize silent persistence without fresh user approval.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

L058规定“只要含清单 / 表格 / 结论 / 汇总,就必须先调用 present_result”,这些特征属于常见文本形态,缺少精确定义与排除条件。结果是大量普通答复都可能满足条件,触发边界不稳定,增加误调用风险。

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill contains contradictory instructions: one section requires explicit user consent before persistent changes, while another says the AI will automatically write mcpServers entries. In practice, ambiguous setup language can cause agents or operators to perform unauthorized persistent configuration changes, which is especially risky because it installs a long-lived local execution pathway.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
80% confidence
Finding

The skill recommends executing an unpinned npm package with npx -y, which fetches and runs whatever version is current at execution time. If the package is compromised, typo-squatted, or publishes a malicious update, this becomes a supply-chain execution path on the user's machine.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
80% confidence
Finding

L241中的提示词固定为中文“提示用户:这是可选增强,如需去味可安装,命令……”,整体文档和对外提示也默认中文表达,未说明可根据用户语言切换。对于面向通用用户的技能,这可能构成语言/locale强制而缺少用户选择。

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

This code file contains user-facing natural-language strings that force a specific language/locale. Under the policy, locale-specific behavior should either offer user opt-in/choice or be clearly justified as region-specific; this file does neither.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.