T08 · Insecure Dependencies
- Location
SKILL.md:13- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is a coherent Python automation toolkit, but its bundled scripts have safety gaps that could move or overwrite local files or create risky spreadsheet output.
Review this skill before installing if you plan to use the bundled scripts on important folders or untrusted CSV files. Run file-renaming operations only on test copies or with dry-run first, avoid broad directories, use pinned dependencies in a virtual environment, and sanitize CSV values before converting untrusted data to Excel.
SKILL.md:13Unpinned Third-Party Dependency Installation
scripts/rename_batch.py:39Batch Rename Destination Path Escape
scripts/rename_batch.py:17Duplicate Rename Destinations Can Cause Data Loss
scripts/csv_to_excel.py:22CSV-to-Excel Formula Injection
The skill explicitly includes batch file processing patterns that read and overwrite files recursively, but the description and guidance do not warn users about destructive behavior, scope control, backups, or dry-run validation. In an automation skill focused on bulk file and system tasks, this omission increases the chance of unintended mass modification or data loss from overbroad paths or misuse.
This markdown reference includes pd.read_html("https://table-page.com"), which causes a network request to an external site, but the document does not warn that the example fetches remote content. For markdown files, SQP-2 applies when behaviour affecting privacy or system/network activity is described without disclosure.
This markdown file includes code that generates and saves a PDF to "output.pdf" via reportlab, which is a file-writing operation. The surrounding documentation does not include any warning that running the example will create or potentially overwrite a local file.
The fpdf2 example calls pdf.output("output.pdf"), which writes a file to disk. The markdown presents this as a simple example but does not warn users about the file creation or possible overwrite of an existing file with the same name.
The merge/split section ends with writer.write("merged.pdf"), which creates a new file on disk. There is no accompanying note in the markdown warning that executing the example will write an output file and could overwrite an existing file if adapted carelessly.
No suspicious patterns detected.