T01 · Skill Instruction Hijacking
- Location
templates/SOUL.md:3- Finding
Persistent Agent Identity and Objective Hijacking
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is not proven malicious, but it installs persistent agent instructions that are hardcoded to serve the publisher's company and contains misleading security claims about network, credential, and hardening behavior.
Before installing, review and edit the persona templates so they name your organization and principal, not Gignaati or Yogesh. Back up the OpenClaw workspace, inspect the shell scripts, treat security-harden.sh as mostly an audit/checklist, avoid putting API keys in ~/.bashrc, and pin any Docker/model/skill dependencies before running them on a sensitive machine.
templates/SOUL.md:3Persistent Agent Identity and Objective Hijacking
templates/AGENTS.md:18Persistent Memory Poisoning and Uncontrolled Retention of Conversation Data
scripts/security-harden.sh:70Security Hardening Claims Do Not Match Implemented Controls
SKILL.md:177Unpinned External Artifacts and Persistent Mutable Container
SKILL.md:193Brave API Key Stored in Plaintext Shell Configuration
Appending an API key export line to ~/.bashrc establishes persistent plaintext credential storage in a shell startup file. Although this is not malware-style persistence in context, it is still a genuine secret-handling weakness because any local compromise, backup leak, or dotfile sync can expose the key.
estart=always
-p 8888:8080
-e SEARXNG_SECRET=$(openssl rand -hex 32)
searxng/searxng:latest
sleep 5 curl -s "http://127.0.0.1:8888/search?q=test&format=json" | head -c 100 echo "" echo "SearXNG is running at http://127.0.0.1:8888"
**Option B — Brave Search (built-in, costs $5/month):**
```bash
# Set your Brave API key
export BRAVE_API_KEY="BSA-your-key-here"
echo 'export BRAVE_API_KEY="BSA-your-key-here"' >> ~/.bashrc
# Configure in OpenClaw
openclaw configure --section web
bash {baseDir}/scripts/security-harden.sh
This script:
Restart the gateway:
sudo systemctl restart openclaw
sleep 3
systemctl status openclaw
Tool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.
**Performance tips:**
1. Use MoE models (like Qwen3.5-35B-A3B) — they activate fewer parameters per request, giving better speed-to-capability ratio
2. Set GPU to performance mode: `sudo nvpmodel -m 0 && sudo jetson_clocks`
3. Monitor thermals: GPU should stay below 85°C under sustained load
4. Keep at least 20GB RAM free for the OS and OpenClaw gateway
5. Use NVFP4 quantization for larger models (see NVIDIA playbook at build.nvidia.com/spark/nvfp4-quantization)
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
cp -r ~/.openclaw/workspace ~/.openclaw/workspace.jarvis-backup.$(date +%Y%m%d)
# Remove Jarvis-specific files
rm ~/.openclaw/workspace/SOUL.md
rm ~/.openclaw/workspace/IDENTITY.md
rm ~/.openclaw/workspace/HEARTBEAT.md
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
# Remove Jarvis-specific files
rm ~/.openclaw/workspace/SOUL.md
rm ~/.openclaw/workspace/IDENTITY.md
rm ~/.openclaw/workspace/HEARTBEAT.md
# Restart gateway
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
# Remove Jarvis-specific files
rm ~/.openclaw/workspace/SOUL.md
rm ~/.openclaw/workspace/IDENTITY.md
rm ~/.openclaw/workspace/HEARTBEAT.md
# Restart gateway
sudo systemctl restart openclaw
The documented behavior extends beyond Jarvis setup into service inspection, firewall/SSL/Tailscale guidance, logging, and workspace permission changes not reflected in the declared purpose. In a skill ecosystem, this mismatch is dangerous because users and automated tooling may trust the declared scope while the skill performs materially broader host configuration tasks.
The documented behavior extends beyond Jarvis setup into service inspection, firewall/SSL/Tailscale guidance, logging, and workspace permission changes not reflected in the declared purpose. In a skill ecosystem, this mismatch is dangerous because users and automated tooling may trust the declared scope while the skill performs materially broader host configuration tasks.
YARA rule matched a known malware signature (reverse shell, backdoor, ransomware, C2 framework, or info stealer).
estart=always
-p 8888:8080
-e SEARXNG_SECRET=$(openssl rand -hex 32)
searxng/searxng:latest
sleep 5 curl -s "http://127.0.0.1:8888/search?q=test&format=json" | head -c 100 echo "" echo "SearXNG is running at http://127.0.0.1:8888"
**Option B — Brave Search (built-in, costs $5/month):**
```bash
# Set your Brave API key
export BRAVE_API_KEY="BSA-your-key-here"
echo 'export BRAVE_API_KEY="BSA-your-key-here"' >> ~/.bashrc
# Configure in OpenClaw
openclaw configure --section web
bash {baseDir}/scripts/security-harden.sh
This script:
Restart the gateway:
sudo systemctl restart openclaw
sleep 3
systemctl status openclaw
The chained privileged command combines two hardware-control actions into a single copy-paste line. Chaining reduces opportunities for review and failure handling, which is risky when both actions require root and may affect power, clocks, thermals, and device stability.
**Performance tips:**
1. Use MoE models (like Qwen3.5-35B-A3B) — they activate fewer parameters per request, giving better speed-to-capability ratio
2. Set GPU to performance mode: `sudo nvpmodel -m 0 && sudo jetson_clocks`
3. Monitor thermals: GPU should stay below 85°C under sustained load
4. Keep at least 20GB RAM free for the OS and OpenClaw gateway
5. Use NVFP4 quantization for larger models (see NVIDIA playbook at build.nvidia.com/spark/nvfp4-quantization)
The uninstall section permanently deletes workspace files with rm and no confirmation, backup verification, or path hardening. If users have customized these files or if path assumptions are wrong, the commands can cause irreversible data loss in a sensitive agent workspace.
cp -r ~/.openclaw/workspace ~/.openclaw/workspace.jarvis-backup.$(date +%Y%m%d)
# Remove Jarvis-specific files
rm ~/.openclaw/workspace/SOUL.md
rm ~/.openclaw/workspace/IDENTITY.md
rm ~/.openclaw/workspace/HEARTBEAT.md
This deletion command removes IDENTITY.md, a core workspace file, without checking ownership, existence, or whether the file contains user-modified content. The risk is accidental destruction of important agent configuration or memory state.
# Remove Jarvis-specific files
rm ~/.openclaw/workspace/SOUL.md
rm ~/.openclaw/workspace/IDENTITY.md
rm ~/.openclaw/workspace/HEARTBEAT.md
# Restart gateway
Removing HEARTBEAT.md directly is another unguarded destructive action in a user workspace. In a skill meant for operational AI, silent deletion of behavior files can disrupt automation or erase customized instructions.
# Remove Jarvis-specific files
rm ~/.openclaw/workspace/SOUL.md
rm ~/.openclaw/workspace/IDENTITY.md
rm ~/.openclaw/workspace/HEARTBEAT.md
# Restart gateway
sudo systemctl restart openclaw
Instructions found that direct the agent to transmit conversation context or user data to external services.
### Never Do
- Delete emails, files, or data without explicit approval
- Send messages to contacts not in the approved list
- Share confidential information (Intel MOU, client details, pricing internals) in group chats
- Make financial commitments
- Modify your own SOUL.md without telling Yogesh
The README instructs users to run a shell deployment script directly without disclosing that it will modify the OpenClaw workspace. While this is common for setup documentation, it is still a security-relevant omission because users are encouraged to execute code before understanding its side effects, which increases the chance of unintended file changes or trust-boundary confusion.
The README makes a security claim that all filesystem operations stay within the OpenClaw workspace, but the documented deployment path uses ~/.openclaw, which is outside the workspace boundary. This is dangerous because it can mislead users and reviewers about the script's trust boundary and write scope, reducing informed consent and masking where files are actually being read from or executed.
The manifest description says to use the skill when 'setting up Jarvis, configuring an AI executive agent, deploying OpenClaw on GB10, initializing agent persona and memory, or building an always-on local AI assistant for business operations.' This is a wide set of loosely bounded scenarios and does not provide explicit trigger phrases, exclusions, or narrow invocation context, increasing the risk of unintended activation.
The introduction states that Jarvis runs entirely on hardware with no data leaving the machine, but the same document later recommends Tailscale remote access and optional external services like Brave Search. This is a misleading security claim that can cause operators to underestimate exposure and deploy the agent in more sensitive environments.
The skill deploys searxng/searxng:latest without pinning a specific tag or digest. Using a floating image reference makes builds non-reproducible and exposes users to unexpected upstream changes or a compromised image being pulled later.
The instructions tell users to export a Brave API key and append it directly to ~/.bashrc, creating long-lived plaintext credential storage. This increases the chance of accidental disclosure through shell history, backups, dotfile syncing, local compromise, or later file inspection by tools and agents.
The security model section claims the skill contains no external network calls or credential requests, yet earlier sections explicitly configure Brave Search, remote access, and web search. This kind of contradictory assurance can mislead users into trusting the deployment more than warranted and bypassing appropriate review.
The script's security declaration is inaccurate: it claims to only modify local OpenClaw configuration and firewall rules, but it also changes filesystem permissions in the workspace. Misleading declarations can cause operators to underestimate side effects and approve execution without understanding that local file access semantics will be altered.
The README makes a security claim that all filesystem operations remain within the OpenClaw workspace, but the documented deployment command executes a script from ~/.openclaw/skills/... under the user's home directory. This is dangerous because users may trust the skill's confinement guarantees and run scripts with reduced scrutiny, even though the installation and deployment path operates outside the stated boundary and could modify broader user-owned files.
The skill clearly instructs users to execute shell commands and helper scripts, yet it declares no explicit tool scope or allowed-tools. That mismatch weakens platform guardrails because the skill can prompt shell execution without transparent permission boundaries, increasing the chance of unintended command execution.
This markdown/manifest content describes invocation conditions such as 'setting up Jarvis,' 'configuring an AI executive agent,' and 'building an always-on local AI assistant' in a very broad way. Without explicit trigger phrases, exclusions, or narrower context limits, the skill could match many ordinary requests related to AI setup and unintentionally activate.
The Docker command pulls searxng/searxng:latest, which is mutable and can change over time without review. That creates a supply-chain risk: future runs may fetch a compromised or incompatible image and execute it locally with network exposure on port 8888.
No suspicious patterns detected.