VetClaw Bundle
Analysis
This is a coherent veterinary-clinic automation bundle, but it needs review because it stores and changes sensitive clinic records and can send user prompts to an external LLM despite broad privacy assurances.
Findings (7)
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.
Checks for instructions or behavior that redirect the agent, misuse tools, execute unexpected code, cascade across systems, exploit user trust, or continue outside the intended task.
INSERT INTO appointments ... appointment_time, status) VALUES (1, 1, '待分配', ?, ?, 'confirmed')
The visible handler creates a confirmed appointment record automatically from parsed message content, using hardcoded client and pet IDs and without visible approval or conflict validation in the cited code.
所有数据存储在本地或您选择的云服务,不会共享给第三方。
This privacy assurance is too broad given the included external LLM configuration and code path that can send prompts to DeepSeek.
VetClaw 只处理行政和沟通任务,诊断和治疗决策始终由执业兽医完成。
The same artifact advertises medical-adjacent capabilities such as lab interpretation, prescription support, emergency triage, drug interaction checks, and disease knowledge responses, so the 'only administrative' framing may understate clinical reliance risk.
fastapi>=0.104.0 uvicorn>=0.24.0 python-dotenv>=1.0.0
The Python dependencies are version ranges rather than pinned hashes or lockfile entries; this is common but gives less reproducible supply-chain assurance.
Checks whether tool use, credentials, dependencies, identity, account access, or inter-agent boundaries are broader than the stated purpose.
api_key: "${DEEPSEEK_API_KEY}" ... api_key: "${SMS_API_KEY}" ... app_secret: "${WECHAT_APP_SECRET}"The configuration template references LLM, SMS, and WeChat credentials even though registry metadata declares no required env vars or primary credential.
Checks for exposed credentials, poisoned memory or context, unclear communication boundaries, or sensitive data that could leave the user's control.
httpx.post("https://api.deepseek.com/v1/chat/completions" ... {"role": "user", "content": prompt})The code can send raw user prompts to an external LLM provider; in this skill, prompts may contain customer contact details, pet medical information, or clinic business data.
CREATE TABLE IF NOT EXISTS clients ... pets ... medical_records ... conversations
The app persists customer, pet, medical-record, appointment, inventory, and conversation data in a local SQLite database, which is expected for this product but sensitive.
