Trust Assessment
audit-fixer received a trust score of 41/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, 2 medium, and 1 low severity. Key findings include Arbitrary command execution, Unpinned npm dependency version, Untrusted `npm audit` output used in LLM prompt.
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 13, 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-fixer/dist/index.js:9 | |
| HIGH | Untrusted `npm audit` output used in LLM prompt The `analyzeAudit` function directly embeds the raw JSON output from `npm audit` into the user message sent to the OpenAI API. If a malicious package or vulnerability description within the `npm audit` output contains prompt injection payloads, it could manipulate the LLM's behavior, leading to unintended responses, data leakage, or generation of harmful content. The `slice(0, 8000)` limits the size but does not sanitize the content. Implement sanitization or a robust parsing and re-serialization mechanism for the `auditJson` before embedding it into the LLM prompt. Instead of directly injecting the raw JSON, extract only the necessary, structured data points (e.g., vulnerability IDs, package names, severity, descriptions) and present them to the LLM in a controlled format. This reduces the surface area for prompt injection. | LLM | src/index.ts:20 | |
| 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-fixer/package.json | |
| MEDIUM | Project dependency graph and vulnerability details sent to OpenAI The skill's core functionality involves sending the complete `npm audit --json` output, which includes the project's full dependency tree, package versions, and detailed vulnerability information, to the OpenAI API for analysis. This constitutes data exfiltration of potentially sensitive project metadata to a third-party service. While this is the intended behavior, users should be explicitly aware that their project's dependency structure is being shared with OpenAI. Clearly document in the skill's description and usage instructions that project dependency information is sent to OpenAI. Provide options for users to review or redact sensitive parts of the `npm audit` output before it's sent, if feasible, or offer a local-only analysis mode if an on-device LLM is available. | LLM | src/index.ts:20 | |
| LOW | Caret (^) versions used for direct dependencies The `package.json` specifies direct dependencies (`commander`, `openai`, `ora`) using caret (`^`) version ranges. While `package-lock.json` pins specific versions, a fresh installation without a lockfile, or if the lockfile is ignored/outdated, could lead to newer, potentially vulnerable or malicious versions of these packages being installed. This introduces a supply chain risk where a compromise in an upstream dependency could affect this skill. Consider using exact version pinning (e.g., `12.1.0` instead of `^12.1.0`) for critical dependencies, especially in production environments or for security-sensitive tools. Regularly audit dependencies for known vulnerabilities. | LLM | package.json:14 |
Scan History
Embed Code
[](https://skillshield.io/report/6111d3b47b5b3f66)
Powered by SkillShield