T08 · Insecure Dependencies
- Location
SKILL.md:7- Finding
Unpinned Automatic Installation of a Globally Scoped npm Package
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is a coherent form-builder wrapper, but it auto-installs an unpinned global npm CLI and gives weak guidance for SMTP secrets and collected form data.
Review before installing. Prefer a pinned or locally installed gatecrash-forms package, inspect the npm package source, avoid putting real SMTP passwords directly in shell commands, and treat response files as sensitive because they may contain personal data.
SKILL.md:7Unpinned Automatic Installation of a Globally Scoped npm Package
SKILL.md:70SMTP Password Exposed Through Command-Line Configuration Guidance
The README instructs users to place an SMTP password directly into a CLI configuration command without any warning about secret handling. This is dangerous because shell history, process listings, screenshots, logs, or shared terminals can expose the credential, and the skill context explicitly involves handling email infrastructure and local storage, making secret leakage operationally relevant.
The skill instructs users to configure SMTP usernames/passwords and store form responses locally, but it does not warn about handling secrets or the sensitivity of collected submissions. In an agent-driven environment, this can lead to credentials being persisted in shell history, config files, logs, or insecure storage paths, and user-submitted data may be written to disk without clear notice or access-control guidance.
The example contact form collects personally identifiable information such as name, email, phone number, and message content, then explicitly stores submissions locally, but it provides no user-facing notice about collection, retention, or storage. In a form-building skill, this omission can lead developers to deploy privacy-impacting defaults without consent language or disclosure, creating compliance and trust risks and increasing harm if the stored file is later exposed.
This form collects personal data including full name, email, company, job title, attendance preference, and dietary restrictions, then submits/stores it without any user-facing privacy notice, retention disclosure, or consent language. In the context of a form-builder skill that explicitly supports local storage and email transmission, the lack of disclosure increases the risk of users unknowingly sharing sensitive personal information and creates privacy/compliance exposure.
The placeholder +91 98765 43210 implicitly biases the form toward an Indian phone-number format, which can impose a locale expectation on users without stating that the skill is India-specific. There is no accompanying documentation in this file indicating that the form is intended only for that region or offering locale-neutral formatting guidance.
This is a JSON manifest file, so vague-trigger checks apply. The title and description describe a general-purpose customer feedback form but provide no explicit activation conditions, trigger phrases, or scope constraints, making it unclear when this skill should be invoked versus other generic feedback or survey flows.
This JSON manifest file only says "Register for our upcoming workshop," which describes the form's purpose but does not specify any explicit trigger phrases, invocation constraints, or exclusion conditions. In a manifest context, that lack of specificity can make activation criteria ambiguous if this description is used to determine when the skill should run.
No suspicious patterns detected.