Back to skill

Security audit

达鑫车队加气记录

Security checks for vulnerabilities and agentic risk

Overview

The skill is a straightforward Chinese fleet refueling CSV generator, but it needs review because it writes sensitive spreadsheet reports to a hardcoded Desktop path and does not address spreadsheet formula injection.

Install only if you are comfortable with a Chinese-language workflow that writes fleet and payment reports to a fixed Windows Desktop path. Before using it on untrusted or externally supplied records, add confirmation, unique-file or overwrite protection, a user-selected output folder, and CSV formula neutralization for fields beginning with characters such as =, +, -, or @.

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 (1)

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:14
Finding

Spreadsheet Formula Injection Through Untrusted CSV Fields

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 14-43
Vulnerability Type: CSV/spreadsheet formula injection
Risk Level: Medium

Vulnerable Instruction Snippet

The following is an English rendering of the complete relevant instruction segment:

text
Input format:
Date VehiclePlate Station Volume×UnitPrice=Amount [CardDeduction/Cash] [Mileage]

Generate the refueling master table using these nine columns:
SequenceNumber,RefuelingDate,VehiclePlate,Mileage,Station,Volume(L),UnitPrice,Amount,CardDeductionFlag

Extract card-deduction records when the card-deduction flag equals "CardDeduction".

Generate the card-deduction subtable:
Date,ProjectPoint,ProjectTarget,ProjectDetails,Flag,Summary,IncomeAmount,ExpenseAmount
WeChat,He Weiguang,AdvancePayment+Station,,Receive+VehiclePlate+Station+RefuelingFee+Expression+AmountDeductedFrom+StationRechargeCard,Amount,0

Date,ProjectPoint,ProjectTarget,ProjectDetails,Flag,Summary,IncomeAmount,ExpenseAmount
WeChat,VehiclePlate,Refueling,,Pay+VehiclePlate+Station+RefuelingFee+Expression+AmountDeductedFrom+StationRechargeCard,0,Amount

Technical Analysis

The Skill directs the agent to place user-controlled vehicle plates, station names, and related values directly into a CSV file and into derived accounting-summary cells. It does not require spreadsheet-safe encoding or neutralization of values beginning with formula indicators such as =, +, -, or @.

CSV quoting alone does not reliably prevent this vulnerability because spreadsheet applications can still interpret a quoted cell as a formula after parsing the CSV. Consequently, an attacker-controlled textual field can become active spreadsheet content when an operator opens the generated report.

Strict numeric validation is also absent from the documented workflow. Fields presented as mileage, volume, unit price, or amount should therefore not be assumed safe merely bec ...[truncated 1556 chars]

Remediation
View remediation

Remediation Suggestions

  1. Treat every user-controlled CSV field as untrusted, including vehicle plates, station names, dates, mileage, and transaction values.
  2. Before serialization, neutralize any textual cell whose first non-whitespace character is =, +, -, or @. Use a spreadsheet-compatible text prefix such as a single quote, or another neutralization method appropriate to the target spreadsheet software.
  3. Apply standard CSV encoding after formula neutralization:
    • Enclose fields containing commas, quotation marks, carriage returns, or newlines in double quotes.
    • Escape each embedded double quote by doubling it.
  4. Parse numeric fields using strict allow-listed formats. Reject values containing formula operators, control characters, unexpected whitespace, or nonnumeric suffixes.
  5. Validate dates, vehicle plates, station names, and mileage against documented length and character constraints.
  6. Sanitize source values before constructing derived summary fields so unsafe content cannot be propagated into multiple cells.
  7. Add explicit security instructions and adversarial examples to SKILL.md.
  8. Add tests covering cells beginning with each formula indicator, values with leading whitespace, embedded commas, quotation marks, and multiline input.
  9. Where feasible, generate a structured workbook format with cells explicitly typed as text instead of relying on CSV type inference.
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (4)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The manifest description names a specific trigger phrase (「加气汇总」) but also lists broader activation scenarios such as 「输入加气记录」「录入加气数据」, which are generic task descriptions rather than narrowly bounded triggers. Those phrases overlap with normal user requests and the file does not provide exclusion conditions or negative examples to clarify when the skill should not activate.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill instructs writing files directly to a fixed Desktop path on the user's machine without warning, confirmation, or overwrite safeguards. This can lead to unintended file creation, privacy exposure of sensitive fleet/financial records, or overwriting existing files in a highly visible location, especially if invoked accidentally or repeatedly.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
78% confidence
Finding

The natural-language instructions and invocation phrases are entirely Chinese, including the stated trigger 「加气汇总」, and the file does not mention that the skill is limited to Chinese-speaking users or offer an alternative language option. Under the stated policy, forcing a specific language without opt-in can be a locale-policy issue unless clearly justified.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
96% confidence
Finding

This markdown file contains user-facing reference material exclusively in Chinese, and there is no indication that users may choose another language or that the locale restriction is intentional. Under the policy rule, forcing a specific language without user opt-in is a natural-language policy concern.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.