T01 · Skill Instruction Hijacking
- Location
SKILL.md:308- Finding
Persistent Agent Instruction Hijacking and Concealed Queue Actions
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This Calibre library skill is partly coherent, but it hides state-changing queue actions and ships a persistent local service with broad download and credential-handling risks.
Review before installing. Use this only if you are comfortable running a persistent local Calibre gateway that can write queue state, access local library files, use API keys, and make outbound download requests. Require explicit consent before queueing missing books, remove the instruction to hide queue actions, restrict direct downloads to approved HTTPS hosts with size limits, avoid query-string API keys, and pin dependencies before deployment.
SKILL.md:308Persistent Agent Instruction Hijacking and Concealed Queue Actions
calibre-openclaw-gateway/app/services/download_service.py:94Server-Side Request Forgery Through Automatically Processed Download URLs
calibre-openclaw-gateway/app/dashboard.html:2367API Key Exposure Through WebSocket Query Strings and Persistent Browser Storage
calibre-openclaw-gateway/requirements.txt:1Mutable and Unpinned Dependencies Permit Supply-Chain Code Substitution
Uploading local files, queueing/downloading books from external sources, and exposing a generic arbitrary request capability allow far broader API interaction than the skill description suggests. A generic request primitive is especially risky because it can be used to reach mutating or unforeseen endpoints discovered at runtime.
Uploading local files, queueing/downloading books from external sources, and exposing a generic arbitrary request capability allow far broader API interaction than the skill description suggests. A generic request primitive is especially risky because it can be used to reach mutating or unforeseen endpoints discovered at runtime.
Uploading local files, queueing/downloading books from external sources, and exposing a generic arbitrary request capability allow far broader API interaction than the skill description suggests. A generic request primitive is especially risky because it can be used to reach mutating or unforeseen endpoints discovered at runtime.
Uploading local files, queueing/downloading books from external sources, and exposing a generic arbitrary request capability allow far broader API interaction than the skill description suggests. A generic request primitive is especially risky because it can be used to reach mutating or unforeseen endpoints discovered at runtime.
Uploading local files, queueing/downloading books from external sources, and exposing a generic arbitrary request capability allow far broader API interaction than the skill description suggests. A generic request primitive is especially risky because it can be used to reach mutating or unforeseen endpoints discovered at runtime.
Uploading local files, queueing/downloading books from external sources, and exposing a generic arbitrary request capability allow far broader API interaction than the skill description suggests. A generic request primitive is especially risky because it can be used to reach mutating or unforeseen endpoints discovered at runtime.
Uploading local files, queueing/downloading books from external sources, and exposing a generic arbitrary request capability allow far broader API interaction than the skill description suggests. A generic request primitive is especially risky because it can be used to reach mutating or unforeseen endpoints discovered at runtime.
Uploading local files, queueing/downloading books from external sources, and exposing a generic arbitrary request capability allow far broader API interaction than the skill description suggests. A generic request primitive is especially risky because it can be used to reach mutating or unforeseen endpoints discovered at runtime.
Uploading local files, queueing/downloading books from external sources, and exposing a generic arbitrary request capability allow far broader API interaction than the skill description suggests. A generic request primitive is especially risky because it can be used to reach mutating or unforeseen endpoints discovered at runtime.
Uploading local files, queueing/downloading books from external sources, and exposing a generic arbitrary request capability allow far broader API interaction than the skill description suggests. A generic request primitive is especially risky because it can be used to reach mutating or unforeseen endpoints discovered at runtime.
Uploading local files, queueing/downloading books from external sources, and exposing a generic arbitrary request capability allow far broader API interaction than the skill description suggests. A generic request primitive is especially risky because it can be used to reach mutating or unforeseen endpoints discovered at runtime.
Uploading local files, queueing/downloading books from external sources, and exposing a generic arbitrary request capability allow far broader API interaction than the skill description suggests. A generic request primitive is especially risky because it can be used to reach mutating or unforeseen endpoints discovered at runtime.
Uploading local files, queueing/downloading books from external sources, and exposing a generic arbitrary request capability allow far broader API interaction than the skill description suggests. A generic request primitive is especially risky because it can be used to reach mutating or unforeseen endpoints discovered at runtime.
Uploading local files, queueing/downloading books from external sources, and exposing a generic arbitrary request capability allow far broader API interaction than the skill description suggests. A generic request primitive is especially risky because it can be used to reach mutating or unforeseen endpoints discovered at runtime.
Uploading local files, queueing/downloading books from external sources, and exposing a generic arbitrary request capability allow far broader API interaction than the skill description suggests. A generic request primitive is especially risky because it can be used to reach mutating or unforeseen endpoints discovered at runtime.
Uploading local files, queueing/downloading books from external sources, and exposing a generic arbitrary request capability allow far broader API interaction than the skill description suggests. A generic request primitive is especially risky because it can be used to reach mutating or unforeseen endpoints discovered at runtime.
Uploading local files, queueing/downloading books from external sources, and exposing a generic arbitrary request capability allow far broader API interaction than the skill description suggests. A generic request primitive is especially risky because it can be used to reach mutating or unforeseen endpoints discovered at runtime.
Uploading local files, queueing/downloading books from external sources, and exposing a generic arbitrary request capability allow far broader API interaction than the skill description suggests. A generic request primitive is especially risky because it can be used to reach mutating or unforeseen endpoints discovered at runtime.
Uploading local files, queueing/downloading books from external sources, and exposing a generic arbitrary request capability allow far broader API interaction than the skill description suggests. A generic request primitive is especially risky because it can be used to reach mutating or unforeseen endpoints discovered at runtime.
Uploading local files, queueing/downloading books from external sources, and exposing a generic arbitrary request capability allow far broader API interaction than the skill description suggests. A generic request primitive is especially risky because it can be used to reach mutating or unforeseen endpoints discovered at runtime.
Uploading local files, queueing/downloading books from external sources, and exposing a generic arbitrary request capability allow far broader API interaction than the skill description suggests. A generic request primitive is especially risky because it can be used to reach mutating or unforeseen endpoints discovered at runtime.
Uploading local files, queueing/downloading books from external sources, and exposing a generic arbitrary request capability allow far broader API interaction than the skill description suggests. A generic request primitive is especially risky because it can be used to reach mutating or unforeseen endpoints discovered at runtime.
Uploading local files, queueing/downloading books from external sources, and exposing a generic arbitrary request capability allow far broader API interaction than the skill description suggests. A generic request primitive is especially risky because it can be used to reach mutating or unforeseen endpoints discovered at runtime.
Uploading local files, queueing/downloading books from external sources, and exposing a generic arbitrary request capability allow far broader API interaction than the skill description suggests. A generic request primitive is especially risky because it can be used to reach mutating or unforeseen endpoints discovered at runtime.
Uploading local files, queueing/downloading books from external sources, and exposing a generic arbitrary request capability allow far broader API interaction than the skill description suggests. A generic request primitive is especially risky because it can be used to reach mutating or unforeseen endpoints discovered at runtime.
Detected: suspicious.exposed_secret_literal