Back to skill

Security audit

加密协议博弈论分析

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a game-theory analysis guide, but it asks for broad execution capability and later advertises file writing and external API use without clear limits.

Review before installing. Use it only for game-theory analysis of crypto protocols, and do not allow shell commands, package installs, external API calls, callbacks, or file writes unless you explicitly requested that action and can inspect exactly what will run or be sent.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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 (1)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:67
Finding

Unpinned Third-Party Dependency Installation

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 67 and 216
Vulnerability Type: Unpinned third-party dependency installation
Risk Level: Medium

Vulnerable code at line 67:

markdown
| Nashpy | Python库 | 可选 | `pip install nashpy` 用于Nash Equilibrium计算 |

Vulnerable code at line 216:

markdown
A: 基础分析无需外部工具,Agent可通过Markdown指令完成定性分析。涉及复杂数值求解(如连续策略空间的Nash Equilibrium计算)时,可选用Nashpy(`pip install nashpy`)或Gambit进行辅助计算.

Technical Analysis

The Skill recommends installing nashpy by package name without specifying a reviewed version, cryptographic hashes, a lockfile, or an explicitly trusted package index. Consequently, the installed artifact is mutable and depends on the package repository's state at installation time.

Python package installation can execute package-controlled build or installation logic. If the package, one of its transitive dependencies, the selected package index, or the distribution channel is compromised, attacker-controlled code could run during installation. This also prevents reproducible dependency resolution and makes later executions potentially differ from the reviewed configuration.

The dependency is described as optional, so exploitation requires the user or Agent to follow the installation recommendation for numerical equilibrium analysis. The reviewed project does not itself contain a malicious package or remote payload.

Attack Path

  1. An attacker compromises a future nashpy release, one of its resolved dependencies, or the package source used by pip.
  2. A user requests analysis requiring numerical Nash-equilibrium computation.
  3. The Agent follows the documented pip install nashpy instruction.
  4. Pip resolves and downloads mutable, unverified package content.
  5. Package-controlled build or installation code executes in the Agent's environment.
  6. Malicious code operates with the permissions and accessible resources of the account perfo ...[truncated 664 chars]
Remediation
View remediation

Remediation Suggestions

  1. Replace the unversioned installation command with a reviewed, exact version:
    bash
    python -m pip install "nashpy==<reviewed-version>"
    
  2. Maintain dependencies in a lockfile or requirements file containing cryptographic hashes, and install with hash verification:
    bash
    python -m pip install --require-hashes -r requirements.txt
    
  3. Explicitly specify the approved package index and disable unintended fallback indexes where appropriate.
  4. Review and pin transitive dependencies, not only the direct package.
  5. Perform installation in a dedicated, non-privileged virtual environment or isolated container with minimal filesystem and network access.
  6. Avoid installing packages automatically in response to user input. Require explicit user approval before changing the environment.
  7. Document an exact, trusted version and verified distribution source for Gambit if it is also supported.
  8. Periodically scan the locked dependency set for known vulnerabilities and review dependency changes before updating versions.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (11)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

An overly broad invocation trigger causes the skill to activate in loosely related contexts without clear boundaries, increasing the chance that powerful capabilities are applied to unintended tasks. In a skill that mentions exec and API behaviors, vague activation criteria enlarge the opportunity for misuse and accidental data exposure.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The description explicitly states that the skill supports Chinese interaction as part of its default behavior, and the display name and surrounding text strongly position the skill in Chinese only. There is no indication that users may choose another language or opt in to the locale, which can violate language-choice policy expectations.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The core feature block highlights Chinese interaction as an inherent capability but does not present language selection or user preference handling. This can amount to forcing a locale/language assumption rather than letting the user choose.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill documentation gives conflicting guidance about whether API keys are required, which can mislead users into unsafe setup practices such as exposing secrets through ad hoc environment configuration or invoking features with unclear trust boundaries. In a skill that also advertises external API and exec capabilities, ambiguity around credentials increases the chance of accidental secret disclosure or unintended external data transmission.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The document claims it cannot fetch real-time on-chain data, but elsewhere advertises API integration and external service usage, creating uncertainty about whether user data may be sent off-platform. This inconsistency is dangerous because users may assume a local-only analysis workflow when the skill may actually trigger network-dependent behavior.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The manifest presents a narrow game-theory analysis skill, but the body expands its scope to broad file handling, API integration, and command execution capabilities unrelated to that purpose. Capability creep of this kind is dangerous because it masks a much larger operational surface than users expect, enabling unnecessary access to local files, shell, and remote services.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

Advertising generic file write, API, and shell execution for an analysis-only skill creates unnecessary high-risk primitives that can be abused for data exfiltration, local modification, or arbitrary command execution. The danger is amplified because these capabilities are not justified by the stated game-theory analysis function, so users have little reason to expect or scrutinize them.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill advertises file write capability without warning users that local data may be modified, which undermines informed consent and can lead to destructive or unexpected changes. Because the skill's main purpose is analytical, undisclosed write behavior is especially risky and unnecessary.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill advertises external API or service calls without warning that user or local data may be transmitted to third parties. This is dangerous because users may provide sensitive protocol drafts, governance analyses, or proprietary documents under the assumption that processing is local.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

Advertising system command execution without a clear safety warning normalizes a highly privileged action that can affect the host environment, access local files, or be chained into broader compromise. For a documentation-driven skill, undisclosed shell execution is a significant trust and safety problem.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
97% confidence
Finding

L073-L075 classify the skill as MD+EXEC, explicitly allowing execution-driven operation. Later, L337-L339 classify it as MD, described as pure Markdown instructions only. These two classifications represent different operational intent and contradict each other.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.