Back to skill

Security audit

Bizauto Flow Free

Security checks for vulnerabilities and agentic risk

Overview

This skill is a business-automation guide, but it gives users patterns for persistent automated workflows that can touch invoices, payments, accounts, messages, and external systems without enough built-in approval or lifecycle controls.

Install only if you want a Chinese-language business automation design skill and are prepared to review every generated cron, exec, API, email, database, and messaging action before use. Do not let it run unattended against invoices, payments, HR accounts, customer systems, or production data unless you add explicit approvals, dry-run defaults, least-privilege credentials, audit logs, expiration/removal procedures, and transaction limits.

Vulnerability Patterns
  • System PersistenceInstalls backdoors, hooks, services, or scheduled tasks that survive the run
  • 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
Findings (1)

T06 · System Persistence

Error
Location
SKILL.md:188
Finding

Persistent Scheduled Agent Execution Without Mandatory Safety Controls

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 188-193
Vulnerability Type: T06: System Persistence
Risk Level: High

Complete Code Snippet:

bash
cron add \
  --name "发票自动处理" \
  --cron "0 9 * * 1-5" \
  --tz "Asia/Shanghai" \
  --session isolated \
  --message "执行发票自动处理流程:1.检查新发票邮件 2.提取数据 3.匹配预算 4.调度付款 5.记录日志"

The snippet creates a recurring weekday task named “Automated Invoice Processing.” Its scheduled message instructs the Agent to inspect invoice email, extract data, match budgets, schedule payment, and record logs.

Technical Analysis

The Skill explicitly instructs the Agent to register a recurring cron task that continues to execute after the initiating interaction ends. This is a cross-session persistence mechanism under T06: System Persistence.

Task scheduling is part of the Skill's declared business-automation functionality, so the presence of cron support is not inherently unrelated or covert. However, this implementation exceeds a safe minimum-privilege design because the example directly combines persistence with potentially sensitive and consequential operations:

  • Access to invoice emails and attachments.
  • Processing of financial and business data.
  • Interaction with budget or accounting systems.
  • Scheduling of payments.
  • Repeated execution in an isolated Agent session.

The documented command does not enforce informed confirmation immediately before task installation. It also lacks an expiration date, execution-count limit, destination restrictions, restricted credentials, payment approval gate, or documented removal procedure. Consequently, a task may continue operating after the user's original intent or authorization has expired.

The broader guidance at SKILL.md:316-319 also recommends API access through exec curl, email access, file or database storage, messaging, and recurring cron execution. Since the Skill allows exec, an implementation c ...[truncated 1769 chars]

Remediation
View remediation

Remediation Suggestions

  1. Generate configuration without installing it by default. Return the proposed cron command as a preview and require a separate, explicit user instruction before registration.
  2. Require informed confirmation. Before installation, display the schedule, execution identity, accessed systems, requested permissions, data destinations, side effects, and removal procedure.
  3. Default to dry-run mode. Initial executions should inspect and report proposed actions without sending messages, modifying records, or scheduling payments.
  4. Add a mandatory approval gate for consequential actions. Payment creation, payment scheduling, account provisioning, permission changes, and external communications should require human approval.
  5. Constrain persistence. Set an expiration date, maximum execution count, and automatic disablement after repeated failures.
  6. Apply least-privilege credentials. Use workflow-specific credentials restricted to required mailboxes, API methods, records, and destinations. Payment-processing credentials should not be available to data-extraction steps.
  7. Restrict command and network access. Replace unrestricted exec and arbitrary curl usage with allowlisted APIs, fixed executable paths, validated arguments, and approved network destinations.
  8. Make scheduled definitions immutable. Validate and store a reviewed workflow definition rather than allowing each scheduled Agent session to reinterpret an unrestricted natural-language message.
  9. Implement input isolation. Treat emails, attachments, API responses, and retrieved documents as untrusted data that cannot alter Agent instructions or authorization boundaries.
  10. Provide lifecycle management. Document commands to list, inspect, pause, audit, and delete every scheduled task created by the Skill.
  11. Maintain audit logs and alerts. Record task creation, modifications, accesses, proposed actions, approvals ...[truncated 255 chars]
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 (9)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The skill covers creating scheduled tasks, integrating external systems, and handling business data, but it lacks a unified risk notice and consent model for potentially impactful actions. Without prominent warnings about side effects, credentials, production changes, and data sensitivity, users may apply generated commands or workflows inappropriately, leading to operational or data-security incidents.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The trigger phrase is broad enough to overlap with ordinary business-assistance requests, which can cause the skill to activate unexpectedly in unrelated contexts. In a skill that is allowed to use exec and proposes cron creation and external integrations, accidental activation increases the chance of unintended workflow design, command generation, or action-oriented guidance without clear user intent.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The listed commands are generic and action-oriented, making non-specific user messages likely to be interpreted as requests for automation, scheduling, or integration. Because the skill includes implementation patterns for cron and external-system operations, ambiguous triggering can lead to unsafe transitions from advice into executable or semi-executable output.

Content

No source excerpt is available for this finding.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
91% confidence
Finding

The workflow example includes an automatic approval path for invoices below a monetary threshold, which is a form of autonomous business decision-making with financial consequences. In a payment-related context, such logic can approve fraudulent, malformed, duplicate, or policy-violating invoices without human review, especially since the skill is framed as actionable workflow design rather than purely academic discussion.

Content

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

md
action: "decide"
      rules:
        - condition: "amount < 5000"
          goto: "step_auto_approve"
        - condition: "amount >= 5000"
          goto: "step_manager_review"

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The capability keyword list is excessively broad and includes generic LLM/application terms, which raises the risk of the skill matching many unrelated conversations. In context, this is more dangerous than a normal routing bug because the skill has tool access and discusses data handling, integrations, and task scheduling, so over-triggering can expand its operational footprint beyond the user's actual intent.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

L356 明确写明“免费版聚焦审计与设计阶段”,但同一文件在 L188-L194 提供可执行 cron 创建命令,在 L316-L323 将能力扩展到 API 调用、邮件读取/SMTP、Slack/Telegram 通知、数据库存储等实际实施与集成操作。这超出了“审计与设计”的表述边界,形成了技能描述与实际能力范围的不一致。

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

L356 的 FAQ 明确声称免费版聚焦“审计与设计阶段”,但前文 L182-L199 已提供“定时任务实现”,L312-L323 还列出 API 调用、SMTP、Slack/Telegram、数据库等实施能力。这不是简单遗漏,而是说明文字与技能实际意图/操作范围直接冲突。

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
87% confidence
Finding

L410 明确写明“完全中文化表达,适配中文用户业务场景”,且全文命令、示例与说明均默认中文,未向用户提供语言或本地化选项。根据规则,若未提供用户选择,强制单一语言可能构成语言/locale 政策问题。

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

L434 声称免费版限制“多平台集成示例”,但 L312-L323 已明确给出 web/API、邮件、Slack/Telegram、数据库、cron 等多类平台和集成方式映射,且前文多个场景也包含具体集成模式。该限制说明与文档已提供的内容存在直接冲突。

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.