T08 · Insecure Dependencies
- Location
SKILL.md:50- Finding
Unpinned Global Installation of an Unaudited npm Package
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill has a legitimate wallet-analysis purpose, but it asks the agent to install an unpinned global CLI and handle persistent API/private keys in unsafe ways.
Review before installing. Use this skill only in an environment where you are comfortable installing gmgn-cli and exposing GMGN wallet-analysis data. Avoid sending API keys in chat; prefer a secure secret store or a non-logged prompt, pin and verify the CLI before installation, and rotate/delete any GMGN keys if they were written to local files or temporary paths.
SKILL.md:50Unpinned Global Installation of an Unaudited npm Package
SKILL.md:87API Key Exposure Through Chat and Unsafe Shell Interpolation
SKILL.md:82Private Key Stored at a Predictable Temporary Path Without Cleanup
SKILL.md:11Unnecessary Host-Network Enumeration and Third-Party IP Disclosure
Writing the API key directly into ~/.config/gmgn/.env causes the agent to handle and persist credentials in plaintext on disk. This is a credential exposure risk because local files can be exfiltrated, copied into backups, inspected by other software, or inadvertently reused outside the intended GMGN context.
mkdir -p ~/.config/gmgn
echo 'GMGN_API_KEY=<key_from_user>' > ~/.config/gmgn/.env
chmod 600 ~/.config/gmgn/.env
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
chmod 600 ~/.config/gmgn/.env
The manifest description is broad enough to trigger on many generic wallet-analysis requests, causing the skill to activate in situations where secret-dependent CLI behavior or setup instructions may be unnecessary. Overbroad invocation increases the chance the agent enters credential-handling or local-command paths for routine user questions.
The skill includes setup steps that go beyond passive wallet analysis by instructing the agent to generate cryptographic key material and persist API credentials locally. Even if intended for onboarding, this expands the skill’s privilege scope and creates opportunities for secret handling mistakes, leakage, or misuse unrelated to the user’s immediate request.
The setup flow tells the agent to store an API key in a local .env file without warning the user about secret persistence, local exposure, backup/sync risks, or host trust boundaries. Persisting secrets silently on disk is dangerous because they may be recoverable by other processes, logs, shell history, backups, or future sessions.
Creating a persistent configuration directory and storing credentials there enables session-to-session secret retention beyond the immediate task. Persistent state increases blast radius because a later compromise, unrelated skill, or unintended reuse can access the same stored credential material.
mkdir -p ~/.config/gmgn
echo 'GMGN_API_KEY=<key_from_user>' > ~/.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
chmod 600 ~/.config/gmgn/.env
No suspicious patterns detected.