Back to skill

Security audit

Commuter After-Work Fatigue Care (Home-Arrival Moment) | 上班族下班疲劳关怀(回家时刻)

Security checks across malware telemetry and agentic risk

Overview

This skill’s fatigue-analysis purpose is mostly coherent, but it also uploads sensitive home media to a cloud service and quietly creates/persists account tokens locally.

Review before installing. Use only with videos you are authorized to analyze, assume local files or URLs may be sent to the Life Emergence cloud backend, and be aware that the skill can create a persistent local identity and store service tokens in the workspace data database. Prefer a setup with explicit consent, retention controls, and token storage protections.

SkillSpector

By NVIDIA
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
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
Findings (31)

Dynamic attribute access via getattr()

Low
Category
Dangerous Code Execution
Content
if filters:
                for key, value in filters.items():
                    query = query.filter(getattr(self.__model__, key) == value)

            if offset:
                query = query.offset(offset)
Confidence
72% confidence
Finding
query = query.filter(getattr(self.__model__, key) == value)

Dynamic attribute access via getattr()

Low
Category
Dangerous Code Execution
Content
if filters:
                for key, value in filters.items():
                    query = query.filter(getattr(self.__model__, key) == value)

            return query.scalar()
        finally:
Confidence
72% confidence
Finding
query = query.filter(getattr(self.__model__, key) == value)

Lp3

Medium
Category
MCP Least Privilege
Confidence
94% confidence
Finding
The skill declares no permissions while the documentation indicates capabilities for shell execution, local file read/write, environment use, and network access. This mismatch is dangerous because it hides the true trust boundary of the skill and can lead to unintended execution, data access, and exfiltration in a privacy-sensitive home-monitoring context.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding
The documented purpose is limited to fatigue detection and care prompts, but the skill also performs remote history queries, backend identity/token provisioning, local SQLite persistence, and report export behaviors not disclosed in the summary. This is dangerous because users may grant access for in-home wellness analysis without understanding that identity management, persistent local storage, and additional cloud operations are occurring behind the scenes.

Description-Behavior Mismatch

Medium
Confidence
84% confidence
Finding
The skill scope extends beyond simple fatigue analysis into cloud history reporting and trend queries, increasing the amount and retention of sensitive behavioral data processed. In a home camera setting, this broader data lifecycle raises privacy and surveillance risk if users were only led to expect one-time local analysis.

Description-Behavior Mismatch

Medium
Confidence
80% confidence
Finding
The documented behavior adds escalation actions and smart-home interventions not described in the manifest, such as environmental changes and progressive care actions. Undisclosed actuation in a home environment can surprise users and expands the consequences of misclassification or misuse.

Description-Behavior Mismatch

Low
Confidence
80% confidence
Finding
The documented behavior adds escalation actions and smart-home interventions not described in the manifest, such as environmental changes and progressive care actions. Undisclosed actuation in a home environment can surprise users and expands the consequences of misclassification or misuse.

Description-Behavior Mismatch

Medium
Confidence
88% confidence
Finding
Accepting an arbitrary --url allows the tool to analyze remote video sources outside the stated fixed smart-home camera context, which can enable misuse against unrelated third-party content or unintended internal resources depending on downstream fetching behavior. In a privacy-sensitive home-monitoring skill, broad URL ingestion weakens source trust boundaries and increases the chance of unauthorized or deceptive data collection.

Description-Behavior Mismatch

Medium
Confidence
94% confidence
Finding
The code accepts any http/https URL as a video source, which is broader than the skill’s stated fixed smart-home camera scenario. This creates a scope-expansion and privacy risk because the skill can be used to analyze arbitrary remote videos, including content outside the intended household monitoring context, without any visible origin restriction or trust validation in this file.

Description-Behavior Mismatch

Medium
Confidence
95% confidence
Finding
The skill allows arbitrary local file uploads and forwards the full file content for analysis, which exceeds the manifest’s described fixed-camera monitoring use case. In a surveillance/wellness context, this increases the chance of analyzing unrelated or sensitive recordings and weakens assumptions about consent, provenance, and data minimization.

Description-Behavior Mismatch

Medium
Confidence
95% confidence
Finding
The skill metadata describes a narrowly scoped fixed-camera in-home fatigue monitor, but this script accepts arbitrary local file paths and arbitrary remote video URLs for analysis. That scope expansion can enable analysis of unrelated private media and server-side fetching of attacker-controlled URLs, creating privacy and potential SSRF-style data access risks that are inconsistent with the declared purpose.

Context-Inappropriate Capability

Medium
Confidence
94% confidence
Finding
This file exposes broad generic CRUD and arbitrary HTTP wrapper methods that can send requests to caller-supplied URLs, which is far wider than what is needed for a fixed-purpose commuter-fatigue care skill. In a smart-home context, unnecessary network primitives increase the attack surface for data exfiltration, unauthorized backend access, or repurposing the skill as a generic proxy if other components can influence the URL or request arguments.

Context-Inappropriate Capability

Medium
Confidence
88% confidence
Finding
The get_user_by_username helper introduces user-account lookup capability that is unrelated to detecting post-commute fatigue and triggering comfort prompts. In a home-monitoring skill, this mismatch is concerning because it enables user enumeration or access to identity-related backend data without a clear functional need, increasing privacy and abuse risk.

Description-Behavior Mismatch

High
Confidence
95% confidence
Finding
The skill is described as a local smart-home commuter-fatigue analysis and care workflow, but this file defines a reusable user/account database with identity fields, email, age, birthday, and token handling. That is a major scope expansion and creates unnecessary collection and persistence of personal account data unrelated to detecting fatigue and speaking a care prompt.

Context-Inappropriate Capability

High
Confidence
97% confidence
Finding
Storing token and open_token values in a local SQLite table is unjustified for the stated fatigue-monitoring use case and materially increases the risk of credential theft or unauthorized account linkage if the device or workspace is accessed. In a smart-home setting, persistent auth-style secrets are especially sensitive because compromise can extend beyond the local skill to external services or identities.

Description-Behavior Mismatch

High
Confidence
99% confidence
Finding
The utility performs remote account provisioning and login/token acquisition flows that are unrelated to the declared smart-home fatigue-care function. In the context of a camera-based home analyzer, silently creating accounts, persisting tokens, and binding identity to remote services expands data exposure and control far beyond user expectations, creating a serious privacy and unauthorized external-service interaction risk.

Description-Behavior Mismatch

Medium
Confidence
98% confidence
Finding
This code provides a general outbound HTTP wrapper to configurable endpoints, adds authentication headers, and can transmit arbitrary data and params. For a skill whose stated purpose is local post-commute fatigue detection and comfort actions, this hidden network capability materially increases the risk of exfiltration, remote dependency abuse, and unexpected data sharing.

Context-Inappropriate Capability

High
Confidence
99% confidence
Finding
The skill reads workspace identity material and creates persistent default user identities when none are supplied. In a home fatigue-analysis context, silently deriving or manufacturing identities is unjustified and dangerous because it enables tracking, remote account linkage, and persistence without informed user consent.

Context-Inappropriate Capability

Medium
Confidence
85% confidence
Finding
The code discovers agent workspaces and creates agent-level data and skills directories, which is broader than necessary for the declared fatigue-care behavior. While this may be framework utility code, in this skill context it increases filesystem reach and persistence capabilities, enabling storage or installation activity outside the narrow expected function.

Missing User Warnings

High
Confidence
96% confidence
Finding
The skill describes continuous in-home camera/audio monitoring and cloud history access without clear, prominent disclosure of the privacy-sensitive nature of the collection and transmission. Because the monitored data includes intimate home behaviors, facial features, audio cues, and behavioral trends, insufficient warning materially increases the risk of covert surveillance and uninformed consent.

Vague Triggers

Medium
Confidence
90% confidence
Finding
The default trigger activates whenever a user supplies a relevant video URL or file, which is overly broad for a sensitive wellness-monitoring skill. This can cause unintended processing of private media and accidental invocation of remote analysis workflows without deliberate user intent.

Missing User Warnings

High
Confidence
97% confidence
Finding
The skill automatically saves uploaded attachments and media files locally without a clear user warning. Local persistence of home video and image data creates substantial privacy risk, especially if the files contain family members, living spaces, or sensitive behaviors and are retained longer than users expect.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The skill mandates direct cloud API queries for historical reports without clearly warning users that their report data is being retrieved from a remote service. This obscures the data flow and may expose sensitive behavioral histories to external systems without informed consent.

Missing User Warnings

Medium
Confidence
88% confidence
Finding
The code reads the entire local video file into memory and transmits it to the analysis backend without any visible user notice, consent check, or disclosure in this file. Given that the skill analyzes behavior in a home environment, silent transfer of potentially sensitive audiovisual data materially increases privacy and compliance risk.

Missing User Warnings

Medium
Confidence
87% confidence
Finding
The hidden --api-key parameter conceals credentialed network use from normal help output while the tool can also process local files and URLs, reducing transparency about data transmission and authentication. In a smart-home/video-analysis context, that makes it easier for users or integrators to send sensitive video to external services without clear notice or informed consent.

VirusTotal

VirusTotal findings are pending for this skill version.

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
skills/smyx_common/scripts/config-dev.yaml:2