Back to skill

Security audit

Depression Behavioral Markers (Long Immobility & Appetite Change) | 抑郁症辅助行为标记(长时间不动、食欲改变)

Security checks for vulnerabilities and agentic risk

Overview

The skill fits its stated home-camera health-monitoring purpose, but it handles intimate video and health-adjacent reports through cloud APIs while silently creating and caching account credentials with a hidden identity override.

Review this carefully before installing. It should only be used with explicit consent from the monitored person and only if you trust the lifeemergence.com cloud service with bedroom/dining-area footage, health-adjacent behavioral reports, local token storage, and cloud history retrieval. Require a fix for the hidden identity override and silent account/token provisioning before using it in any real caregiving or medical-adjacent workflow.

Vulnerability Patterns
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T05 · Unauthorized Access and Privilege Escalation

Error
Location
scripts/smyx_depression_behavioral_markers_analysis.py:49
Finding
Caller-Controlled Identity Enables Unauthorized Report-Account Impersonation## Vulnerability Details **File Location**: `scripts/smyx_depression_behavioral_markers_analysis.py:49, 56-61`; `skills/smyx_common/scripts/util.py:552-566, 578-612`; `skills/smyx_analysis/scripts/skill.py:144-160` **Vulnerability Type**: Caller-controlled identity used for silent authentication **Risk Level**: High ### Complete Code Snippets `scripts/smyx_depression_behavioral_markers_analysis.py:49, 56-61`: ```python parser.add_argument("--open-id", required=False, help=argparse.SUPPRESS) args = parser.parse_args() try: # Initialize the internal user identity. OpenIdUtil.resolve_current_open_id( args.open_id, use_current=bool(args.open_id) ) if args.list: open_id = ConstantEnum.CURRENT__OPEN_ID result = show_analyze_list(open_id) print(result) exit(0) ``` `skills/smyx_common/scripts/util.py:552-566`: ```python def _get_or_create_user(username): _url = ApiEnum.BASE_URL_HEALTH + "/sys/phoneLogin" open_id = username _data = { "silent": 1, "register": 1, "openId": open_id, "mobile": username, "source": ConstantEnum.DEFAULT__SKILL_HUB_NAME } try: _response = requests.post(_url, json=_data) if _response.status_code == 200: _response_json = _response.json() if _response_json and _response_json.get("success"): return _response_json and _response_json.get("result") except Exception as _e: CommonUtil.trace_exception_stack(_e) return {} ``` `skills/smyx_common/scripts/util.py:578-612`: ```python current__user_name = ( ApiEnum.API_SECRET_KEY or ConstantEnum.CURRENT__USER_NAME or ConstantEnum.CURRENT__OPEN_ID ) found_user = None if (not ApiEnum.TOKEN or not ApiEnum.OPEN_TOKEN) and current__user_name: try: from .dao import UserDao, User ...[truncated 5199 chars]
Remediation
## Remediation Suggestions 1. Remove `--open-id` from the public CLI and do not accept account identity from ordinary Skill parameters. 2. Obtain identity exclusively from a trusted, authenticated integration channel, such as a signed upstream assertion with issuer, audience, expiration, and nonce validation. 3. Require the server to authenticate users independently. Do not issue bearer tokens based solely on caller-supplied `openId` or `mobile` values. 4. Disable silent registration and login for arbitrary identifiers. If automatic provisioning is required, bind it to a verified platform identity and reject mismatches. 5. Enforce object-level authorization on every report-list, report-detail, export, and analysis endpoint. Confirm that the authenticated principal owns or is explicitly authorized to access each record. 6. Do not rely on hidden command-line arguments as a security control. Reject identity overrides even if supplied through direct module invocation. 7. Keep per-principal token storage isolated and validate that cached token ownership matches the authenticated upstream principal before reuse. 8. Add negative authorization tests covering guessed identifiers, cross-user report listing, cross-user report export, cached-token substitution, and analysis creation under another identity. 9. Invalidate tokens created through the unauthenticated silent-login path and review server logs for cross-account access using arbitrary identity values.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • 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
  • YARA SignaturesMalware Match, Webshell Match, Cryptominer Match
Findings (54)

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
The findings indicate generic HTTP requests, local workspace reads/writes, identity generation/persistence, and account bootstrap behavior, yet no visible implementation of the advertised home-camera behavioral analytics. Because the skill handles highly sensitive bedroom/dining footage and mental-health-adjacent reporting, undisclosed identity linkage and storage are especially dangerous.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
The findings indicate generic HTTP requests, local workspace reads/writes, identity generation/persistence, and account bootstrap behavior, yet no visible implementation of the advertised home-camera behavioral analytics. Because the skill handles highly sensitive bedroom/dining footage and mental-health-adjacent reporting, undisclosed identity linkage and storage are especially dangerous.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
The findings indicate generic HTTP requests, local workspace reads/writes, identity generation/persistence, and account bootstrap behavior, yet no visible implementation of the advertised home-camera behavioral analytics. Because the skill handles highly sensitive bedroom/dining footage and mental-health-adjacent reporting, undisclosed identity linkage and storage are especially dangerous.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
The findings indicate generic HTTP requests, local workspace reads/writes, identity generation/persistence, and account bootstrap behavior, yet no visible implementation of the advertised home-camera behavioral analytics. Because the skill handles highly sensitive bedroom/dining footage and mental-health-adjacent reporting, undisclosed identity linkage and storage are especially dangerous.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
The findings indicate generic HTTP requests, local workspace reads/writes, identity generation/persistence, and account bootstrap behavior, yet no visible implementation of the advertised home-camera behavioral analytics. Because the skill handles highly sensitive bedroom/dining footage and mental-health-adjacent reporting, undisclosed identity linkage and storage are especially dangerous.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
The findings indicate generic HTTP requests, local workspace reads/writes, identity generation/persistence, and account bootstrap behavior, yet no visible implementation of the advertised home-camera behavioral analytics. Because the skill handles highly sensitive bedroom/dining footage and mental-health-adjacent reporting, undisclosed identity linkage and storage are especially dangerous.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
The findings indicate generic HTTP requests, local workspace reads/writes, identity generation/persistence, and account bootstrap behavior, yet no visible implementation of the advertised home-camera behavioral analytics. Because the skill handles highly sensitive bedroom/dining footage and mental-health-adjacent reporting, undisclosed identity linkage and storage are especially dangerous.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
The findings indicate generic HTTP requests, local workspace reads/writes, identity generation/persistence, and account bootstrap behavior, yet no visible implementation of the advertised home-camera behavioral analytics. Because the skill handles highly sensitive bedroom/dining footage and mental-health-adjacent reporting, undisclosed identity linkage and storage are especially dangerous.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
The findings indicate generic HTTP requests, local workspace reads/writes, identity generation/persistence, and account bootstrap behavior, yet no visible implementation of the advertised home-camera behavioral analytics. Because the skill handles highly sensitive bedroom/dining footage and mental-health-adjacent reporting, undisclosed identity linkage and storage are especially dangerous.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
The findings indicate generic HTTP requests, local workspace reads/writes, identity generation/persistence, and account bootstrap behavior, yet no visible implementation of the advertised home-camera behavioral analytics. Because the skill handles highly sensitive bedroom/dining footage and mental-health-adjacent reporting, undisclosed identity linkage and storage are especially dangerous.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
The findings indicate generic HTTP requests, local workspace reads/writes, identity generation/persistence, and account bootstrap behavior, yet no visible implementation of the advertised home-camera behavioral analytics. Because the skill handles highly sensitive bedroom/dining footage and mental-health-adjacent reporting, undisclosed identity linkage and storage are especially dangerous.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
The findings indicate generic HTTP requests, local workspace reads/writes, identity generation/persistence, and account bootstrap behavior, yet no visible implementation of the advertised home-camera behavioral analytics. Because the skill handles highly sensitive bedroom/dining footage and mental-health-adjacent reporting, undisclosed identity linkage and storage are especially dangerous.

YARA rule 'agent_skill_mcp_tool_poisoning_metadata': MCP/tool metadata poisoning indicators in tool schemas or skill manifests [agent_skills]

High
Category
YARA Match
Content
---
name: "smyx-depression-behavioral-markers-analysis"
description: "Using fixed home cameras (bedroom and dining area), the system analyzes the multi-day behavior pattern of elderly people or solo-living individuals, detecting daily lying-in-bed duration (continuous lying > 20 hours per day) and a sharp drop in eating frequency / duration (e.g., daily eating-action count below 50% of personal baseline). | 通过家庭固定摄像头(卧室和餐厅区域),分析老年人或独居者连续多日的行为模式,检测卧床时长(连续卧床超过20小时/天)以及进食频次/时长骤减(如每日进食动作次数低于历史基�
Confidence
80% confidence
Finding
The YARA hit indicates suspicious metadata/manifest characteristics consistent with tool or metadata poisoning, and in this file the risk is amplified by extensive hidden or under-disclosed capabilities and misleading purpose statements. Even if not overtly malicious, malformed or manipulative manifest metadata can misdirect automated policy decisions and security review.

Missing User Warnings

High
Confidence
98% confidence
Finding
The skill handles highly sensitive bedroom and dining-area footage and produces mental-health-adjacent reports, yet the description lacks a clear, prominent warning that videos and report data may be transmitted to remote cloud/API services. Without this disclosure, users cannot give informed consent to especially invasive processing.

Missing User Warnings

High
Confidence
98% confidence
Finding
Automatic attachment saving and mandatory cloud API queries are described operationally but not framed as a strong privacy warning, despite involving intimate in-home video and health-related records. Silent local storage plus remote processing materially raises the risk of unauthorized retention, leakage, or use beyond user expectations.

Context-Inappropriate Capability

High
Confidence
98% confidence
Finding
This utility code silently provisions identities, caches tokens locally, and can auto-register a user against a remote health service via /sys/phoneLogin. That behavior is unrelated to the stated purpose of depression-behavior marker analysis from home cameras and creates undisclosed account creation, credential handling, and remote service coupling. In this skill context, covert identity provisioning is especially concerning because the system processes sensitive health-adjacent data for potentially vulnerable individuals.

Lp3

Medium
Category
MCP Least Privilege
Confidence
87% confidence
Finding
The skill invokes local scripts, file handling, network access, environment/config usage, and shell commands, but the manifest declares no explicit tool scope or permissions boundaries. This creates an under-declared capability surface that can mislead reviewers and users about what the skill is allowed to access and increases the chance of over-privileged execution.

Vague Triggers

Medium
Confidence
89% confidence
Finding
The default trigger automatically activates on broadly described home-camera analysis requests, which is too permissive for a skill that may save files, upload intimate footage, and query remote services. Broad invocation rules increase the chance of accidental activation on sensitive media without deliberate user understanding.

Vague Triggers

Medium
Confidence
91% confidence
Finding
Common phrases such as reduced eating, staying in bed, or mental-health-related wording are ambiguous and can occur in benign contexts. Using them as auto-invocation triggers for a surveillance-oriented health skill risks unwanted activation and inappropriate handling of sensitive content.

Vague Triggers

Medium
Confidence
93% confidence
Finding
Automatic cloud history lookup based on broad phrases can reveal or process prior sensitive reports without sufficiently specific user authorization. In a mental-health and home-monitoring setting, unintended retrieval of historical records creates meaningful privacy exposure.

Natural-Language Policy Violations

Medium
Confidence
90% confidence
Finding
The instruction mandates inclusion of specific hotline numbers that appear to be locale-specific, but the skill does not offer a language/region opt-in or explain that it is limited to a particular jurisdiction. This creates a natural-language locale policy issue because users in other regions may receive region-specific guidance by default.

Natural-Language Policy Violations

Medium
Confidence
94% confidence
Finding
The document hardcodes Beijing and China-specific mental health hotline resources without clearly scoping the service to users in China or providing locale-aware alternatives. In a mental-health-adjacent workflow, presenting regionally incorrect crisis resources can delay access to appropriate emergency support and create safety risks for users outside that jurisdiction.

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
The string returned to users is fixed as Chinese text, which imposes a specific language without any visible opt-in or alternative. This matches the policy category for language or locale constraints in natural-language content.

Description-Behavior Mismatch

Medium
Confidence
97% confidence
Finding
The skill is documented as analyzing depression-related behavioral markers for elderly or solo-living humans, but the exposed interface and internal parameterization are framed as pet analysis with cat/dog/other categories. In a health-monitoring context, this semantic mismatch can cause incorrect model selection, invalid thresholds, or misleading outputs, creating a real safety and integrity risk for sensitive medical-style monitoring.

Intent-Code Divergence

Medium
Confidence
94% confidence
Finding
User-facing help text presents the tool as a human depression-marker analyzer, while the category system still labels subjects as pet types. This can mislead operators into believing the analysis is clinically or contextually appropriate for humans when the implementation suggests reuse of an animal-oriented pipeline, undermining trustworthiness and potentially producing unsafe decisions.

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