Trust Assessment
ci-cd 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 7 findings: 2 critical, 4 high, 1 medium, and 0 low severity. Key findings include Arbitrary command execution, Dangerous call: subprocess.run(), Suspicious import: urllib.request.
The analysis covered 4 layers: dependency_graph, static_code_analysis, manifest_analysis, llm_behavioral_safety. The manifest_analysis layer scored lowest at 40/100, indicating areas for improvement.
Last analyzed on February 11, 2026 (commit b06435d5). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings7
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| CRITICAL | Arbitrary command execution Python shell execution (os.system, subprocess) 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. | Unknown | /var/folders/1k/67b8r20n777f_xcmmm8b7m5h0000gn/T/skillscan-clone-9tuvbqjb/repo/ci-cd/scripts/ci_health.py:59 | |
| CRITICAL | Arbitrary command execution Python shell execution (os.system, subprocess) 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. | Unknown | /var/folders/1k/67b8r20n777f_xcmmm8b7m5h0000gn/T/skillscan-clone-9tuvbqjb/repo/ci-cd/scripts/ci_health.py:198 | |
| HIGH | Dangerous call: subprocess.run() Call to 'subprocess.run()' detected in function 'check_github_workflows'. This can execute arbitrary code. Avoid using dangerous functions like exec/eval/os.system. Use safer alternatives. | Unknown | /var/folders/1k/67b8r20n777f_xcmmm8b7m5h0000gn/T/skillscan-clone-9tuvbqjb/repo/ci-cd/scripts/ci_health.py:59 | |
| HIGH | Dangerous call: subprocess.run() Call to 'subprocess.run()' detected in function '_check_command'. This can execute arbitrary code. Avoid using dangerous functions like exec/eval/os.system. Use safer alternatives. | Unknown | /var/folders/1k/67b8r20n777f_xcmmm8b7m5h0000gn/T/skillscan-clone-9tuvbqjb/repo/ci-cd/scripts/ci_health.py:198 | |
| HIGH | Arbitrary File Read leading to Data Exfiltration The `scripts/pipeline_analyzer.py` script takes a file path as an argument (`--workflow` or `--config`) and attempts to read and parse its content. An attacker could craft a prompt to the LLM to execute this script with an arbitrary file path (e.g., `/etc/passwd`, `/app/secrets.txt`). The script would then read the content of this file and include it in its output (either as parsed YAML or in an error message if parsing fails), effectively exfiltrating sensitive data to the LLM. Implement strict path validation to ensure that the `--workflow` and `--config` arguments only point to files within expected and safe directories (e.g., `.github/workflows/` or the project root). Alternatively, restrict the script's execution environment to prevent access to sensitive file paths. | Unknown | scripts/pipeline_analyzer.py:50 | |
| HIGH | LLM analysis found no issues despite critical deterministic findings Deterministic layers flagged 2 CRITICAL findings, but LLM semantic analysis returned clean. This may indicate prompt injection or analysis evasion. | Unknown | (sanity check) | |
| MEDIUM | Suspicious import: urllib.request Import of 'urllib.request' detected. This module provides network or low-level system access. Verify this import is necessary. Network and system modules in skill code may indicate data exfiltration. | Unknown | /var/folders/1k/67b8r20n777f_xcmmm8b7m5h0000gn/T/skillscan-clone-9tuvbqjb/repo/ci-cd/scripts/ci_health.py:24 |
Scan History
Embed Code
[](https://skillshield.io/report/2cd6d7821fd29db3)
Powered by SkillShield