Back to skill

Security audit

Shopdora — Shopee Product Selection & Keyword Research Tool

Security checks across malware telemetry and agentic risk

Overview

The skill’s Shopee research purpose is coherent, but it stores paid API credentials and reusable tokens in plaintext and caches review data without enough security or privacy guidance.

Review this before installing on any shared or sensitive machine. It will use a paid Shopdora account, store credentials and tokens under `~/.shopdora`, make external API calls, and cache result data locally. Use least-privilege API credentials where possible, restrict file permissions, rotate secrets if exposed, clear cached review data when no longer needed, and avoid collecting or exporting personal review data unless you have a valid business need and legal basis.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Rogue AgentSelf-Modification, Session Persistence
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (5)

Intent-Code Divergence

Medium
Confidence
95% confidence
Finding
The skill gives conflicting execution guidance: earlier sections explicitly forbid auto-retry for most failures, but the error-handling table later instructs automatic retries for rate limiting and system-busy responses. In an agent setting, contradictory instructions can cause unbounded or unintended paid requests, quota consumption, and repeated interaction with an external service without fresh user consent.

Missing User Warnings

Medium
Confidence
93% confidence
Finding
The setup flow tells the user to share client credentials and store them in a local plaintext config file, but it does not warn about secret sensitivity, least-privilege handling, file permissions, or safer alternatives. This increases the chance of credential leakage through chat history, local compromise, backups, or multi-user environments.

Missing User Warnings

Medium
Confidence
89% confidence
Finding
The review scraping endpoint explicitly enables collection of user-generated review data that can include usernames, regions, timestamps, images, videos, and free-text comments, some of which may constitute personal or sensitive information depending on jurisdiction. In a market-research skill, documenting this capability without any privacy, consent, retention, or lawful-use guidance increases the risk of misuse, overcollection, and non-compliant downstream processing.

Autonomous Decision Making

Medium
Category
Excessive Agency
Content
**Token renewal rules:**

- Token is valid for ~31 days; re-acquire before expiration
- When any API returns `9990`, automatically delete `token.json`, re-acquire the token, and retry the original request
- Check the `tokenExpiresIn` field from `/standard/queryBalance` for the precise expiration time

---
Confidence
90% confidence
Finding
automatically delete

Session Persistence

Medium
Category
Rogue Agent
Content
1. First, attempt to read `~/.shopdora/token.json`
2. If the file exists, check if `obtainedAt + expiresIn > current timestamp`; use directly if valid
3. If the file doesn't exist or has expired, read credentials from `~/.shopdora/config.json` and call the token endpoint
4. Write the new token and acquisition time to `~/.shopdora/token.json`
5. All subsequent API requests read accessToken from `token.json`

**API call:**
Confidence
88% confidence
Finding
Write the new token and acquisition time to `~/.shopdora

VirusTotal

VirusTotal findings are pending for this skill version.

View on VirusTotal

Static analysis

No suspicious patterns detected.