Trust Assessment
x402_payment_tron received a trust score of 59/100, placing it in the Caution category. This skill has some security considerations that users should review before deployment.
SkillShield's automated analysis identified 4 findings: 1 critical, 0 high, 1 medium, and 2 low severity. Key findings include Node lockfile missing, Unpinned npm dependency version, Arbitrary File Write via Path Traversal in Temporary File Creation.
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 Findings4
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| CRITICAL | Arbitrary File Write via Path Traversal in Temporary File Creation The skill constructs a temporary file path using `path.join(tmpDir, fileName)` where `fileName` includes an extension (`ext`) derived directly from the `Content-Type` header of an HTTP response. If a malicious server provides a `Content-Type` header like `application/x-tar/../../etc/passwd`, the `ext` variable will contain path traversal sequences (`../../etc/passwd`). When `path.join` is used with such an `ext`, it can resolve to an arbitrary file path outside the intended temporary directory (e.g., `/etc/passwd`). Subsequently, `fs.writeFileSync` will write the HTTP response body to this arbitrary file, leading to an arbitrary file write vulnerability. This can be exploited to overwrite critical system files, leading to privilege escalation or full system compromise. Sanitize the `ext` variable to ensure it does not contain any path separators (e.g., `/` or `\`) or restrict it to a whitelist of known safe file extensions. A robust solution would be to use a secure temporary file creation library (e.g., `tmp` or `tempfile`) that generates unique, non-guessable filenames within the temporary directory, preventing path traversal attacks. | LLM | src/index.ts:194 | |
| MEDIUM | Unpinned npm dependency version Dependency '@open-aibank/x402-tron' is not pinned to an exact version ('^0.1.4'). Pin dependencies to exact versions to reduce drift and supply-chain risk. | Dependencies | skills/hades-ye/x402-payment-tron/package.json | |
| LOW | Node lockfile missing package.json is present but no lockfile was found (package-lock.json, pnpm-lock.yaml, or yarn.lock). Commit a lockfile for deterministic dependency resolution. | Dependencies | skills/hades-ye/x402-payment-tron/dist/package.json | |
| LOW | Node lockfile missing package.json is present but no lockfile was found (package-lock.json, pnpm-lock.yaml, or yarn.lock). Commit a lockfile for deterministic dependency resolution. | Dependencies | skills/hades-ye/x402-payment-tron/package.json |
Scan History
Embed Code
[](https://skillshield.io/report/f092fe977caad9f7)
Powered by SkillShield