Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

purchase-record

v1.0.1

Automatically parses input like "采购 <日期> <物品名称> <价格>" and records the purchase details into purchase_record.xlsx on the desktop.

0· 142·1 current·1 all-time
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
The code and SKILL.md align with the stated purpose: parsing '采购 MMDD 名称 价格' and appending to purchase_record.xlsx. However multiple files hardcode an absolute Windows path with a specific username (C:\Users\Administrator.rjazz-2022BWPUD\Desktop\purchase_record.xlsx) while one Python module uses Path.home()/Desktop — inconsistent and not portable. The presence of both Node and Python implementations is redundant but plausible.
!
Instruction Scope
index.js spawns a shell command (exec) to run a Python script using the raw user message interpolated into the command line. Although double quotes are escaped, this pattern can be prone to shell injection or unexpected behavior on different shells. All file I/O is limited to a Desktop Excel file (consistent with purpose), but executing a subprocess with user-provided text broadens the attack surface beyond simple parsing.
!
Install Mechanism
There is no install spec despite Node and Python code that depend on packages (exceljs in JS; openpyxl in Python). Required binaries are declared as 'none', yet the runtime relies on 'python' and Node. No instructions for installing dependencies are provided — this is an inconsistency and a practical deployment risk.
Credentials
The skill requests no credentials or environment variables. The only sensitive resource it needs is filesystem access to the user's Desktop Excel file, which is appropriate for the stated purpose. That said, the hardcoded username path could point at files belonging to a different user account if run in a different environment.
Persistence & Privilege
The skill is not always-enabled and is user-invocable only. It does not request elevated privileges or modify other skills or system settings. Its impact is limited to creating/modifying the Excel file on the Desktop.
What to consider before installing
This skill appears to implement the described purchase-record functionality, but there are practical and security issues to consider before installing: - Hardcoded paths: Several scripts use an absolute Windows path with a specific username. If your environment uses a different user or OS, the skill will fail or attempt to read/write an unexpected location. Prefer the record.py approach (Path.home()/Desktop) or change the path to a configurable value. - Undeclared runtime dependencies: The package includes Node and Python code and requires libraries (exceljs, openpyxl) and a Python interpreter, but the manifest declares no required binaries or install steps. Make sure you have Python, Node, and the needed packages installed, or the skill will fail. - Shell execution risk: index.js builds a shell command with the user message and runs it via exec. This can be dangerous (shell injection) if the message contains unexpected characters. Consider reviewing and sanitizing inputs or using spawn with an argument array (no shell) or invoking Python code directly via require/spawn without shell interpolation. - Data safety: The skill will create or modify purchase_record.xlsx on your Desktop and may overwrite cells. Back up any important files before using. - Code quality issues: Some scripts contain bugs/mismatches (e.g., test.js calls a non-existent handlePurchase export). The Python parser regex in add_purchase.py appears malformed. Expect potential runtime errors. Recommendation: If you want to use this skill, inspect and modify the code first: (1) fix the hardcoded path to be configurable or use Path.home(); (2) replace exec-based invocation with a safer IPC mechanism (spawn with args or call Python functions directly); (3) ensure dependency installation is documented and performed in a sandboxed environment; (4) back up the Excel file. If you are not comfortable reviewing/modifying code, do not install it in a production environment.
scripts/index.js:14
Shell command execution detected (child_process).
Patterns worth reviewing
These patterns may indicate risky behavior. Check the VirusTotal and OpenClaw results above for context-aware analysis before installing.

Like a lobster shell, security has layers — review code before you run it.

latestvk973znva6pfyxe6r14hf2nm5ph833sg9

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Comments