Trust Assessment
venice-ai received a trust score of 23/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: 0 critical, 4 high, 6 medium, and 0 low severity. Key findings include Suspicious import: urllib.request, Data Exfiltration via Arbitrary File Upload (Image Edit), Data Exfiltration via Arbitrary File Upload (Image Upscale).
The analysis covered 4 layers: Manifest Analysis, Static Code Analysis, Dependency Graph, LLM Behavioral Safety. The LLM Behavioral Safety layer scored lowest at 40/100, indicating areas for improvement.
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 Findings10
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| HIGH | Data Exfiltration via Arbitrary File Upload (Image Edit) The `venice-edit.py` script takes an `image` argument which is treated as a local file path. The script reads the content of this file using `image_path.read_bytes()` and sends it as part of a multipart form data to the Venice AI API. A malicious actor could provide a path to a sensitive file (e.g., `/etc/passwd`, `~/.ssh/id_rsa`) instead of an image. The script would then exfiltrate the content of this sensitive file to the Venice AI service. While the API might reject non-image data, the data is still transmitted. Implement stricter validation for the input file, such as checking its MIME type or magic bytes to ensure it's a valid image before reading and uploading. Consider sandboxing file access if possible. | LLM | scripts/venice-edit.py:40 | |
| HIGH | Data Exfiltration via Arbitrary File Upload (Image Upscale) The `venice-upscale.py` script takes an `image` argument as a local file path. It reads the file's content using `image_path.read_bytes()` and sends it as multipart form data to the Venice AI API. This poses a data exfiltration risk where sensitive local files could be read and transmitted to the external service. Implement stricter validation for the input file, such as checking its MIME type or magic bytes to ensure it's a valid image before reading and uploading. Consider sandboxing file access if possible. | LLM | scripts/venice-upscale.py:40 | |
| HIGH | Data Exfiltration via Arbitrary File Upload (Video Generation) The `venice-video.py` script accepts `--image` or `--video` arguments which can be local file paths. The `resolve_media_url` function (which calls `file_to_data_url` from `venice_common.py`) reads the content of these files, base64 encodes them, and then sends them as part of a JSON payload to the Venice AI API. This allows for the exfiltration of arbitrary local files by providing their paths. Implement stricter validation for the input file, such as checking its MIME type or magic bytes to ensure it's a valid image/video before reading and uploading. Consider sandboxing file access if possible. | LLM | scripts/venice-video.py:39 | |
| HIGH | Data Exfiltration via Arbitrary File Read (Embeddings) The `venice.py` script, when used with the `embed` command and `--file` argument, reads the content of the specified file line by line. These lines are then sent to the Venice AI API for embedding generation. A malicious actor could provide a path to any readable local file, leading to its content being exfiltrated to the Venice AI service. If the intent is to only process text files, add checks to ensure the file type is appropriate. For sensitive environments, restrict the directories from which files can be read, or prompt the user for confirmation before reading files outside a designated sandbox. | LLM | scripts/venice.py:215 | |
| 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. | Static | skills/jonisjongithub/venice-ai/scripts/venice-edit.py:10 | |
| 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. | Static | skills/jonisjongithub/venice-ai/scripts/venice-image.py:11 | |
| 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. | Static | skills/jonisjongithub/venice-ai/scripts/venice-upscale.py:11 | |
| 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. | Static | skills/jonisjongithub/venice-ai/scripts/venice-video.py:10 | |
| 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. | Static | skills/jonisjongithub/venice-ai/scripts/venice.py:12 | |
| 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. | Static | skills/jonisjongithub/venice-ai/scripts/venice_common.py:9 |
Scan History
Embed Code
[](https://skillshield.io/report/980486fb3184f8c8)
Powered by SkillShield