Back to skill

Security audit

Ai Workflow Red Team Lite

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a defensive AI workflow review tool, but it needs human review because its documented command and script can mishandle user-controlled paths and overwrite writable local files.

Install only if you are comfortable with a local Python helper that reads paths you provide and may write report files. Use dry-run/stdout or a dedicated output directory, avoid passing untrusted filenames through a shell command, and do not let it run with access to sensitive workspace or home-directory files until path handling is tightened.

Vulnerability Patterns
  • 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
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (2)

T09 · Insecure Skill Coding Practices

Error
Location
SKILL.md:33
Finding

Shell Command Injection Through Unquoted User-Controlled Path Arguments

Content
View full analysis
--output ` ``` The input and output placeholders above are rendered in English while preserving the command structure found in the source. ### Technical Analysis The Skill instructs an agent to construct and execute a shell command using input and output paths without quoting or validating those arguments. If either placeholder is derived from untrusted user input, shell metacharacters, command substitutions, redirection operators, or whitespace can alter the intended command. The Python script itself does not invoke a shell. The vulnerability arises when an agent follows the Skill instruction by interpolating user-controlled values into a command string and passing that string to a shell. Quoting only `{baseDir}` does not protect the two unquoted path arguments. Exploitability depends on the hosting agent exposing a shell-style execution tool and inserting requested paths directly into the documented command. ### Attack Path 1. An attacker invokes the Skill and supplies an input or output filename containing shell syntax. 2. The agent follows `SKILL.md:33-34` and substitutes that value into the unquoted command template. 3. The agent submits the resulting string to a shell or shell-compatible execution tool. 4. The shell interprets the embedded syntax rather than treating the entire value as one filename. 5. The injected command executes with the operating-system privileges and environment access of the agent process. ### Impact Assessment Successful exploitation permits arbitrary command execution under the account running the agent. The resulting scope can include: - Reading files accessible to the agent account. - Modifying ...[truncated 401 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/run.py:275
Finding

Unrestricted Arbitrary File Write Through the Output Argument

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (13)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The trigger phrases are generic enough to overlap with normal user requests, which can cause the skill to activate in situations broader than intended. In a security-oriented skill, ambiguous activation increases the chance of unsolicited red-team style analysis on ordinary content, potentially exposing sensitive workflow details or bypassing user expectations about when this capability should engage.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The entire self-check document is written in Chinese and presents the skill assessment only in that language, with no indication that users may choose another language or that the locale restriction is required for a region-specific purpose. Under the policy, a language constraint without opt-in or clear justification is a natural-language policy violation.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
94% confidence
Finding

The skill advertises executable capability via python3 and references local files/templates, but it does not explicitly declare tool scope such as shell, file read, or file write permissions. This creates a trust and review gap: a host may expose broader capabilities than users or policy expect, increasing the chance of unintended command execution or filesystem access in a security-sensitive red-team context.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
84% confidence
Finding

The skill description and primary instructions are written entirely in Chinese, which effectively constrains the interaction language without stating that users may choose another language. Under the policy, language or locale restrictions should either be optional or explicitly justified.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The file is entirely written as a Chinese-only skill example and provides no indication that language choice is optional or user-configurable. Under the policy, forcing a specific language without user opt-in can be a natural-language policy violation unless clearly justified as region-specific.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

This markdown file presents all user-facing content in Chinese and does not indicate that the language is optional, user-selected, or required for a justified region-specific purpose. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The title explicitly defines the template in Chinese, indicating the skill output is expected in a specific language. There is no accompanying note offering a language choice or explaining that Chinese is required for a justified region-specific use case.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The generated report text is hard-coded in Chinese throughout the reporting functions, which imposes a specific language on users regardless of their preferences. This is a natural-language policy concern because the script does not offer a locale option or document that it is intentionally limited to a Chinese-only context.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

The skill_audit path validates repository file presence and SKILL.md frontmatter structure for a skill package. That capability is about packaging/compliance validation, not about exercising misuse paths, boundary failures, or data leakage risks in AI workflows.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The manifest describes a skill for lightweight red-team exercises on AI automation workflows, emphasizing misuse paths, boundary failures, and data leakage risk. However, the dispatcher supports broad modes including generic structured summarization, directory inventory, CSV profiling, and skill packaging checks, which are general-purpose reporting/audit functions rather than AI-workflow-specific red teaming.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

All user-facing instructions and examples in the file are presented in Chinese, and the document does not state that the skill is China-region-specific or provide an opt-in language choice. This can violate a language/locale policy when users are expected to be able to interact without being forced into a specific language.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Low
Category
Not specified by scanner
Confidence
80% confidence
Finding

directory_report and csv_report generate broad inventory-style reports such as extension distributions, markdown headings, and field uniqueness summaries. These are useful general audit utilities, but the manifest positions the skill as a lightweight AI workflow red-team tool focused on misuse and leakage risk, not as a general filesystem or dataset profiler.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

The heading uses a Chinese-only title for the smoke test, which suggests a language-specific presentation without any nearby indication that users can choose another language or that the locale restriction is required. Under the policy, forced language or locale without opt-in can be a natural-language policy violation.

Content

No source excerpt is available for this finding.