Back to skill

Security audit

Karakeep MCP-First

Security checks for vulnerabilities and agentic risk

Overview

This is a coherent Karakeep bookmark-management skill, with expected API-key access and optional CLI fallback that users should handle carefully.

Install this only if you intend to let an agent access and modify your Karakeep data. Prefer the configured MCP server, keep the CLI fallback optional, avoid putting real API keys in command-line arguments or transcripts, do not run npm install with sudo, and confirm any delete, wipe, migration, or broad cleanup request before allowing it.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (2)

T09 · Insecure Skill Coding Practices

Warning
Location
references/karakeep-details.md:127
Finding

API key may be exposed through command-line arguments

Content
View full analysis
--server-addr ``` ``` ### Technical Analysis The documentation recommends passing the Karakeep API key through the `--api-key` command-line option as an alternative authentication mechanism. If an agent substitutes the placeholder with a real key, the credential can become visible in: - Process argument listings while the command is running. - Process-monitoring and audit systems that record command lines. - Shell history when a shell is used. - Agent execution logs, debugging traces, or command transcripts. - Error reports that reproduce the executed command. Although authentication to the configured Karakeep server is necessary for the declared functionality, exposing the key through process arguments is not the minimum-privilege authentication method. The environment-variable example is safer than the command-line example, while a protected credential file, secret manager, or preconfigured MCP authentication channel would be preferable. The project explicitly says to avoid printing API keys, but the alternative command contradicts that objective by placing the key in a commonly observable channel. No evidence was found that the skill intentionally exfiltrates credentials to an unrelated endpoint; the concern is inadvertent local or logged disclosure. ### Attack Path 1. A user or agent follows the documented fallback example and invokes: ```bash karakeep --api-key REAL_API_KEY --server-addr ...[truncated 1393 chars]
Remediation
View remediation

T08 · Insecure Dependencies

Warning
Location
SKILL.md:50
Finding

Unpinned global installation of a third-party npm package

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • 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 (1)

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The reference exposes CLI commands for dump, migrate, and wipe, which are destructive or administrative capabilities outside the core bookmark-management purpose of the skill. In an agent setting, even help/example commands can normalize or enable escalation into bulk export, migration, or destructive deletion if the agent later relies on this reference during fallback or troubleshooting flows.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.