饮食行为健康分析工具

ReviewAudited by ClawScan on May 13, 2026.

Overview

The diet analysis purpose is coherent, but sensitive health-report history appears to be accessible using only an open-id such as a username or phone number, with unclear authentication.

Install only if you are comfortable sending meal videos and a user identifier to the configured external service. Use your own open-id only, avoid entering other people’s phone numbers or identifiers, and consider deleting saved attachments after analysis.

Findings (4)

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.

ConcernMedium Confidence
ASI03: Identity and Privilege Abuse
What this means

A user could accidentally query or save reports under the wrong identifier, and report access may depend on knowing an identifier rather than a verified account boundary.

Why it was flagged

The code requires an open-id that may be a username or phone number for listing diet analysis reports, while the API key is not actually marked required in argparse. For sensitive health reports, the artifacts do not clearly show that the open-id is authenticated or belongs to the requester.

Skill content
parser.add_argument("--open-id", required=True, help="当前用户的OpenID/UserId/用户名/手机号")
parser.add_argument("--list", action='store_true', help="显示饮食行为分析列表清单")
parser.add_argument("--api-key", help="API访问密钥(必需)")
Recommendation

Only use your own identifier, and the publisher should require authenticated account/session or scoped API credentials for report history access.

What this means

Your uploaded meal video and related analysis identifiers may be sent to an external service.

Why it was flagged

The shared analysis implementation reads the selected local video and uploads it to the configured provider API. This is purpose-aligned for video analysis, but the data can include faces, homes, meals, and health context.

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

Upload only videos you have permission to share and review the provider’s privacy, retention, and deletion practices.

What this means

Sensitive meal videos may remain stored locally after analysis.

Why it was flagged

The skill says uploaded attachments or videos are automatically saved under the skill directory. This is scoped and purpose-related, but it creates local persistence for sensitive video content without stated retention or cleanup.

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

Delete saved attachments when no longer needed, and the publisher should document retention and cleanup behavior.

What this means

If the skill were switched to the dev environment, sensitive analysis data could be sent to an unexpected private endpoint.

Why it was flagged

A bundled development config points to a private raw-IP HTTP endpoint. The shown production config is different, so this is not active by default, but it is a provenance/configuration risk if environments are changed.

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

Keep the skill on verified production endpoints and remove or clearly separate dev-only configuration from published packages.