T09 · Insecure Skill Coding Practices
- Location
hivemind-search.mjs:111- Finding
Unvalidated Configurable API Endpoint Can Exfiltrate Hivemind Credentials
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill does what it claims, but it handles API credentials and user queries with an unvalidated configurable endpoint that could route secrets to the wrong server.
Review before installing. Use only with a trusted HTTPS Hivemind endpoint, avoid putting confidential launch plans or secrets in search queries, and prefer runtime-injected credentials. The publisher should add endpoint allowlisting or destination binding and narrower activation guidance.
hivemind-search.mjs:111Unvalidated Configurable API Endpoint Can Exfiltrate Hivemind Credentials
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
import { homedir } from "node:os";
// ---------------------------------------------------------------------------
// Env resolution: process.env → .openclaw/.env → openclaw.json env object
// Only HIVEMIND_* keys are ever read from config files.
// ---------------------------------------------------------------------------
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
import { homedir } from "node:os";
// ---------------------------------------------------------------------------
// Env resolution: process.env → .openclaw/.env → openclaw.json env object
// Only HIVEMIND_* keys are ever read from config files.
// ---------------------------------------------------------------------------
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
import { homedir } from "node:os";
// ---------------------------------------------------------------------------
// Env resolution: process.env → .openclaw/.env → openclaw.json env object
// Only HIVEMIND_* keys are ever read from config files.
// ---------------------------------------------------------------------------
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
import { homedir } from "node:os";
// ---------------------------------------------------------------------------
// Env resolution: process.env → .openclaw/.env → openclaw.json env object
// Only HIVEMIND_* keys are ever read from config files.
// ---------------------------------------------------------------------------
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
const openclawDir = join(homedir(), ".openclaw");
// 2. .openclaw/.env file — extract only the requested key
const dotVal = loadDotEnvKey(join(openclawDir, ".env"), key);
if (dotVal) return dotVal;
// 3. openclaw.json → env object — extract only the requested key
The skill declares environment-variable and network-backed behavior but does not define an explicit tool/permission scope. That weakens least-privilege controls and makes it harder for the host or reviewer to understand what capabilities the skill may exercise, increasing the chance of unintended external requests or credential use.
The trigger language is broad enough that the skill may activate during ordinary marketing discussions, causing queries to be sent externally more often than users expect. Over-invocation increases privacy and data-exposure risk, especially if user prompts contain sensitive business strategy, launch plans, or proprietary context.
The instruction to ALWAYS search before giving marketing advice creates an activation rule broader than the documented use cases and can force unnecessary external API use. This can leak user content to a third party by default and reduces the agent's ability to apply context-sensitive judgment about whether external retrieval is appropriate.
The skill explains authentication and usage but does not clearly warn that user queries may be transmitted to an external API using configured credentials. Without transparent disclosure, users may unknowingly share confidential marketing plans, token-launch details, or internal business information with a third-party service.
Detected: suspicious.env_credential_access