Back to skill

Security audit

IronClaw AI

Security checks for vulnerabilities and agentic risk

Overview

This skill is a coherent productivity tracker, but it can automatically send personal productivity and sleep data to a configurable external service and run recurring notification polls without clear opt-in controls.

Review carefully before installing. Only use this with a trusted IRONCLAW_SERVICE_URL, clear data-retention expectations, and explicit acceptance that routine mission, habit, sleep, and coaching inputs may be stored remotely. Scheduled automations should be disabled or made opt-in unless you want recurring external polling and unsolicited coaching messages.

Vulnerability Patterns
  • System PersistenceInstalls backdoors, hooks, services, or scheduled tasks that survive the run
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (2)

T09 · Insecure Skill Coding Practices

Error
Location
SKILL.md:35
Finding

Unvalidated External Service URL Enables Sensitive Data Exfiltration and Potential SSRF

Content
View full analysis
" }` 2. Show the API response to the user 3. Do NOT write to memory files instead of calling the API 4. Do NOT say "saya sudah mencatat" or simulate the result — the API is the system of record 5. Do NOT use `` tags or narrate what you "would" do If `IRONCLAW_SERVICE_URL` is not set, stop and tell the user: > "IRONCLAW_SERVICE_URL belum dikonfigurasi di environment variables." ``` The same destination is used for all commands: ```markdown All commands are dispatched via `POST ${IRONCLAW_SERVICE_URL}/commands` with body `{ "command": "" }`. ``` The automatic routing scope is intentionally broad: ```markdown **Key rule:** If the user says they will do something in N minutes/hours — regardless of whether it is work, travel, rest, or anything else — create a mission with that ETA. Do NOT skip this because the activity seems non-work-related. ``` ### Technical Analysis The skill mandates immediate transmission of generated commands to an endpoint controlled entirely by the `IRONCLAW_SERVICE_URL` environment variable. It does not impose: - An HTTPS requirement - A trusted-host or domain allowlist - IP address or private-network restrictions - Endpoint identity verification - Request authentication - User confirmation before the first disclosure - Restrictions on sensitive notes, sleep details, schedules, or activity descriptions The broad natural-language triggers cause ordinary statements about work, travel, rest, sleep, and personal routines to be converted into o ...[truncated 2244 chars]
Remediation
View remediation

T06 · System Persistence

Warning
Location
SKILL.md:425
Finding

Recurring External Automations Create Persistent Unvalidated Network Communication

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (7)

Vague Triggers

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The trigger scope is extremely broad, covering ordinary productivity, habits, sleep, goals, coaching, and common Indonesian/English phrasing. This makes accidental activation likely, which can cause routine conversation to be converted into external API commands and transmit sensitive behavioral data without clear user intent.

Content

No source excerpt is available for this finding.

Vague Triggers

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The natural-language mapping includes many ambiguous phrases and hard rules such as always triggering mission creation for common future-tense statements. Because the skill is instructed to immediately call the API, ambiguous or casual speech can produce unintended state changes, logging, and background follow-up prompts.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The manifest and description present the skill as routing only to a limited set of slash-command functions, but the body also authorizes extra endpoints for health checks, notification polling, and coaching queries. That mismatch weakens user and platform review, because additional network behaviors and data flows can occur beyond what the declared interface suggests.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill routinely sends user activity, sleep, goals, habits, and coaching-related content to an external service, but the overview does not clearly warn users that this data leaves the local assistant context. That omission undermines informed consent for potentially sensitive productivity and wellness data.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The file states that all responses must use Bahasa Indonesia, while earlier metadata says the skill is for requests in English or Indonesian and supports both en and id. Forcing a single language for all responses without user choice is a natural-language locale policy violation.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill defines autonomous scheduled actions that poll external endpoints and deliver messages without a user-initiated request. For a prompt skill advertised as command routing, this expands capability into background monitoring and unsolicited outbound traffic, increasing privacy and abuse risk if the remote service or configuration is compromised.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

Scheduled notifications and monitoring are configured to make recurring outbound requests in the background, but there is no clear warning or consent language about this ongoing activity. Users may reasonably expect a command-routing skill to act only when invoked, not to poll and push messages on a schedule.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.