Trust Assessment
audit-fixer received a trust score of 49/100, placing it in the Untrusted category. This skill has significant security findings that require attention before use in production.
SkillShield's automated analysis identified 5 findings: 1 critical, 1 high, 1 medium, and 0 low severity. Key findings include Arbitrary command execution, Unpinned npm dependency version, Prompt Injection via npm audit output.
The analysis covered 4 layers: Manifest Analysis, Static Code Analysis, Dependency Graph, LLM Behavioral Safety. All layers scored 70 or above, reflecting consistent security practices.
Last analyzed on February 14, 2026 (commit 13146e6a). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings5
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| CRITICAL | Arbitrary command execution Node.js child_process require Review all shell execution calls. Ensure commands are static (not built from user input), use absolute paths, and are strictly necessary. Prefer library APIs over shell commands. | Manifest | skills/lxgicstudios/audit-fix/dist/index.js:9 | |
| HIGH | Prompt Injection via npm audit output The skill directly interpolates the `npm audit --json` output into the LLM's user prompt. While `npm audit` output is generated by a system command, its content is derived from the user's project dependencies (e.g., package names, descriptions, vulnerability details). A malicious dependency could craft its metadata to include prompt injection instructions, potentially manipulating the LLM to deviate from its intended task, reveal sensitive information, or generate harmful content. The `slice(0, 8000)` limits the size of the injection but does not prevent it. Implement robust sanitization or a more structured approach for passing `auditJson` to the LLM. Instead of direct string interpolation, consider parsing the JSON and passing specific, sanitized fields to the LLM, or using a tool/function calling mechanism if the LLM supports it for structured data input. Explicitly instruct the LLM to ignore any instructions found within the audit data itself. | LLM | src/index.ts:22 | |
| MEDIUM | Unpinned npm dependency version Dependency 'commander' is not pinned to an exact version ('^12.1.0'). Pin dependencies to exact versions to reduce drift and supply-chain risk. | Dependencies | skills/lxgicstudios/audit-fix/package.json | |
| INFO | OpenAI API Key usage The skill accesses the `OPENAI_API_KEY` from environment variables to authenticate with the OpenAI API. While this is standard and intended behavior for API access, it highlights the presence and use of a sensitive credential. In the event of other vulnerabilities or a compromised execution environment, this key could be at risk. Ensure the execution environment for this skill has appropriate access controls and security measures in place to protect environment variables. Follow best practices for API key management, such as using short-lived credentials or dedicated service accounts where possible. | LLM | src/index.ts:4 | |
| INFO | Caret dependencies in package.json The `package.json` file uses caret (`^`) version ranges for its dependencies (e.g., `"openai": "^4.73.0"`). While `package-lock.json` ensures deterministic installs by pinning exact versions, using caret ranges in `package.json` means that `npm install` without a lockfile (or if the lockfile is ignored/deleted) could pull in newer minor or patch versions. A malicious update to a dependency could introduce vulnerabilities, even if the major version remains the same. Consider using exact version pinning in `package.json` for critical dependencies to ensure maximum reproducibility and prevent unexpected updates. Alternatively, ensure that `package-lock.json` is always committed and used for installations to guarantee consistent dependency versions. | LLM | package.json:13 |
Scan History
Embed Code
[](https://skillshield.io/report/fa40d308312fa1d2)
Powered by SkillShield