Security Audit
dkyazzentwatwa/chatgpt-skills:ml-model-explainer
github.com/dkyazzentwatwa/chatgpt-skillsTrust Assessment
dkyazzentwatwa/chatgpt-skills:ml-model-explainer received a trust score of 20/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: 1 critical, 1 high, 5 medium, and 0 low severity. Key findings include Unpinned Python dependency version, Arbitrary Code Execution via Unsafe Pickle Deserialization, Potential Data Exfiltration/Integrity Risk via Arbitrary File Access.
The analysis covered 4 layers: Manifest Analysis, Static Code Analysis, Dependency Graph, LLM Behavioral Safety. The Static Code Analysis layer scored lowest at 55/100, indicating areas for improvement.
Last analyzed on February 24, 2026 (commit d4bad335). 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 Code Execution via Unsafe Pickle Deserialization The skill uses `pickle.load()` to deserialize a model file provided by the user via the `--model` command-line argument. Deserializing untrusted data with `pickle.load()` can lead to arbitrary code execution, as a malicious pickle file can be crafted to execute arbitrary Python code upon loading. This allows an attacker to run any code on the system where the skill is executed. Avoid using `pickle.load()` for untrusted inputs. If model serialization is required, use safer alternatives like ONNX, PMML, or library-specific safe model saving/loading mechanisms that do not execute arbitrary code. If `pickle` is absolutely unavoidable, ensure the source of the pickle file is fully trusted and implement strict validation, or execute the skill in a highly isolated and sandboxed environment. | Static | scripts/ml_model_explainer.py:120 | |
| HIGH | Potential Data Exfiltration/Integrity Risk via Arbitrary File Access The skill accepts arbitrary file paths for input data (`--data`) and output directory (`--output`). While not a direct command injection, this allows an attacker to specify paths to sensitive files for reading (e.g., `/etc/passwd` via `--data`) or to write output files to arbitrary locations on the filesystem (e.g., `/tmp/malicious_output.csv` or overwriting existing files via `--output`). This could lead to data exfiltration or integrity issues. Restrict file access to a designated, sandboxed directory. Validate and sanitize all user-provided file paths to prevent directory traversal attacks (e.g., `../`). Implement strict access controls on the environment where the skill runs to limit its ability to read/write outside its intended scope. | Static | scripts/ml_model_explainer.py:123 | |
| MEDIUM | Unpinned Python dependency version Requirement 'shap>=0.42.0' is not pinned to an exact version. Pin Python dependencies with '==<exact version>'. | Dependencies | ml-model-explainer/scripts/requirements.txt:1 | |
| MEDIUM | Unpinned Python dependency version Requirement 'scikit-learn>=1.3.0' is not pinned to an exact version. Pin Python dependencies with '==<exact version>'. | Dependencies | ml-model-explainer/scripts/requirements.txt:2 | |
| MEDIUM | Unpinned Python dependency version Requirement 'pandas>=2.0.0' is not pinned to an exact version. Pin Python dependencies with '==<exact version>'. | Dependencies | ml-model-explainer/scripts/requirements.txt:3 | |
| MEDIUM | Unpinned Python dependency version Requirement 'numpy>=1.24.0' is not pinned to an exact version. Pin Python dependencies with '==<exact version>'. | Dependencies | ml-model-explainer/scripts/requirements.txt:4 | |
| MEDIUM | Unpinned Python dependency version Requirement 'matplotlib>=3.7.0' is not pinned to an exact version. Pin Python dependencies with '==<exact version>'. | Dependencies | ml-model-explainer/scripts/requirements.txt:5 |
Scan History
Embed Code
[](https://skillshield.io/report/767603753af4ea23)
Powered by SkillShield