T08 · Insecure Dependencies
- Location
SKILL.md:4- Finding
Unpinned Third-Party CLI Handles Fireflies Credentials and Confidential Meeting Data
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 4-24
Vulnerability Type:T08: Insecure Dependencies
Risk Level: MediumVulnerable Code
yaml metadata: {"openclaw":{"requires":{"bins":["ffcli"],"env":["FIREFLIES_API_KEY"]},"primaryEnv":"FIREFLIES_API_KEY","install":[{"id":"brew","kind":"brew","formula":"ruigomeseu/tap/ffcli","bins":["ffcli"],"label":"Install ffcli (Homebrew tap)"},{"id":"npm","kind":"node","package":"@ruigomeseu/ffcli","bins":["ffcli"],"label":"Install ffcli (npm)"}]}}markdown Install via Homebrew or npm: ```bash brew install ruigomeseu/tap/ffcli # or npm install -g @ruigomeseu/ffcliAuthenticate with your Fireflies API key:
bash ffcli auth <your-api-key> # Store key locally (~/.config/ffcli/) ffcli auth --check # Verify it workstext ### Technical Analysis The Skill delegates all executable functionality to `ffcli`, obtained from the individual npm namespace `@ruigomeseu` or the custom Homebrew tap `ruigomeseu/tap`. Neither installation method pins an audited version or verifies an integrity digest or trusted provenance. Consequently, the executable installed when the instructions are followed can differ from the version that existed when the Skill was reviewed. The CLI occupies a sensitive trust position because it receives `FIREFLIES_API_KEY`, stores or reads authentication material, and retrieves private meeting metadata, summaries, action items, and transcripts. The Skill does warn users that the CLI is third-party and recommends source verification. This warning reduces ambiguity but does not technically enforce a reviewed version or package integrity. The project contains no implementation of the external CLI, so this audit does not establish that the current package is malicious; the confirmed issue is the uncontrolled dependency and resulting supply-chain exposure. Passing the key as a command-line argument may ...[truncated 1687 chars]- Remediation
View remediation
Remediation Suggestions
- Pin the npm package and Homebrew formula to a specifically reviewed release rather than installing the latest mutable version.
- Verify package integrity using cryptographic checksums, signed releases, npm provenance, or equivalent attestations.
- Review the exact
ffclisource and release artifacts before permitting installation, including package lifecycle scripts, network destinations, credential storage, and update behavior. - Prefer an official Fireflies-maintained client or a dependency sourced from a centrally controlled and reviewed registry.
- Avoid supplying API keys as command-line arguments. Use protected environment injection, standard input, an operating-system credential store, or an interactive secret prompt that does not persist the value in shell history.
- Ensure any local credential file is created with restrictive permissions and never included in backups, logs, repositories, or exported artifacts unintentionally.
- Use a dedicated, least-privilege Fireflies API credential where the platform supports scoped tokens. Document rotation and immediate revocation procedures.
- Execute the CLI in a restricted environment with only the network, filesystem access, and credentials required for the requested operation.
- Add automated dependency monitoring and require renewed review whenever the pinned package version, checksum, maintainer, or distribution source changes.
