T01 · Skill Instruction Hijacking
- Location
guidelines.md:40- Finding
Agent Safety and Decision-Making Instructions Are Overridden
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill mostly does what it claims, but it can install unverified GitHub skills and write files outside the intended skills area.
Install only if you are comfortable reviewing any GitHub repository before selecting it, and avoid using create/new with untrusted or path-like names. Prefer a version that stages downloads, pins commits, validates skill names, and removes broad behavioral guidelines.
guidelines.md:40Agent Safety and Decision-Making Instructions Are Overridden
main.js:268Unverified GitHub Repositories Can Be Installed as Trusted Skills
main.js:301Unsanitized Skill Names Permit Filesystem Path Traversal
The skill installs code from GitHub search results by invoking git clone into the local skills directory, effectively importing untrusted third-party code based on a search workflow. Even though the repository name comes from GitHub metadata, this creates a supply-chain risk and can expose users to malicious repositories, unsafe post-install content, or later execution of attacker-controlled skill code.
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.
# SkillStore - OpenClaw Skill Manager
Search, install, and create OpenClaw skills with intelligent matching.
## Skill Metadata
The skill explicitly supports installing skills from GitHub, which implies fetching and introducing third-party code into the local OpenClaw skill workspace. Without clear warnings, trust boundaries, provenance checks, or review requirements, users may install untrusted skills that can execute harmful logic or persist malicious content locally.
The instruction to write content to markdown whenever a user says a trigger phrase encourages automatic persistence of arbitrary natural-language input without requiring scoping, consent, or sensitivity checks. This can lead to secrets, personal data, or transient context being stored on disk and later exposed through files, version control, logs, or subsequent agent actions.
The line mandates that all formal project documentation must be in English only. This is a language policy restriction stated in natural language, but the file does not offer user choice, opt-in, or a documented compliance-based justification for the constraint.
This markdown guidance tells developers to support multiple command patterns and fuzzy matching, but it does not define boundaries, exclusions, or negative examples for when a skill should not activate. That can encourage ambiguous trigger designs that overlap with ordinary language and cause unintended invocation.
The header comment states the tool is for 'search with semantic matching and threshold filtering', but the implementation also clones repositories and creates executable skill scaffolding on disk. This mismatch hides materially different side effects from users and reviewers, increasing the risk of unsafe execution or installation of untrusted content.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
try {
const results = await httpGet(
`https://api.github.com/search/repositories?q=openclaw+${encodeURIComponent(query)}+in:name,description&per_page=15`
);
if (!results.items) return [];
The install path writes to the local skills directory via git clone without an explicit safety warning that untrusted code is being fetched and stored locally. Users may interpret the prompt as a benign search action and approve installation without understanding the persistence and trust implications.
The skill can create new directories and write multiple files including an executable main.js under a user-influenced name, despite lacking manifest justification or guardrails. While intended as scaffolding, it is still a filesystem-mutating capability that could overwrite expectations, create confusing executables, or be abused in sensitive skill directories.
The create workflow immediately makes directories and writes several files, including an executable script, without a dedicated confirmation or warning about filesystem changes. Although the user invokes create, the absence of a summary/confirmation still reduces transparency and can lead to unintended persistent changes.
Detected: suspicious.dangerous_exec