Back to skill

Security audit

custom-llm-provider-setup

Security checks for vulnerabilities and agentic risk

Overview

This skill is a documentation-only guide for configuring Hermes to use user-chosen OpenAI-compatible LLM providers, with expected network and credential handling for that purpose.

Before installing, understand that using this skill can reconfigure Hermes so your prompts, model traffic, and API costs go to a chosen third-party or self-hosted provider. Only enter API tokens for providers you trust, review the final Hermes config after changes, and keep backups when migrating profiles or auxiliary tasks.

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
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (11)

External Script Fetching

High
Category
Supply Chain
Confidence
90% confidence
Finding

Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.

Content

Scanner excerpt · SKILL.md (reported line 104)May include surrounding context.

format:

bash
curl -s --request POST \
  --url "https://your-endpoint/v1/chat/completions" \
  --header "Authorization: Bearer $TOKEN" \
  --header "Content-Type: application/json" \

External Script Fetching

High
Category
Supply Chain
Confidence
90% confidence
Finding

Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.

Content

Scanner excerpt · references/provider-model-tracing.md (reported line 60)May include surrounding context.

Hit the provider's OpenAI-compatible model list endpoint:

bash
curl -s https://opencode.ai/zen/v1/models | python3 -m json.tool

This returns every model the provider serves. The alias will be in the

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · SKILL.md (reported line 104)May include surrounding context.

format:

bash
curl -s --request POST \
  --url "https://your-endpoint/v1/chat/completions" \
  --header "Authorization: Bearer $TOKEN" \
  --header "Content-Type: application/json" \

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/cloudflare-workers-ai.md (reported line 7)May include surrounding context.

inference. It exposes an OpenAI-compatible endpoint at:

text
https://api.cloudflare.com/client/v4/accounts/{ACCOUNT_ID}/ai/v1

This means Hermes can use it via provider: custom with no plugin.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/cloudflare-workers-ai.md (reported line 18)May include surrounding context.

inference. It exposes an OpenAI-compatible endpoint at:

text
https://api.cloudflare.com/client/v4/accounts/{ACCOUNT_ID}/ai/v1

This means Hermes can use it via provider: custom with no plugin.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/cloudflare-workers-ai.md (reported line 32)May include surrounding context.

inference. It exposes an OpenAI-compatible endpoint at:

text
https://api.cloudflare.com/client/v4/accounts/{ACCOUNT_ID}/ai/v1

This means Hermes can use it via provider: custom with no plugin.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/cloudflare-workers-ai.md (reported line 55)May include surrounding context.

inference. It exposes an OpenAI-compatible endpoint at:

text
https://api.cloudflare.com/client/v4/accounts/{ACCOUNT_ID}/ai/v1

This means Hermes can use it via provider: custom with no plugin.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/cloudflare-workers-ai.md (reported line 91)May include surrounding context.

inference. It exposes an OpenAI-compatible endpoint at:

text
https://api.cloudflare.com/client/v4/accounts/{ACCOUNT_ID}/ai/v1

This means Hermes can use it via provider: custom with no plugin.

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/cloudflare-workers-ai.md (reported line 54)May include surrounding context.

@cf/... prefixed IDs:

bash
curl -s --request POST \
  --url "https://api.cloudflare.com/client/v4/accounts/${ACCOUNT_ID}/ai/v1/chat/completions" \
  --header "Authorization: Bearer ${API_TOKEN}" \
  --header "Content-Type: application/json" \

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/provider-model-tracing.md (reported line 77)May include surrounding context.

bash
# Find the default branch
curl -s https://api.github.com/repos/anomalyco/opencode \
  | python3 -c "import json,sys; print(json.load(sys.stdin).get('default_branch','unknown'))"
# → "dev" (not "main")

External Script Fetching

Low
Category
Supply Chain
Confidence
15% confidence
Finding

Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.

Content

Scanner excerpt · references/provider-model-tracing.md (reported line 77)May include surrounding context.

bash
# Find the default branch
curl -s https://api.github.com/repos/anomalyco/opencode \
  | python3 -c "import json,sys; print(json.load(sys.stdin).get('default_branch','unknown'))"
# → "dev" (not "main")