Back to skill

Security audit

Vaikora

Security checks for vulnerabilities and agentic risk

Overview

This skill is a clearly disclosed third-party LLM security proxy, but installing it means Vaikora can see prompts, responses, and the upstream provider API key you route through it.

Install only if you are comfortable treating Vaikora as a vendor that can access your full LLM prompts, responses, and forwarded provider key. Evaluate with a dedicated test account and spend-limited provider key, avoid regulated or sensitive production data until retention and access controls are reviewed, and rotate the provider key after testing.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Findings (1)

other

Error
Location
SKILL.md:33
Finding
Third-Party Exposure of LLM Conversations and Provider Credentials## Vulnerability Details **File Location**: `SKILL.md`, lines 33–35, 56, and 75–84 **Vulnerability Type**: Credential and Conversation Data Exfiltration **Risk Level**: Critical **Vulnerable code and instructions:** ```text - The full prompt and message history your agent sends - The full response returned by the upstream LLM - Your upstream LLM provider key, which Vaikora forwards to the provider on your behalf ``` ```text `LLM_PROVIDER_API_KEY` is whatever key the provider issues you. OpenAI's `sk-...`, Anthropic's `sk-ant-...`, a Google API key, etc. Vaikora does not store it beyond the request lifetime, but it does see it in cleartext. ``` ```yaml llm: provider: openai base_url: https://api.vaikora.com/v1 headers: x-api-key: "${VAIKORA_API_KEY}" Authorization: "Bearer ${LLM_PROVIDER_API_KEY}" x-vaikora-agent: "${VAIKORA_AGENT_ID}" ``` ```text - `Authorization: Bearer` carries your upstream provider key. Vaikora forwards this to OpenAI, Anthropic, or whichever provider your chosen model maps to. ``` ### Technical Analysis The Skill directs users to replace the LLM provider's endpoint with a third-party reverse proxy at `api.vaikora.com`. It then transmits the upstream provider API key in the `Authorization` header to that proxy. As explicitly documented by the Skill, the intermediary receives the complete prompt, message history, model response, and provider credential in cleartext at the application layer. TLS can protect these values in transit from network observers, but it does not prevent the terminating proxy from accessing them. The statement that the credential is not stored beyond the request lifetime is an external operational claim and is not technically enforced or independently verifiable by anything in the reviewed project. The intermediary's access to a reusable provider credential also exceeds the access required solely to analyze prompt and response content. ...[truncated 1596 chars]
Remediation
## Remediation Suggestions - Do not send reusable upstream provider credentials through third-party infrastructure. Prefer direct provider communication combined with local or provider-native security monitoring. - Where intermediary routing is unavoidable, use narrowly scoped, short-lived delegation tokens rather than general-purpose provider API keys. - Restrict credentials with minimum permissions, low spending limits, rate limits, model allowlists, source restrictions, and rapid expiration where supported. - Redact or tokenize credentials, personal data, regulated data, proprietary content, and unrelated conversation history before transmitting requests for analysis. - Require explicit, informed administrator approval before enabling third-party routing, with clear disclosure of all transmitted fields and trust boundaries. - Establish contractual and technically verifiable controls for retention, access logging, encryption, personnel access, incident notification, deletion, and subprocessors. - Provide a local deployment option so security inspection can occur inside the user's trust boundary. - Rotate any upstream provider credential that has already traversed the proxy, then review provider usage and billing logs for unauthorized activity. - Test the integration with an isolated account, synthetic prompts, a dedicated test credential, and strict usage limits before considering production deployment.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (4)

External Transmission

Medium
Category
Data Exfiltration
Content
## How routing works

Vaikora exposes a drop-in OpenAI-compatible endpoint at `https://api.vaikora.com/v1`. The completions path is `/v1/chat/completions`, same as OpenAI.

In your OpenClaw config, change the base URL and set two headers:
Confidence
91% confidence
Finding
The skill instructs users to reroute all LLM traffic through a third-party proxy endpoint controlled by Vaikora. In context, that means full prompts, message history, model responses, and the upstream provider API key are transmitted to an additional external party, materially expanding the trust boundary and creating confidentiality and credential-exposure risk if the service is compromised, misconfigured, or abused.

External Transmission

Medium
Category
Data Exfiltration
Content
# Before
llm:
  provider: openai
  base_url: https://api.openai.com/v1
  headers:
    Authorization: "Bearer ${LLM_PROVIDER_API_KEY}"
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
# After
llm:
  provider: openai
  base_url: https://api.vaikora.com/v1
  headers:
    x-api-key: "${VAIKORA_API_KEY}"
    Authorization: "Bearer ${LLM_PROVIDER_API_KEY}"
Confidence
96% confidence
Finding
This configuration explicitly sends both a Vaikora API key and the upstream LLM provider key to a third-party gateway, with the skill acknowledging Vaikora sees the provider key in cleartext and forwards it on the user's behalf. That creates a direct credential-sharing pattern plus full-content interception, so compromise of the proxy or misuse of logs/telemetry could expose secrets, prompts, and responses and enable unauthorized API usage.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
curl -H "x-api-key: ${VAIKORA_API_KEY}" \
  "https://api.vaikora.com/api/v1/actions?agent_id=${VAIKORA_AGENT_ID}&per_page=5"
```

Note the two paths:
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Static analysis

No suspicious patterns detected.