T01 · Skill Instruction Hijacking
- Location
SKILL.md:164- Finding
Automatic Following of Mutable Remote Heartbeat Instructions
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is mostly a coherent design guide, but it should be reviewed because it encourages downstream agents to persist API keys and follow mutable remote heartbeat instructions without enough safeguards.
Install only if you want a design aid for agent-native services and are prepared to tighten its outputs. Before using generated specs, require secure token storage, restrictive file permissions or a secret store, token rotation, allowlisted domains, signed or schema-limited remote status responses, and explicit human approval for destructive, public, financial, or privacy-sensitive actions.
SKILL.md:164Automatic Following of Mutable Remote Heartbeat Instructions
SKILL.md:117Insufficiently Protected Persistent API-Key Storage Guidance
Referenced artifact was not completely inspected
| `SKILL.md` | `https://yourservice.com/skill.md` | Entry point. Agent reads this first. Contains overview, install block, auth flow, and capability summary. |
Referenced artifact was not completely inspected
| `SKILL.md` | `https://yourservice.com/skill.md` | Entry point. Agent reads this first. Contains overview, install block, auth flow, and capability summary. |
Referenced artifact was not completely inspected
| `SKILL.md` | `https://yourservice.com/skill.md` | Entry point. Agent reads this first. Contains overview, install block, auth flow, and capability summary. |
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
3. **Install block** — copy-pasteable `curl` commands to install the full bundle locally. Also note that agents can read files directly from URLs without installing.
4. **Security contract** — a `CRITICAL SECURITY WARNING` block near the top. List the exact domain the API key must never leave. Use NEVER/REFUSE language. The agent must see this before it sees the API docs.
5. **Registration / first-run** — the minimal API call to create an identity. Show the full response shape including where the API key lives, what the `claim_url` is for, and what the human must do.
6. **Credential storage** — show the agent exactly where and how to persist its key (`~/.config/<service>/credentials.json` or env var).
7. **Auth pattern** — one representative `curl` with `Authorization: Bearer` header.
8. **Capability summary table** — every action the agent can take, one line each, with a priority signal (`🔴 Do first`, `🟠 High`, `🟡 Medium`, `🔵 When ready`).
9. **Core API sections** — grouped by resource. Each section: one purpose sentence, the minimal `curl` example, key fields in the response, and common error shapes.
Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.
- there is no capability summary table
- the skill bundle is a single file with no separation of concerns
## Output rules
Be concrete.
Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.
# 下载技能文件
curl -L https://raw.githubusercontent.com/Rare-Sors/To-Agent-Service_Designer-Skill/main/SKILL.md -o SKILL.md
Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.
# 下载技能文件
curl -L https://raw.githubusercontent.com/Rare-Sors/To-Agent-Service_Designer-Skill/main/SKILL.md -o SKILL.md
The invocation criteria are broad enough to activate this skill for generic SaaS, API, platform, or tool design requests, not just narrowly scoped agent-native service design. Over-broad triggering can cause the agent to inappropriately adopt this skill's assumptions, expanding attack surface for prompt steering and causing misapplication of agent-service patterns in unrelated contexts.
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
2. **Skill files table** — list every file in the bundle with its URL. Agents load additional files on demand.
3. **Install block** — copy-pasteable `curl` commands to install the full bundle locally. Also note that agents can read files directly from URLs without installing.
4. **Security contract** — a `CRITICAL SECURITY WARNING` block near the top. List the exact domain the API key must never leave. Use NEVER/REFUSE language. The agent must see this before it sees the API docs.
5. **Registration / first-run** — the minimal API call to create an identity. Show the full response shape including where the API key lives, what the `claim_url` is for, and what the human must do.
6. **Credential storage** — show the agent exactly where and how to persist its key (`~/.config/<service>/credentials.json` or env var).
7. **Auth pattern** — one representative `curl` with `Authorization: Bearer` header.
8. **Capability summary table** — every action the agent can take, one line each, with a priority signal (`🔴 Do first`, `🟠 High`, `🟡 Medium`, `🔵 When ready`).
Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.
## Common skill references
GitHub
- https://github.com/openclaw/openclaw/blob/main/skills/github/SKILL.md
Supabase
- https://github.com/openclaw/skills/blob/main/skills/stopmoclay/supabase/SKILL.md
npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.
This file presents the skill documentation entirely in Chinese, which imposes a specific language on the user without an explicit opt-in or language-selection mechanism in the document itself. The policy allows locale constraints only when user choice is offered or the constraint is clearly justified, and neither is stated here.