Back to skill

Security audit

Train Robotic AI Models using Qualia

Security checks for vulnerabilities and agentic risk

Overview

This is a coherent Qualia cloud-training skill, with expected API-key and remote job-management risks that users should handle carefully.

Install only if you trust Qualia with the dataset IDs, job metadata, and training parameters you provide. Store QUALIA_API_KEY through managed secrets when possible, avoid sharing it in prompts or logs, and require explicit user approval before launching paid training, cancelling jobs, or deleting projects.

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
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Rogue AgentSelf-Modification, Session Persistence
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
Findings (10)

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
90% confidence
Finding

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).

Content

Scanner excerpt · scripts/qualia.sh (reported line 75)May include surrounding context.

sh
echo "Usage: qualia.sh project-delete <project_id>" >&2
      exit 1
    fi
    result=$(qapi DELETE "/v1/projects/${project_id}")
    echo "$result" | jq -r 'if .deleted then "Deleted project: \(.project_id)" else "Failed to delete project" end'
    ;;

Session Persistence

Medium
Category
Rogue Agent
Confidence
60% confidence
Finding

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.

Content

Scanner excerpt · README.md (reported line 45)May include surrounding context.

Manual install is also fine:

bash
mkdir -p ~/.openclaw/workspace/skills
git clone https://github.com/fabbe1999/qualia-agent-skill ~/.openclaw/workspace/skills/qualia-skill

Skill Enumeration

Medium
Category
Agent Snooping
Confidence
80% confidence
Finding

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.

Content

Scanner excerpt · README.md (reported line 96)May include surrounding context.

md
If `openclaw skills install` says installation completed but the agent does not mention the Qualia skill on the next turn, check that:

1. the files exist at `~/.openclaw/workspace/skills/qualia-skill/SKILL.md`;
2. the skill is not disabled under `skills.entries.qualia.enabled`;
3. `QUALIA_API_KEY` is configured for the agent environment; and
4. you started a fresh agent turn/session after installing.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
89% confidence
Finding

The skill documentation clearly instructs use of shell, environment variables, and networked API access, but the manifest does not declare a restrictive tool scope such as permissions or allowed-tools. In an agent ecosystem, this weakens policy enforcement and can let the skill run with broader capabilities than users or orchestrators expect, increasing the blast radius if the skill is misused or later modified.

Content

No source excerpt is available for this finding.

Session Persistence

Medium
Category
Rogue Agent
Confidence
83% confidence
Finding

The skill recommends storing a long-lived API key in shell environment variables and in a persistent local configuration file so agent runs can inherit it. Persistent credential storage increases exposure to accidental leakage through logs, subprocess inheritance, misconfigured file permissions, or other skills running in the same environment.

Content

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

Configure API key

  1. Sign up at app.qualiastudios.dev
  2. Create an API key (Settings -> API Keys)
  3. Set the env var for local shell use:
    bash
    export QUALIA_API_KEY="your-api-key"
    

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill exposes a destructive project-delete command without an explicit warning that deletion may be irreversible or remove associated job metadata. In agent-driven workflows, users may approve actions based on brief summaries, so missing safety language materially increases the risk of accidental destructive operations.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
70% 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 · scripts/qualia.sh (reported line 19)May include surrounding context.

sh
local path="$2"
  local body="${3:-}"
  if [[ -n "$body" ]]; then
    curl -s -X "$method" "${API}${path}" \
      -H "Content-Type: application/json" \
      -H "X-API-Key: $QUALIA_API_KEY" \
      -d "$body"

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The qapi helper performs authenticated HTTP requests to an external service, and commands such as project creation, dataset inspection, hyperparameter validation, and fine-tuning transmit user-provided data to that service. While the code makes the network behavior visible to a shell reader, it does not provide any user-facing disclosure about sending data off-system beyond the generic CLI description.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
83% confidence
Finding

The documented cancel command can interrupt active training and may waste credits or lose in-progress work, but the documentation does not warn the operator before presenting it as a routine management action. This is primarily an operational safety issue that becomes more relevant when an autonomous agent may invoke commands without nuanced human review.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The file requires QUALIA_API_KEY and injects it into the X-API-Key header for every API call, but it does not include any warning or guidance about handling this credential securely. The brief requirement comment notes the variable is needed, but it does not disclose that a secret is being used for authenticated remote operations.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.