Back to skill

Security audit

Study Abroad Assistant - 留学助理

Security checks across malware telemetry and agentic risk

Overview

This is a disclosed cloud-backed study-abroad assistant that stores a local anonymous ID and optional API key, and sends application-related data to its service when users run its commands.

Before installing, be comfortable with a cloud service receiving study-abroad data such as scores, research/internship details, application plans, essay paragraphs, and outreach drafts. Registration saves an API key locally under ~/.study-abroad/api_key, and anonymous use creates ~/.study-abroad/anon_id for quota and progress continuity.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (6)

Tp4

High
Category
MCP Tool Poisoning
Confidence
79% confidence
Finding
The skill’s high-level description emphasizes application assistance, but the documented behavior also includes persistent profile storage, progress tracking, anonymous-to-account merge, and local API key saving. These stateful account and data-management features materially expand the privacy and security surface, creating risk of unexpected collection, retention, or exposure of sensitive student data and credentials if users are not clearly informed.

Description-Behavior Mismatch

Medium
Confidence
74% confidence
Finding
The script implements persistent profile management and application-list CRUD features beyond the stated user-facing description, increasing the amount of personal data handled and retained locally or remotely. For a study-abroad assistant, this expands the privacy and attack surface around applicant data such as scores, research history, schools, deadlines, and notes, especially if users are not clearly informed about storage and retention.

Context-Inappropriate Capability

Medium
Confidence
92% confidence
Finding
The registration flow persists an API key to local machine state via api.save_api_key(), which is a sensitive-secret handling capability not obviously necessary from the high-level skill description. Storing credentials on disk creates risk of credential theft by other local users, backups, logs, or malware if storage is not protected and the user is not given a meaningful choice.

Missing User Warnings

Medium
Confidence
89% confidence
Finding
The code generates a persistent anonymous identifier, stores it on disk under the user's home directory, and automatically sends it in every request header without any notice, consent, rotation, or retention controls. Even if the identifier is not directly a real name, it enables long-term linkage of a user's application activity and profile data across sessions, which is privacy-sensitive in a study-abroad context involving academic history, plans, and potentially personal statements.

Missing User Warnings

Medium
Confidence
90% confidence
Finding
These helper functions send highly sensitive user data such as academic profiles, application plans, essay paragraphs, and outreach drafts to a remote service endpoint. In this file there is no explicit consent gate, data minimization, or visible warning before transmission, which creates a real privacy and compliance risk if users do not clearly understand that their content leaves the local environment.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The code saves a sensitive API key locally and only informs the user after attempting to save it, without prior warning about persistence, storage location, or security implications. In a CLI handling education-related personal workflows, users may reasonably not expect long-term credential storage, making accidental exposure more likely.

VirusTotal

65/65 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

Detected: suspicious.install_untrusted_source

Install source points to URL shortener or raw IP.

Warn
Code
suspicious.install_untrusted_source
Location
package.json:19