Security Audit
turborepo-caching
github.com/sickn33/antigravity-awesome-skillsTrust Assessment
turborepo-caching received a trust score of 47/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 4 findings: 1 critical, 1 high, 1 medium, and 1 low severity. Key findings include File read + network send exfiltration, Sensitive path access: Environment file, Path Traversal Vulnerability in Self-Hosted Cache Example.
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 20, 2026 (commit e36d6fd3). 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 | File read + network send exfiltration .env file access Remove access to sensitive files not required by the skill's stated purpose. SSH keys, cloud credentials, and browser data should never be read by skills unless explicitly part of their declared functionality. | Manifest | skills/turborepo-caching/SKILL.md:66 | |
| HIGH | Path Traversal Vulnerability in Self-Hosted Cache Example The provided example for a self-hosted remote cache server (Template 4) constructs file paths using user-controlled input (`req.query.teamId` and `req.params.hash`) directly with `path.join`. While `path.join` normalizes paths, it does not prevent directory traversal if the base directory is relative and the user input contains `../` segments that escape the intended `CACHE_DIR`. An attacker could potentially read, write, or overwrite arbitrary files outside the `./cache` directory by manipulating the `teamId` or `hash` parameters. For example, if `teamId` is `../../../../tmp`, an artifact could be written to `/tmp`. Sanitize user-provided `teamId` and `hash` parameters to ensure they do not contain path traversal sequences (e.g., `../`). A common approach is to validate that these inputs only contain alphanumeric characters or to resolve the path to an absolute path and then verify it remains within the intended `CACHE_DIR` using `path.resolve` and `path.startsWith`. | LLM | SKILL.md:169 | |
| MEDIUM | Sensitive path access: Environment file Access to Environment file path detected: '.env.local'. This may indicate credential theft. Verify that access to this sensitive path is justified and declared. | Static | skills/turborepo-caching/SKILL.md:66 | |
| LOW | Token Exposure in Self-Hosted Cache Command Example The example command for using a self-hosted cache (`turbo build --api="http://localhost:3000" --token="my-token" --team="my-team"`) demonstrates passing a `token` directly on the command line. While this is a placeholder, in a real-world scenario, passing sensitive tokens as command-line arguments can expose them to other users on the system via process listings (e.g., `ps aux`). Advise users to pass sensitive tokens via environment variables (e.g., `TURBO_TOKEN=my-token turbo build ...`) or secure configuration files, rather than directly on the command line, to prevent exposure in process lists. | LLM | SKILL.md:210 |
Scan History
Embed Code
[](https://skillshield.io/report/52dd8f3ac0850975)
Powered by SkillShield