Personal Health Agent

PassAudited by VirusTotal on May 11, 2026.

Overview

Type: OpenClaw Skill Name: personal-health-agent Version: 0.4.0 The skill bundle includes a script, `fitbit_analyze.py`, which provides a direct execution sink for arbitrary Python code via the `exec()` function. While this is intended for data science and visualization of Fitbit data as described in `SKILL.md`, it creates a significant Remote Code Execution (RCE) surface that could be exploited via prompt injection to run malicious commands on the host. There is no evidence of intentional malice or data exfiltration to third parties; however, the lack of sandboxing for agent-generated code makes the bundle high-risk.

Findings (0)

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.

ConcernHigh Confidence
ASI05: Unexpected Code Execution
What this means

A generated analysis could accidentally or intentionally read local files, overwrite data, import modules, or make network calls under the user's account.

Why it was flagged

The script accepts a command-line code string and executes it directly with Python exec in a namespace that includes Fitbit data paths and loaded dataframes, without sandboxing or approval controls.

Skill content
else:
        code = sys.argv[1]
...
            exec(code, namespace)
Recommendation

Only run reviewed analysis code. The maintainer should replace raw exec with predefined analysis functions or sandbox it with restricted builtins, imports, file access, and explicit user approval.

What this means

Users may provide Fitbit credentials or health data believing no outside service can receive it, even though model/provider handling depends on the OpenClaw runtime and chosen model.

Why it was flagged

The README simultaneously advertises use with third-party model providers and claims health data stays local with no third-party sharing. For sensitive Fitbit data and setup secrets, that privacy claim is too broad and may be misleading.

Skill content
This skill teaches your OpenClaw agent (any model — Claude, GPT, Gemini) how to query and analyze your Fitbit data... Your health data stays local on your machine.

- No data is sent to any third party
Recommendation

Treat Fitbit data and setup secrets as sensitive model-context data unless you are using a fully local/private model. The skill should clearly document where tool outputs, OAuth codes, and health summaries may be sent.

What this means

Anyone who can access the token file may be able to query detailed Fitbit health data until the token is revoked or expires.

Why it was flagged

The skill requests broad read access to Fitbit health categories and stores OAuth tokens locally. This is purpose-aligned for a Fitbit health assistant, but it is sensitive account access.

Skill content
SCOPES = [
    "activity", "heartrate", "sleep", "profile",
    "respiratory_rate", "oxygen_saturation", "temperature",
    "cardio_fitness",
]
...
TOKEN_FILE = BASE_DIR / "data" / "fitbit_token.json"
Recommendation

Use the documented read-only Fitbit app setting, protect the skill data directory, and revoke the Fitbit app token if you stop using the skill.

What this means

Private health conditions and goals can remain on disk and be reused in later agent interactions.

Why it was flagged

The skill persists user-entered health goals and optional medical conditions for reuse in future insights. This is expected personalization, but it creates sensitive persistent context.

Skill content
PROFILE_PATH = BASE_DIR / "data" / "user_profile.json"
...
"field": "health_conditions",
"question": "Any health conditions the agent should be aware of? (optional)"
Recommendation

Only enter health details you are comfortable storing locally, review or delete data/user_profile.json when needed, and ensure local file permissions are appropriate.

NoteHigh Confidence
ASI10: Rogue Agents
What this means

The agent may surface health insights when the user did not specifically ask at that moment, depending on how OpenClaw briefings or cron jobs are configured.

Why it was flagged

The skill encourages scheduled or proactive health briefings. That fits the assistant purpose, but users should explicitly opt in before automatic recurring analysis of sensitive health data.

Skill content
### Proactive Insights (run this in daily crons/briefings)
...
**Be proactive, not passive.** Don't wait for the user to ask — deliver insights automatically.
Recommendation

Enable daily briefings or cron jobs only if you want them, and set the briefing preference to none or anomaly-only if you do not want routine proactive analysis.