Back to skill

Security audit

Elderly Long-Term Immobility Monitoring (>12h) | 老年人长期静止(超12小时)监测

Security checks across malware telemetry and agentic risk

Overview

This skill should be reviewed before installation because it sends very private elder-home monitoring data to cloud services and creates persistent identity/account state with limited user control.

Install only if the user understands that elder-home videos or video URLs, identity values, report metadata, and account tokens may be sent to and stored by external lifeemergence.com services. Require explicit consent from monitored people, avoid sensitive rooms unless legally and ethically justified, verify backend retention and deletion controls, and do not rely on this skill alone for emergency notification or continuous safety monitoring.

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

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

Lp3

Medium
Category
MCP Least Privilege
Confidence
89% confidence
Finding
The skill advertises no permissions while its documented operation clearly requires shell, filesystem, network, and likely environment access. This under-declaration reduces transparency and can bypass user or platform scrutiny, especially because the skill processes sensitive home video and invokes local scripts plus remote APIs.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding
The documented purpose is elder immobility monitoring, but the behavior expands into cloud video upload, persistent identity provisioning, and historical report retrieval while omitting that continuous monitoring, inactivity timing, and emergency notification are not actually implemented locally. This mismatch can mislead operators into exposing highly sensitive in-home surveillance data and relying on protections or alerting behavior that the skill does not provide.

Description-Behavior Mismatch

Medium
Confidence
90% confidence
Finding
The skill documentation broadens scope from single-purpose immobility analysis to cloud-hosted history lookup and report-link retrieval, which introduces additional data access paths beyond the stated function. In a sensitive elder-home surveillance context, such scope expansion increases the chance of unauthorized disclosure or unexpected retention of personal monitoring records.

Description-Behavior Mismatch

Medium
Confidence
94% confidence
Finding
The documentation adds automatic local user creation, reuse, and hidden identity association despite claiming a visual activity-only monitoring role. Silent identity lifecycle management creates persistent tracking and account linkage risks that users would not reasonably expect from a camera-analysis skill.

Context-Inappropriate Capability

High
Confidence
96% confidence
Finding
Automatic creation and reuse of local user identities is not necessary for basic immobility detection and creates a persistent identifier that can link sensitive home-video analyses over time. In this context, hidden account provisioning materially increases privacy and surveillance risk, especially for elderly subjects in private living spaces.

Context-Inappropriate Capability

Medium
Confidence
86% confidence
Finding
Mandatory cloud history querying is an extra capability beyond immediate monitoring and alerting, and it forces access to remotely stored records whenever those keywords are triggered. For highly sensitive elder-care monitoring data, this enlarges the attack surface and may reveal historical behavior patterns or report URLs without sufficiently constrained need-to-know boundaries.

Description-Behavior Mismatch

Medium
Confidence
94% confidence
Finding
The script exposes a history/listing function tied to an internal OpenID via `show_analyze_list(open_id)` and `--list`, but this capability is not part of the stated purpose of detecting prolonged inactivity from video. In a monitoring context involving elders and home cameras, exposing prior analyses by internal identifier increases privacy risk and can enable unauthorized access to sensitive behavioral history if identity controls are weak or implicit.

Context-Inappropriate Capability

Medium
Confidence
96% confidence
Finding
The code silently initializes an internal identity with `OpenIdUtil.resolve_current_open_id(args.open_id, use_current=bool(args.open_id))` even though the advertised function is local/video immobility analysis. Hidden identity resolution creates an unexpected data flow linking analysis operations to a user identity, which is especially sensitive here because the skill processes intimate in-home activity data for elderly individuals.

Description-Behavior Mismatch

Medium
Confidence
92% confidence
Finding
The skill accepts arbitrary HTTP/HTTPS video URLs, which extends behavior beyond the stated fixed in-home camera monitoring use case and allows analysis of externally hosted content. In a surveillance-oriented elder-care context, this broadens data ingestion in ways that can enable unauthorized third-party video processing, SSRF-style backend fetch abuse depending on downstream API behavior, or policy circumvention.

Intent-Code Divergence

Low
Confidence
89% confidence
Finding
The commented-out check shows the code expects an open_id but deliberately proceeds without enforcing it before submitting analysis requests. If downstream services rely on this identifier for tenant binding, user authorization, auditing, or quota isolation, missing enforcement can allow unauthenticated or cross-user operations.

Intent-Code Divergence

Low
Confidence
88% confidence
Finding
The report-listing path similarly omits the apparent required open_id check, which can expose analysis history or report metadata if the backend does not strictly enforce user scoping. Listing functions are especially sensitive because they may reveal prior requests, IDs, and export links across users or tenants.

Description-Behavior Mismatch

Medium
Confidence
92% confidence
Finding
The file defines and persists a generic user-account datastore, including identity and account fields, in a skill whose stated purpose is elderly immobility detection from cameras. Collecting and managing unrelated account data broadens the attack surface and creates unnecessary privacy risk, particularly given the sensitive home-monitoring context.

Context-Inappropriate Capability

Medium
Confidence
95% confidence
Finding
The model stores sensitive personal profile fields and authentication-related tokens such as token and open_token without any visible need tied to long-term immobility detection. In a home-surveillance skill for elderly users, unnecessary retention of credentials and personal data significantly raises harm from compromise, misuse, or overcollection.

Context-Inappropriate Capability

Medium
Confidence
94% confidence
Finding
This utility code derives identity from workspace files and local state, then resolves or creates a default open-id unrelated to the stated immobility-monitoring purpose. In a home elder-care video skill, hidden identity discovery and account bootstrap materially expands data handling without clear user consent or necessity, increasing privacy and account-linkage risk.

Context-Inappropriate Capability

High
Confidence
98% confidence
Finding
The HTTP helper silently calls an external phoneLogin endpoint with register=1, meaning ordinary requests can implicitly create or retrieve remote accounts/tokens. That is dangerous because a generic request wrapper should not perform hidden authentication side effects, especially in a skill processing sensitive in-home monitoring workflows.

Vague Triggers

Medium
Confidence
84% confidence
Finding
The default trigger activates on broadly described video-analysis requests, which can cause the skill to run in situations the user did not specifically intend. Because the skill may save files locally and send sensitive home-monitoring data to backend services, over-broad triggering can lead to unintended processing and disclosure.

Vague Triggers

Medium
Confidence
82% confidence
Finding
The keyword list includes broad terms like illness, falls, syncope, and emergency-related phrases without strong scope constraints, increasing the chance of accidental invocation. In a privacy-sensitive skill handling in-home elder footage and history records, ambiguous triggers can expose data or initiate backend access unexpectedly.

Missing User Warnings

High
Confidence
95% confidence
Finding
The skill description does not prominently disclose that highly sensitive home camera footage and related user identity data may be transmitted to cloud APIs and potentially stored for later report retrieval. In the context of continuous surveillance of an elderly person inside private rooms, missing upfront disclosure undermines informed consent and materially increases privacy and compliance risk.

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The document specifies APIs for continuous in-home elderly video monitoring, alerting, report export, and contact notification, but it does not include any explicit privacy, consent, retention, or sensitive-data handling warning. In this context, the omission is security-relevant because it can normalize deployment of highly sensitive surveillance features without clear safeguards, increasing the risk of misuse, overcollection, and unauthorized disclosure of health- and behavior-related data.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The hidden OpenID resolution accesses or derives user identity without clear disclosure in arguments or help text, creating a covert privacy-relevant behavior. Because this skill handles surveillance-derived data from multiple rooms of an elder's home, undisclosed identity linkage materially increases the sensitivity and misuse potential of the collected information.

Missing User Warnings

Medium
Confidence
89% confidence
Finding
The CLI accepts a hidden `--api-key` argument via `argparse.SUPPRESS`, meaning credentials can be supplied without appearing in normal help output or user-facing disclosure. In a sensitive home-monitoring context, undisclosed credential handling increases the risk of accidental secret exposure in shell history, process listings, logs, or opaque backend use without informed operator consent.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The code reads an internal workspace file (data/smyx-api-key.txt) to obtain an identity value without any visible disclosure or permission boundary. In this skill context, silently harvesting local identity material is unnecessary to the advertised camera inactivity detection function and increases risk of covert account binding or credential misuse.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The utility automatically creates and persists local user identity records when no open-id exists, including generating a synthetic username and storing it in the local database. Hidden identity creation is risky because it establishes durable user state without notice, making downstream network actions appear attributable to a user who never explicitly enrolled.

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