Trust Assessment
productivity-analyzer received a trust score of 79/100, placing it in the Mostly Trusted category. This skill has passed most security checks with only minor considerations noted.
SkillShield's automated analysis identified 2 findings: 0 critical, 1 high, 1 medium, and 0 low severity. Key findings include Missing required field: name, Unrestricted file write via user-controlled path.
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 Findings2
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| HIGH | Unrestricted file write via user-controlled path The `export_analysis` method allows writing an Excel file to an arbitrary path specified by the `output_path` parameter. An attacker could exploit this by providing a malicious path (e.g., `/etc/passwd`, `/root/.ssh/id_rsa`, `../sensitive_data.xlsx`) to overwrite critical system files, write to sensitive directories, or create files in unexpected locations. This could lead to data corruption, denial of service, or information disclosure if the generated file contains sensitive data and is placed in an accessible location. Implement strict validation and sanitization of the `output_path`. Restrict file writes to a designated, sandboxed directory. Consider using a UUID for filenames and returning the file content directly or a secure link, rather than allowing arbitrary paths. If writing to a specific user-controlled directory is required, ensure the path is normalized and confined to that directory (e.g., using `os.path.abspath` and checking against a base directory to prevent directory traversal attacks). | LLM | SKILL.md:199 | |
| MEDIUM | Missing required field: name The 'name' field is required for claude_code skills but is missing from frontmatter. Add a 'name' field to the SKILL.md frontmatter. | Static | skills/datadrivenconstruction/productivity-analyzer/SKILL.md:1 |
Scan History
Embed Code
[](https://skillshield.io/report/6d8a6c696581db30)
Powered by SkillShield