T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:12- Finding
Unpinned Third-Party Source Is Retrieved, Compiled, and Executed
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 12-14
Vulnerability Type: Remote retrieval and execution of mutable third-party source
Risk Level: Highbash git clone https://github.com/ruhrpotter/oura-cli.git cd oura-cli go build -o oura ./cmd/ouraTechnical Analysis
The installation instructions clone the mutable default branch of an external GitHub repository and compile it into a local executable. They do not pin a reviewed commit or release, verify a cryptographic checksum or signature, or otherwise establish the integrity and provenance of the downloaded source.
Consequently, the effective code executed by users can change after this Skill has been reviewed. Compromise of the upstream repository, a maintainer account, or its transitive Go dependencies could insert arbitrary code into the resulting
ourabinary.This is particularly sensitive because subsequent instructions run the binary with
OURA_CLIENT_IDandOURA_CLIENT_SECRETpresent in its environment. The binary also handles OAuth tokens and sensitive profile and biometric data.Attack Path
- An attacker compromises the upstream repository, a maintainer account, or a dependency used during the Go build.
- The attacker modifies the default branch to include malicious code.
- A user follows the Skill instructions and clones the mutable default branch.
- The user compiles the attacker-controlled source into the
ouraexecutable. - The user invokes
./oura auth loginwhile OAuth client credentials are available in environment variables. - The malicious binary reads those credentials, captures generated OAuth tokens, or accesses Oura API responses.
- The binary can transmit the captured credentials and sensitive health information to an attacker or perform other actions with the invoking user's local privileges.
Impact Assessment
Successful exploitation permits arbitrary code execution with the priv ...[truncated 650 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the repository to a specific, reviewed commit hash or immutable signed release rather than cloning the mutable default branch.
- Publish an expected SHA-256 checksum for the reviewed source archive or binary and require verification before building or execution.
- Verify signed Git tags or release artifacts against a documented, trusted maintainer key.
- Commit and audit
go.modandgo.sum, pin all dependencies, and continuously scan them for known vulnerabilities and unexpected provenance changes. - Prefer reproducible builds so users can confirm that published binaries correspond to the reviewed source.
- Build and run the CLI under a dedicated, least-privileged account or sandbox with narrowly limited filesystem and network access.
- Avoid exposing OAuth secrets longer than necessary. Ensure the application does not log environment variables or authentication responses.
- Require OAuth token files to use restrictive permissions, such as owner-only read and write access, and document token revocation procedures.
- Review the pinned CLI source specifically for credential handling, token storage, outbound network destinations, and command execution before recommending it to users.
