Security Audit
SankaiAI/ats-optimized-resume-agent-skill:root
github.com/SankaiAI/ats-optimized-resume-agent-skillTrust Assessment
SankaiAI/ats-optimized-resume-agent-skill:root received a trust score of 10/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 10 findings: 1 critical, 4 high, 5 medium, and 0 low severity. Key findings include File read + network send exfiltration, Unsafe deserialization / dynamic eval, Sensitive environment variable access: $HOME.
The analysis covered 4 layers: Manifest Analysis, Static Code Analysis, Dependency Graph, LLM Behavioral Safety. The Manifest Analysis layer scored lowest at 40/100, indicating areas for improvement.
Last analyzed on April 8, 2026 (commit 90aa725a). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings10
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| CRITICAL | File read + network send exfiltration AI agent config/credential 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 | install.sh:36 | |
| HIGH | Unsafe deserialization / dynamic eval Decryption followed by code execution Remove obfuscated code execution patterns. Legitimate code does not need base64-encoded payloads executed via eval, encrypted-then-executed blobs, or dynamic attribute resolution to call system functions. | Manifest | src/rendering/config.py:48 | |
| HIGH | Unsafe deserialization / dynamic eval Decryption followed by code execution Remove obfuscated code execution patterns. Legitimate code does not need base64-encoded payloads executed via eval, encrypted-then-executed blobs, or dynamic attribute resolution to call system functions. | Manifest | src/schemas/resume_schema.py:5 | |
| HIGH | Sensitive path access: AI agent config Access to AI agent config path detected: '~/.claude/'. This may indicate credential theft. Verify that access to this sensitive path is justified and declared. | Static | install.sh:36 | |
| HIGH | Excessive Write Permissions with LLM-controlled Output Path The skill declares 'Write' permission and uses a command-line tool (`resume-skill render`) where the output file path (`--output`) is determined by the LLM. A malicious prompt could instruct the LLM to specify a sensitive system file (e.g., `/etc/passwd`, `~/.ssh/authorized_keys`) as the output, leading to its overwrite or corruption. This constitutes a data exfiltration or denial-of-service risk. Restrict the 'Write' permission to a specific, sandboxed directory (e.g., a temporary directory or a user-specific output folder) rather than allowing arbitrary file paths. Implement strict validation within the `resume-skill` CLI to ensure output paths are within an allowed directory and do not point to sensitive system locations. Alternatively, remove the 'Write' permission if the skill's functionality can be achieved by returning the generated content directly to the user or a more controlled storage mechanism. | Static | SKILL.md:204 | |
| MEDIUM | Sensitive environment variable access: $HOME Access to sensitive environment variable '$HOME' detected in shell context. Verify this environment variable access is necessary and the value is not exfiltrated. | Static | install.sh:64 | |
| MEDIUM | Unpinned Python dependency version Dependency 'python-docx>=1.1.0' is not pinned to an exact version. Pin Python dependencies with exact versions where feasible. | Dependencies | pyproject.toml | |
| MEDIUM | Unpinned Python dependency version Requirement 'python-docx>=1.1.0' is not pinned to an exact version. Pin Python dependencies with '==<exact version>'. | Dependencies | requirements.txt:1 | |
| MEDIUM | Unpinned Python dependency version Requirement 'lxml>=5.0.0' is not pinned to an exact version. Pin Python dependencies with '==<exact version>'. | Dependencies | requirements.txt:2 | |
| MEDIUM | Weak Dependency Pinning in pyproject.toml and requirements.txt The `pyproject.toml` and `requirements.txt` files specify dependencies with a minimum version (`>=1.1.0`, `>=5.0.0`) rather than exact versions. This 'weak pinning' allows for automatic updates to newer minor or patch versions. While convenient, it introduces a supply chain risk: if a future version of `python-docx` or `lxml` is compromised and a malicious update is published, the skill could inadvertently install and execute the compromised code during reinstallation or environment setup. Pin all dependencies to exact versions (e.g., `python-docx==1.1.0`, `lxml==5.0.0`) in both `pyproject.toml` and `requirements.txt`. Use a dependency management tool (like `pip-compile` or `poetry.lock`) to generate a locked file for reproducible and secure builds. Regularly review and manually update dependencies to ensure security patches are applied while maintaining control over versions. | Static | pyproject.toml:9 |
Scan History
Embed Code
[](https://skillshield.io/report/66fe186ff94a0e9f)
Powered by SkillShield