Back to skill

Security audit

Elderly Loneliness / Depression-Tendency Behavior Analysis | 老年人孤独/抑郁倾向行为分析

Security checks across malware telemetry and agentic risk

Overview

The skill’s video-analysis purpose is understandable, but it handles highly sensitive home and mental-health-adjacent data with automatic cloud upload, hidden identity binding, history retrieval, and local token persistence that users should review carefully.

Install only if you are comfortable sending elder home-camera footage or URLs, derived behavior reports, and identity-linked metadata to the provider’s cloud services. Require informed consent from the monitored person or authorized representative, avoid bedroom or audio monitoring unless truly necessary, and review how report history, local identity records, and stored tokens can be deleted or separated per user.

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 (26)

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
79% 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
79% confidence
Finding
query = query.filter(getattr(self.__model__, key) == value)

Lp3

Medium
Category
MCP Least Privilege
Confidence
89% confidence
Finding
The skill invokes local scripts, reads and writes files, accesses environment-derived identity, uses shell execution, and calls cloud APIs, yet it declares no permissions or capability boundaries. This creates a transparency and governance gap: operators may authorize or run a skill on highly sensitive home video and mental-health data without understanding that it can transmit data off-device and persist outputs locally.

Context-Inappropriate Capability

Medium
Confidence
86% confidence
Finding
The skill expands from per-video behavioral analysis into cloud history lookup and report-link retrieval, which broadens data access beyond the user’s immediate request. In the context of elderly home surveillance and inferred mental-health risk, this function can expose previously collected sensitive reports and URLs without sufficiently narrow scoping or explicit user consent.

Context-Inappropriate Capability

High
Confidence
95% confidence
Finding
Automatically reusing or creating a local default user identity introduces hidden identity binding for sensitive health-adjacent records. This can cause reports to be associated with the wrong person, leak one elder’s history to another session, and bypass informed consent because the user is never told which account or identity is being used.

Description-Behavior Mismatch

Medium
Confidence
92% confidence
Finding
The skill accepts arbitrary http/https video URLs even though the manifest describes analysis of fixed in-home camera footage. This broadens the trust boundary and can be abused to make the backend fetch attacker-controlled or internal URLs, potentially enabling SSRF, access to sensitive network resources, or ingestion of non-consensual third-party video data in a highly privacy-sensitive elderly-monitoring context.

Description-Behavior Mismatch

Medium
Confidence
84% confidence
Finding
The code exposes report-listing and report-image URL generation functionality beyond the manifest's stated purpose of analyzing videos. In a system handling mental-health-adjacent monitoring of elderly people, undisclosed listing of prior reports increases the chance of unauthorized data enumeration or broader access to sensitive historical results than users expect.

Description-Behavior Mismatch

Medium
Confidence
91% confidence
Finding
The script does more than analyze a provided video: it can retrieve and print a per-user history of prior analyses using an open_id. In a skill handling highly sensitive in-home elderly mental-health surveillance data, exposing historical records expands the data surface and can disclose private behavioral inferences beyond the immediate user-requested analysis.

Context-Inappropriate Capability

Medium
Confidence
94% confidence
Finding
The code resolves and uses a hidden open_id parameter to access records, which creates an undisclosed identity-linked access path. Hidden identifiers tied to sensitive behavioral analysis can enable unauthorized enumeration or retrieval of another elderly person’s historical mental-state data if server-side controls are weak or misconfigured.

Context-Inappropriate Capability

Medium
Confidence
91% confidence
Finding
This file implements a generic API wrapper with broad request primitives and CRUD-style methods that are not constrained to the skill's stated purpose of passive video-based behavioral analysis. In an agent-skill context, arbitrary network access and reusable modification helpers expand the attack surface and can enable unintended data access, exfiltration, or interaction with unrelated backend endpoints if other components pass attacker-controlled URLs or parameters.

Description-Behavior Mismatch

Medium
Confidence
90% confidence
Finding
The presence of add, edit, delete, http_post, http_put, and http_delete methods gives the skill remote resource modification capabilities that are not reflected in the manifest's analytics-only description. In a privacy-sensitive elderly home monitoring context, hidden mutation or deletion pathways are more concerning because they could be used to alter records, delete evidence, or perform unauthorized operations against connected services.

Description-Behavior Mismatch

Medium
Confidence
88% confidence
Finding
The loader creates a YAML file on disk when the path does not exist, which introduces side effects beyond a read-only analysis skill. In a home video-analysis context, unexpected file creation can violate least-privilege expectations, create persistence where none was disclosed, and potentially write to attacker-influenced paths if the path is externally controlled.

Context-Inappropriate Capability

Medium
Confidence
81% confidence
Finding
The code reads runtime environment identifiers such as sender/open IDs and usernames that are unrelated to the stated elderly loneliness video analysis purpose. In a surveillance-oriented skill handling sensitive household footage, unnecessary ingestion of identity/messaging data expands the privacy boundary and increases the risk of correlation, misuse, or accidental disclosure of personal information.

Context-Inappropriate Capability

Medium
Confidence
84% confidence
Finding
The configuration class includes API keys, secrets, database URLs, tokens, and remote base URLs that exceed the narrowly described local video-analysis purpose. Even if unused here, exposing support for external services and credentials broadens the attack surface, encourages over-privileged deployments, and raises the possibility of unauthorized data transfer from highly sensitive in-home monitoring workflows.

Description-Behavior Mismatch

Medium
Confidence
88% confidence
Finding
This file provides broad local database CRUD and user-record mutation capabilities that are not aligned with the declared purpose of analyzing elderly home-camera footage for loneliness/depression indicators. In a privacy-sensitive skill context, hidden persistence and account-style data management increase the attack surface, create unauthorized retention risks, and may enable cross-feature data collection beyond what users expect.

Context-Inappropriate Capability

Medium
Confidence
91% confidence
Finding
The User model stores identity and authentication-adjacent fields including email, token, and open_token, which are unrelated to the stated elderly-behavior detection use case. In a system processing in-home surveillance data for vulnerable individuals, collecting or retaining such fields materially increases privacy and credential-exposure risk if the local database is accessed, copied, or reused by other components.

Description-Behavior Mismatch

High
Confidence
98% confidence
Finding
This utility layer performs broad remote API interaction, token management, implicit identity resolution, and account-related behavior that is unrelated to the declared purpose of local elderly video-behavior analysis. That mismatch is dangerous because the skill can transmit identity and operational metadata off-device and create hidden external dependencies and privacy exposure well beyond user expectations for a home-camera analysis skill.

Context-Inappropriate Capability

High
Confidence
99% confidence
Finding
The code automatically derives, creates, and persists user identities, including generating default open-id values and storing/reusing them locally. For a skill described as behavior analysis from fixed home cameras, silent account bootstrap is unjustified and increases privacy risk, traceability risk, and the chance of unauthorized use of backend services under fabricated or opaque identities.

Context-Inappropriate Capability

Medium
Confidence
94% confidence
Finding
The HTTP helper contains payment/balance handling logic and user-facing recharge instructions that are unrelated to the stated elderly video-analysis function. This indicates hidden monetization/account coupling inside a common utility path, expanding the skill's operational scope and creating undisclosed service interactions that users would not reasonably expect from local analysis code.

Vague Triggers

High
Confidence
93% confidence
Finding
The default trigger activates mental-health analysis whenever a user provides an elderly home-camera video, even without explicit opt-in to this particularly sensitive inference. Because the skill infers loneliness and depression-related risk from private in-home footage, accidental invocation can lead to non-consensual profiling and cloud processing of highly sensitive personal data.

Vague Triggers

Medium
Confidence
82% confidence
Finding
The auto-trigger keywords for history queries are broad enough to match ordinary requests about reports, causing retrieval of sensitive historical mental-health outputs when the user may not have intended that action. In this domain, even accidental disclosure of prior emotional-risk reports is privacy-invasive and can reveal patterns about a vulnerable person’s behavior over time.

Missing User Warnings

High
Confidence
96% confidence
Finding
The skill handles highly sensitive home video and derives mental-health-related risk reports, but its primary description does not clearly warn users that media and reports may be transmitted to and stored in the cloud. This omission undermines informed consent and increases the risk of covert collection, retention, and secondary exposure of intimate household and health-adjacent data.

Missing User Warnings

Medium
Confidence
97% confidence
Finding
The document describes continuous in-home monitoring of elderly people using fixed cameras and optional microphones in highly private spaces such as bedrooms, but it does not state any consent, notice, data minimization, retention, access control, or lawful-basis requirements. In this context, omission of privacy and consent safeguards is dangerous because the system infers sensitive mental-health-related signals from intimate behavioral and audio/video data, creating substantial risks of unlawful surveillance, privacy harm, and misuse of health-adjacent profiling.

Missing User Warnings

Medium
Confidence
88% confidence
Finding
The function reads the entire local video file and submits it to the analysis service, but this code provides no user-facing disclosure, confirmation, or consent signal at the point of transfer. Because the content consists of in-home video of elderly individuals and infers potentially sensitive psychological state, silent upload materially raises privacy, compliance, and data-handling risk.

Missing User Warnings

Medium
Confidence
97% confidence
Finding
The request helper automatically attaches identity and authentication material such as App-Id, X-Access-Token, X-Api-Key, Authorization, and pnaUserName to outbound network requests. In the context of a home elderly-monitoring skill, undisclosed transmission of identifiers and tokens is particularly sensitive because it can expose personal data linkage and backend access credentials beyond the local analysis scope users would expect.

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