脑卒中风险筛查分析技能

WarnAudited by ClawScan on May 13, 2026.

Overview

The skill has a plausible health-screening purpose, but it handles sensitive face and health report data with unclear identity controls and local retention.

Review the configured API endpoints and open-id behavior before installing. Do not use an API key or phone number as the open-id unless you understand how the provider protects report access, and confirm how uploaded face media is stored and deleted.

Findings (5)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

A wrong or shared open-id could save or retrieve sensitive health reports under the wrong identity, and using an API key as an identifier could expose or misuse a credential-like value.

Why it was flagged

The skill treats an API-key field, username, or phone number as the open-id used for sensitive report workflows, while no primary credential is declared in metadata. This makes the account and authorization boundary ambiguous.

Skill content
如果文件存在且配置了 api-key 字段,则读取 api-key 作为 open-id ... 提示用户提供用户名或手机号作为 open-id
Recommendation

Use a dedicated, non-secret user identifier and require clear authentication for report history; do not reuse API keys or phone numbers as the authorization boundary.

What this means

If the default identifier is ever used as a fallback, reports could be associated with a shared or unintended account.

Why it was flagged

The active production config includes a hardcoded phone-like default open-id for a skill that saves and queries health reports.

Skill content
ConstantEnum:
  default--open-id: "18069813808"
Recommendation

Remove hardcoded user identifiers from shipped configs and require an explicit per-user open-id at runtime.

What this means

Sensitive biometric or health-related media may remain on disk after the analysis and could be exposed or reused later.

Why it was flagged

The skill tells the agent to automatically persist uploaded face images/videos locally, but does not define retention, cleanup, access limits, or reuse boundaries.

Skill content
如果用户上传了附件或者视频/图片文件,则自动保存到技能目录下 attachments
Recommendation

Ask before saving uploads, store only temporary copies when needed, and document deletion and retention behavior.

What this means

Your face photo/video and optional health indicators may be sent to the configured external service.

Why it was flagged

The code reads the selected local media file and submits it through the analysis API. This is expected for the skill's purpose, but it is a sensitive upload.

Skill content
with open(input_path, 'rb') as f: file_content = f.read() ... files = {'file': ...} ... response = self.analysis(params=params, files=files)
Recommendation

Only use files you intend to upload and verify the configured API provider before running the skill.

What this means

If the environment is switched to dev, sensitive health media or report queries could be sent to a private non-production endpoint.

Why it was flagged

A bundled development config points to a private raw-IP HTTP API. The active config is production by default, but the shipped dev endpoint creates provenance and misconfiguration risk.

Skill content
base-url-open-api: "http://192.168.1.234:9601/smyx-open-api"
Recommendation

Remove raw-IP dev configs from published packages or clearly isolate them from user runtime.