Trust Assessment
clinpgx-database received a trust score of 76/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 4 findings: 0 critical, 0 high, 3 medium, and 1 low severity. Key findings include Suspicious import: requests, Network egress to untrusted endpoints, Covert behavior / concealment directives.
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 12, 2026 (commit 458b1186). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings4
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| MEDIUM | Suspicious import: requests Import of 'requests' 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. | Static | cli-tool/components/skills/scientific/clinpgx-database/scripts/query_clinpgx.py:13 | |
| MEDIUM | Network egress to untrusted endpoints HTTP request to raw IP address Review all outbound network calls. Remove connections to webhook collectors, paste sites, and raw IP addresses. Legitimate API calls should use well-known service domains. | Manifest | cli-tool/components/mcps/devtools/figma-dev-mode.json:4 | |
| MEDIUM | Potential Path Traversal in Cache File Creation The `cached_query` function in `scripts/query_clinpgx.py` constructs a file path using `pathlib.Path(cache_file)` and then creates parent directories and writes data to this path. If the `cache_file` argument is ever derived from untrusted user input without proper sanitization, an attacker could use path traversal sequences (e.g., `../../`) to write files to arbitrary locations on the filesystem. This could lead to overwriting critical system files, creating malicious files, or exhausting disk space. Sanitize the `cache_file` argument to `cached_query` to ensure it only contains a basename and does not include directory separators or path traversal sequences. A robust approach is to resolve the cache directory to an absolute, controlled path and then join only the sanitized filename to it, or use a dedicated temporary file library that handles this securely. | Static | scripts/query_clinpgx.py:68 | |
| LOW | Covert behavior / concealment directives Multiple zero-width characters (stealth text) Remove hidden instructions, zero-width characters, and bidirectional overrides. Skill instructions should be fully visible and transparent to users. | Manifest | cli-tool/components/mcps/devtools/jfrog.json:4 |
Scan History
Embed Code
[](https://skillshield.io/report/9ff43f4a384b888a)
Powered by SkillShield