Back to skill

Security audit

HerCycle

Security checks for vulnerabilities and agentic risk

Overview

The skill is purpose-aligned but should be reviewed because it handles sensitive biometric and menstrual-cycle data and tells users to run an unverified external backend with OAuth credentials.

Install only if you are comfortable connecting sensitive Whoop and menstrual-cycle data to a local backend. Use a verified WhoopClaw implementation, inspect its code and dependencies before running it, keep OAuth credentials scoped and revocable, and avoid using the skill for generic food, training, mood, or scheduling questions unless you intentionally want cycle-aware analysis.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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)

T08 · Insecure Dependencies

Error
Location
SKILL.md:58
Finding
Unverified Third-Party Repository Discovery and Execution## Vulnerability Details **File Location**: `SKILL.md`, lines 58–63 **Vulnerability Type**: Unverified supply-chain bootstrap **Risk Level**: High ### Vulnerable Code Snippet ```markdown ## Setup Requirements HerCycle requires a running WhoopClaw instance — an open-source FastAPI backend that handles Whoop OAuth, cycle tracking, and biometric storage. Search GitHub for "WhoopClaw" to find an implementation, or build your own against the Whoop Developer API. **Prerequisites:** 1. **Whoop API credentials** — register at [developer-dashboard.whoop.com](https://developer-dashboard.whoop.com) to get your `WHOOP_CLIENT_ID` and `WHOOP_CLIENT_SECRET` 2. **WhoopClaw running locally** — clone, configure `.env`, and start the server (`uvicorn main:app`) ``` ### Technical Analysis The setup instructions direct users to search GitHub for a project named “WhoopClaw,” clone an unspecified implementation, configure it with OAuth credentials, and execute it locally. The documentation does not identify a canonical repository, verified publisher, immutable commit, release signature, checksum, or dependency-lock verification process. Search-based dependency discovery creates a supply-chain trust gap. An attacker can publish a repository with the expected name and plausible documentation, improve its search visibility, and embed malicious startup code or dependencies. Running `uvicorn main:app` imports and executes the selected application's Python modules, allowing module-level code and application initialization hooks to run before the user interacts with the service. This issue is classified as insecure dependency handling rather than confirmed embedded malicious code because the audited project contains no executable scripts or malicious payload. The risk arises from its explicit instruction to obtain and execute an unverified external component. ### Attack Path 1. An attacker publishes a convincing repository using the “WhoopClaw” nam ...[truncated 1749 chars]
Remediation
## Remediation Suggestions 1. Replace search-based discovery with the exact HTTPS URL of an official repository controlled by a verified publisher. 2. Pin installation instructions to a reviewed immutable commit hash or cryptographically signed release rather than a mutable branch or tag. 3. Publish SHA-256 checksums and signature-verification instructions for release artifacts. 4. Require review of startup files, dependency manifests, installation hooks, and container definitions before execution. 5. Use pinned dependency versions with hashes, such as a hash-locked requirements file, and run dependency and source-code security scans. 6. Execute the backend under a dedicated, unprivileged service account or hardened container with minimal filesystem and network access. 7. Store OAuth secrets in an appropriate secret manager or otherwise restrict `.env` permissions; do not place production credentials into an implementation until its provenance has been verified. 8. Grant narrowly scoped OAuth permissions and document credential rotation and revocation procedures in case an untrusted implementation is executed. 9. Clearly state that forks, mirrors, and similarly named search results are untrusted unless their identity and integrity are independently verified.
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (2)

Vague Triggers

Medium
Confidence
95% confidence
Finding
The skill description is broad enough to trigger on common requests about energy, mood, food, training, or scheduling, causing the agent to invoke a sensitive health-related skill in contexts where the user may not have clearly intended biometric or menstrual-cycle analysis. Because this skill processes intimate health data and can shape recommendations, over-invocation increases the risk of privacy-invasive use and inappropriate health guidance.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The skill explicitly accesses highly sensitive biometric and reproductive-health data, including HRV, recovery, skin temperature, and cycle phase inference, but does not present a clear privacy warning, consent check, or data-handling disclosure. In this context, silent processing of menstrual and biometric signals is especially sensitive because it can reveal intimate health status and predictions without informed user awareness.

Static analysis

No suspicious patterns detected.