Back to skill

Security audit

Ai Automation Workflows

Security checks for vulnerabilities and agentic risk

Overview

This AI workflow skill is coherent, but it recommends unsafe installation and under-scoped automation patterns that can run repeatedly or send raw outputs outside your environment.

Install only after reviewing the installer source and using pinned, verified downloads instead of curl-to-shell or unpinned npx. If you use the automation examples, run them under a low-privilege account, set spending and storage limits, keep cron scripts in protected paths, know how to remove scheduled jobs, and redact webhook alerts so prompts, outputs, tokens, and file paths are not sent externally.

Vulnerability Patterns
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • System PersistenceInstalls backdoors, hooks, services, or scheduled tasks that survive the run
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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
Findings (4)

T03 · Remote Payload Retrieval and Execution

Error
Location
SKILL.md:16
Finding

Unverified Remote Installer Executed Directly by a Shell

Content
View full analysis
Remediation
View remediation
/install.sh" printf '%s %s\n' '' 'infsh-installer.sh' | sha256sum -c - less infsh-installer.sh sh infsh-installer.sh ``` The trusted digest must not be retrieved from the same mutable response immediately before verification. ]]>

T06 · System Persistence

Warning
Location
SKILL.md:186
Finding

Recurring Workflow Execution Through User Crontab

Content
View full analysis
> /var/log/ai-automation.log 2>&1 # Weekly report every Monday at 8 AM 0 8 * * 1 /path/to/weekly_report.sh >> /var/log/ai-automation.log 2>&1 # Every 6 hours: social media content 0 */6 * * * /path/to/social_content.sh >> /var/log/ai-automation.log 2>&1 ``` ### Technical Analysis The instructions create recurring execution that survives the current shell session and continues without further user interaction. Scheduled automation is consistent with the Skill's declared functionality, so this is not evidence of covert persistence by itself. Nevertheless, it creates a durable execution mechanism with insufficient hardening guidance. The examples do not require immutable or access-controlled script paths, a restricted execution account, a controlled environment, execution time limits, or removal instructions. If an attacker can modify any referenced script, the next cron invocation will execute the attacker's logic. Cron jobs may also inherit a limited or unexpected environment, while credentials needed by `infsh` may remain available through files associated with the scheduling user. The `/var/log` destinations may additionally require permissions unavailable to an ordinary user. Running the job or editing crontab under a privileged account solely to accommodate these paths would exceed the minimum privileges needed for content generation. ### Attack Path 1. A user creates one or more documented cron entries. 2. The entries point to scripts in writable or insufficiently protected locations. 3. An attacker, compromised dependency, or another local process modifies a referenced script. 4. Cron later invokes the modified script automatically. 5. The injected commands exec ...[truncated 601 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:263
Finding

Workflow Output and Command Arguments Exposed to an Alert Webhook

Content
View full analysis
Remediation
View remediation

T08 · Insecure Dependencies

Warning
Location
SKILL.md:388
Finding

Unpinned Remote Skill Installation Through npx

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Rogue AgentSelf-Modification, Session Persistence
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
Findings (12)

External Script Fetching

High
Category
Supply Chain
Confidence
98% confidence
Finding

curl -fsSL https://cli.inference.sh | sh pipes a remote script directly into the shell, creating immediate arbitrary code execution if the host, CDN, TLS path, or served script is compromised. The nearby note about checksum verification does not mitigate the risk for this exact one-liner because the script itself is executed before the user independently verifies anything.

Content

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

Quick Start

bash
curl -fsSL https://cli.inference.sh | sh && infsh login

# Simple automation: Generate daily image
infsh app run falai/flux-dev --input '{

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The trigger list in the manifest-style front matter includes broad phrases such as "batch processing," "automated content," and "automation script" without clear scope boundaries or exclusion conditions. Because this is a markdown/manifest context, these vague triggers could cause unintended activation for generic workflow or content requests.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The scheduled automation examples create recurring jobs and write outputs/logs to disk without prominently warning about unattended execution, file growth, or repeated external API use. In practice, this can lead to persistent background activity, unexpected costs, storage consumption, and unattended processing of sensitive data.

Content

No source excerpt is available for this finding.

Session Persistence

Medium
Category
Rogue Agent
Confidence
87% confidence
Finding

Using crontab -e establishes persistent scheduled execution, which can continue running unattended after the initial session ends. In an automation skill, persistence increases risk because mistakes, unexpected prompts, or compromised scripts can repeatedly execute and generate ongoing network calls, file writes, or costs.

Content

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

bash
# Edit crontab
crontab -e

# Daily content generation at 9 AM
0 9 * * * /path/to/daily_content.sh >> /var/log/ai-automation.log 2>&1

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The webhook alerting example sends command output and command context to an external endpoint but does not clearly warn that failures may include prompts, model responses, file paths, tokens, or other sensitive content. This omission makes accidental data disclosure more likely, especially in automation contexts where logs and stderr often contain secrets.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
94% confidence
Finding

The curl -X POST alert transmits error and command fields to an external webhook, which is a direct exfiltration path. Since command output often contains sensitive operational details or secrets, a failed run could leak internal data outside the environment.

Content

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

md
if [ $status -ne 0 ]; then
    # Send alert (webhook, email, etc.)
    curl -X POST "https://your-webhook.com/alert" \
      -H "Content-Type: application/json" \
      -d "{\"error\": \"$result\", \"command\": \"$*\"}"
  fi

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The skill declares only Bash(infsh *) as an allowed tool scope, but the example uses arbitrary curl to POST data to an external webhook. That broadens capability beyond the declared boundary and could mislead users or downstream systems into approving behavior that includes uncontrolled network exfiltration.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The Python example invokes subprocess.run(...), which is broader than the skill's declared infsh-only command capability. This mismatch weakens trust boundaries because users may assume the skill is restricted when it actually demonstrates a general-purpose command execution pattern.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding

The skill recommends running npx skills add ... without pinning an exact package version, which allows whatever version is current at execution time to be fetched and run. This creates a supply-chain risk because a compromised or maliciously updated package could execute unexpected code on the user's system.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding

This npx skills add ... invocation is unpinned, so it resolves code dynamically from the registry at runtime. If the package or dependency chain is tampered with, users may execute attacker-controlled code simply by following the example.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding

An unversioned npx skills command introduces nondeterministic code execution and supply-chain exposure. Because npx may download and run a package immediately, the example normalizes executing mutable remote code.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding

Referencing npx skills without a pinned version leaves the runtime package selection open-ended and vulnerable to package compromise, typo-squatting, or malicious updates. In a skill intended for automation, this risk is amplified because users may run setup commands quickly and repeatedly.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.