T08 · Insecure Dependencies
- Location
SKILL.md:64- Finding
Unpinned Third-Party Dependencies Installed During Project Initialization
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
Casely is a coherent QA document-to-test-case workflow, but its setup and Excel export have concrete safety issues users should review before installing.
Install only if you are comfortable with the skill creating project files, reading requirement/example documents, and modifying the repository Python environment during setup. Review or pin the dependencies before running /init, and treat exported XLSX files as untrusted unless formula injection is fixed by escaping values that begin with formula-triggering characters.
SKILL.md:64Unpinned Third-Party Dependencies Installed During Project Initialization
scripts/export_to_xlsx.py:89Spreadsheet Formula Injection Through Untrusted Markdown Cell Values
The declared behavior presents the skill as a full QA workflow assistant, but the detected implementation appears to provide only document parsing/conversion and additional undeclared format handling. Description-to-behavior mismatch is dangerous because users and orchestrators may grant trust or invoke the skill under false assumptions, leading to unexpected file processing, broader document ingestion, or missed review of undeclared capabilities.
The skill instructs file reads and writes across a project workspace but does not declare any explicit tool scope or permissions boundaries. This creates an authorization ambiguity where an agent may perform filesystem actions without a clearly constrained contract, increasing the chance of overbroad access or unsafe execution.
The activation description is broad enough to match many ordinary requests involving testing, requirements, PDFs, DOCX, XLSX, or exports. Overbroad triggering can cause the wrong skill to activate and begin suggesting or performing filesystem and document-processing actions in contexts where the user did not intend that level of access.
The /init workflow instructs creation of directories, dependency installation, and environment modification via uv without an explicit warning or consent checkpoint. This is risky because it can change the local filesystem and Python environment, potentially installing packages or initializing project files unexpectedly.
The parsing workflow directs processing of requirement and example documents without a privacy or data-handling warning. Requirement documents often contain sensitive business logic, credentials, customer data, or proprietary content, so ingesting them without notice increases the risk of unintended exposure or mishandling.
The skill states that future test cases will be generated in the detected project language by default, without indicating an explicit user confirmation step. This can cause unintended language lock-in, especially when source examples are multilingual, attacker-supplied, or contain a misleading dominant language, leading to outputs that are inaccessible to the user or unsuitable for downstream QA workflows.
This JSON eval file is a manifest-type file, so vague trigger review applies. The phrase "Everything looks good. Export the generated test cases to a formatted Excel file for my TMS." mixes a generic conversational lead-in with the requested action, and it does not define any narrower activation constraints or exclusions, which could make invocation boundaries less specific.
No suspicious patterns detected.