T08 · Insecure Dependencies
- Location
SKILL.md:64- Finding
Unpinned Global npm Package Installation
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is meant to query GMGN crypto tracking data, but its setup handles API and signing keys in unsafe, persistent ways and installs a mutable global CLI package.
Review before installing. Prefer installing a verified, pinned gmgn-cli yourself, configure secrets outside the agent or through a secret manager, and only create a GMGN private signing key if you explicitly need follow-wallet. Treat outputs as informational crypto data, not trading advice.
SKILL.md:64Unpinned Global npm Package Installation
SKILL.md:97Shell Command Injection Through API-Key Interpolation
SKILL.md:88Predictable Temporary File and Excessive Private-Key Provisioning
This line writes the user-provided GMGN API key directly into a plaintext .env file under the agent-controlled home directory. Storing credentials in plaintext creates a durable secret that may be exposed through logs, backups, later tool access, or unrelated agent tasks.
track follow-wallet):
mkdir -p ~/.config/gmgn
echo "GMGN_API_KEY=<key_from_user>" > ~/.config/gmgn/.env
echo "GMGN_PRIVATE_KEY=$(awk '{printf "%s\\n", $0}' /tmp/gmgn_private.pem)" >> ~/.config/gmgn/.env
chmod 600 ~/.config/gmgn/.env
rm /tmp/gmgn_private.pem
This line persists the generated GMGN private key into the same plaintext .env file, giving the agent workflow durable access to a signing credential. Exposure of a private key is more severe than API-key leakage because it can enable authenticated signed requests and potentially broader account compromise depending on GMGN’s trust model.
mkdir -p ~/.config/gmgn
echo "GMGN_API_KEY=<key_from_user>" > ~/.config/gmgn/.env
echo "GMGN_PRIVATE_KEY=$(awk '{printf "%s\\n", $0}' /tmp/gmgn_private.pem)" >> ~/.config/gmgn/.env
chmod 600 ~/.config/gmgn/.env
rm /tmp/gmgn_private.pem
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
mkdir -p ~/.config/gmgn echo "GMGN_API_KEY=<key_from_user>" > ~/.config/gmgn/.env echo "GMGN_PRIVATE_KEY=$(awk '{printf "%s\n", $0}' /tmp/gmgn_private.pem)" >> ~/.config/gmgn/.env chmod 600 ~/.config/gmgn/.env rm /tmp/gmgn_private.pem
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
echo "GMGN_API_KEY=<key_from_user>" > ~/.config/gmgn/.env echo "GMGN_PRIVATE_KEY=$(awk '{printf "%s\n", $0}' /tmp/gmgn_private.pem)" >> ~/.config/gmgn/.env chmod 600 ~/.config/gmgn/.env rm /tmp/gmgn_private.pem
## Usage Examples
The description contains broad activation cues such as 'alpha signals,' 'whale tracking,' and 'copy-trading ideas,' which can cause the skill to trigger in loosely related finance conversations. Over-broad invocation increases the chance the agent enters a workflow that fetches account-linked or sensitive trading data when the user did not clearly request that specific operation.
The skill markets 'copy-trading ideas' and smart-money mimicry without guardrails, suitability checks, or clear user confirmation. In context, this nudges the agent toward actionable financial behavior based on influencer/whale activity, which can amplify risky or manipulative trading patterns.
The skill includes first-time setup steps that generate an Ed25519 private key, solicit an API key from the user, and persist both secrets locally in ~/.config/gmgn/.env. That materially exceeds a read-only tracking skill’s core purpose and creates a durable credential-handling pathway inside the agent workflow, increasing the chance of secret exposure, misuse, or later unintended signed actions.
The setup persists API and private key material in ~/.config/gmgn/.env for reuse across future sessions, creating long-lived agent-accessible authentication state. This broadens the blast radius from a one-time query to any later workflow that can read the file, making accidental or unauthorized reuse more likely.
track follow-wallet):
mkdir -p ~/.config/gmgn
echo "GMGN_API_KEY=<key_from_user>" > ~/.config/gmgn/.env
echo "GMGN_PRIVATE_KEY=$(awk '{printf "%s\\n", $0}' /tmp/gmgn_private.pem)" >> ~/.config/gmgn/.env
chmod 600 ~/.config/gmgn/.env
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
mkdir -p ~/.config/gmgn echo "GMGN_API_KEY=<key_from_user>" > ~/.config/gmgn/.env echo "GMGN_PRIVATE_KEY=$(awk '{printf "%s\n", $0}' /tmp/gmgn_private.pem)" >> ~/.config/gmgn/.env chmod 600 ~/.config/gmgn/.env rm /tmp/gmgn_private.pem
The skill instructs the agent to inspect host network interfaces and test outbound IP behavior using shell commands to diagnose IPv6 routing. For a crypto tracking/query skill, probing local network configuration is unnecessary host introspection and expands the agent’s access beyond the user’s likely intent.