T08 · Insecure Dependencies
- Location
requirements.txt:1- Finding
Unnecessary Unpinned Third-Party Dependencies Create Supply-Chain Risk
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This appears to be a legitimate figure-legend helper, but its draft package has under-scoped file-writing and install risks users should review before installing.
Review before installing. Use an isolated virtual environment and a trusted package index, or remove the unnecessary requirements. If you run the skill, keep --output inside your workspace, avoid overwriting existing files, and be cautious with unpublished or sensitive research figures because the documentation is unclear about the claimed network/API behavior.
requirements.txt:1Unnecessary Unpinned Third-Party Dependencies Create Supply-Chain Risk
scripts/main.py:316Unrestricted Output Path Allows Overwriting Arbitrary Writable Files
The skill advertises file-write capability via the CLI --output parameter and broader script execution, but it does not declare any explicit tool scope such as allowed tools or permissions. That mismatch can cause agents or reviewers to underestimate what the skill may do, increasing the chance of unintended file modification or policy bypass when the skill is invoked.
The trigger description is broad enough to activate on many research-related uploads or requests, without clearly constraining when the skill should run or what data classes are safe to process. In a system that may handle sensitive unpublished figures or biomedical imagery, over-broad invocation increases the risk of processing confidential data without sufficient user awareness or review.
The documentation explicitly mentions external API calls and file read/write behavior, yet it does not provide a clear user-facing warning about data leaving the local environment or being written to disk. For scientific figures, this can expose unpublished or sensitive research data to external services or create unexpected local artifacts, especially given the skill's broad research context.
Suspicious Unicode normalization or mixed-script content
The example uses --image.png as if it were a command-line flag, but the documented interface elsewhere requires --input <image_path>. This documentation contradicts the stated invocation pattern and could cause users or downstream agents to invoke the skill incorrectly.
The manifest says the skill supports bar charts, line graphs, scatter plots, box plots, heatmaps, and microscopy images, and generates figure legend text for those figure classes. This template file also provides Flow Cytometry and Western Blot legend templates, which expands the apparent supported figure types beyond the manifest description.
Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions.
dataclasses
enum
Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions.
dataclasses
enum
The manifest description limits the supported figure types to six categories and does not mention flow cytometry or western blot figures. In contrast, the code explicitly defines ChartType.FLOW and ChartType.WESTERN and provides full templates and CLI support for them, expanding the implemented behavior beyond the stated scope.
The CLI hard-limits output language choices to "en" and "zh", which imposes a locale constraint in user-facing behavior. The file does not document why only these languages are allowed or offer a broader user opt-in mechanism beyond this fixed list.
No suspicious patterns detected.