Trust Assessment
postiz received a trust score of 51/100, placing it in the Caution category. This skill has some security considerations that users should review before deployment.
SkillShield's automated analysis identified 9 findings: 3 critical, 2 high, 2 medium, and 2 low severity. Key findings include Suspicious import: requests, Hardcoded Credentials in Skill Documentation and Scripts, Insecure Storage of Authentication Cookies in /tmp.
The analysis covered 4 layers: Manifest Analysis, Static Code Analysis, Dependency Graph, LLM Behavioral Safety. The LLM Behavioral Safety layer scored lowest at 0/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 Findings9
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| CRITICAL | Hardcoded Credentials in Skill Documentation and Scripts The skill documentation (SKILL.md) and both Python scripts (scripts/post.py, scripts/check_duplicates.py) contain hardcoded login credentials (email: 'sascha@mykuhlmann.com', password: 'Postiz2026!'). This is a severe security vulnerability as it exposes sensitive authentication information directly in the skill package, making it accessible to anyone who can view the skill's source code or documentation. An attacker could use these credentials to gain unauthorized access to the Postiz instance. Remove hardcoded credentials. Implement a secure method for handling credentials, such as environment variables, a secrets management service, or prompting the user for input at runtime. Ensure credentials are never stored directly in code or documentation. | LLM | SKILL.md:39 | |
| CRITICAL | Hardcoded Credentials in Skill Documentation and Scripts The skill documentation (SKILL.md) and both Python scripts (scripts/post.py, scripts/check_duplicates.py) contain hardcoded login credentials (email: 'sascha@mykuhlmann.com', password: 'Postiz2026!'). This is a severe security vulnerability as it exposes sensitive authentication information directly in the skill package, making it accessible to anyone who can view the skill's source code or documentation. An attacker could use these credentials to gain unauthorized access to the Postiz instance. Remove hardcoded credentials. Implement a secure method for handling credentials, such as environment variables, a secrets management service, or prompting the user for input at runtime. Ensure credentials are never stored directly in code or documentation. | LLM | scripts/post.py:28 | |
| CRITICAL | Hardcoded Credentials in Skill Documentation and Scripts The skill documentation (SKILL.md) and both Python scripts (scripts/post.py, scripts/check_duplicates.py) contain hardcoded login credentials (email: 'sascha@mykuhlmann.com', password: 'Postiz2026!'). This is a severe security vulnerability as it exposes sensitive authentication information directly in the skill package, making it accessible to anyone who can view the skill's source code or documentation. An attacker could use these credentials to gain unauthorized access to the Postiz instance. Remove hardcoded credentials. Implement a secure method for handling credentials, such as environment variables, a secrets management service, or prompting the user for input at runtime. Ensure credentials are never stored directly in code or documentation. | LLM | scripts/check_duplicates.py:22 | |
| HIGH | Insecure Storage of Authentication Cookies in /tmp Both `scripts/post.py` and `scripts/check_duplicates.py` store authentication cookies in `/tmp/postiz-cookies.txt`. The `/tmp` directory is typically world-readable or easily accessible by other processes on the same system. This makes the stored session cookies vulnerable to theft by other users or malicious software, potentially leading to session hijacking and unauthorized access to the Postiz account. Store sensitive files like authentication cookies in a more secure, user-specific, and permission-restricted location (e.g., `~/.config/postiz/cookies.txt` or `~/.local/share/postiz/cookies.txt`). Ensure appropriate file permissions are set (e.g., `chmod 600`). Consider using a more robust authentication mechanism that doesn't rely on persistent cookies in the filesystem. | LLM | scripts/post.py:26 | |
| HIGH | Insecure Storage of Authentication Cookies in /tmp Both `scripts/post.py` and `scripts/check_duplicates.py` store authentication cookies in `/tmp/postiz-cookies.txt`. The `/tmp` directory is typically world-readable or easily accessible by other processes on the same system. This makes the stored session cookies vulnerable to theft by other users or malicious software, potentially leading to session hijacking and unauthorized access to the Postiz account. Store sensitive files like authentication cookies in a more secure, user-specific, and permission-restricted location (e.g., `~/.config/postiz/cookies.txt` or `~/.local/share/postiz/cookies.txt`). Ensure appropriate file permissions are set (e.g., `chmod 600`). Consider using a more robust authentication mechanism that doesn't rely on persistent cookies in the filesystem. | LLM | scripts/check_duplicates.py:20 | |
| 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 | skills/coolmanns/postiz-pro/scripts/check_duplicates.py:21 | |
| 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 | skills/coolmanns/postiz-pro/scripts/post.py:32 | |
| LOW | Unpinned Dependency 'requests' The `scripts/post.py` script specifies `requests` as a dependency without a version pin. While `requests` is a widely used and generally trusted library, using unpinned dependencies can introduce supply chain risks. Future updates to the `requests` library could introduce breaking changes, unexpected behavior, or even security vulnerabilities that might affect the skill without explicit review. Pin the dependency to a specific major.minor.patch version (e.g., `requests==2.28.1`) or at least a major.minor version (e.g., `requests~=2.28`) to ensure consistent behavior and prevent unexpected issues from upstream changes. Regularly review and update pinned dependencies. | LLM | scripts/post.py:19 | |
| LOW | Unpinned Dependency 'requests' The `scripts/check_duplicates.py` script specifies `requests` as a dependency without a version pin. While `requests` is a widely used and generally trusted library, using unpinned dependencies can introduce supply chain risks. Future updates to the `requests` library could introduce breaking changes, unexpected behavior, or even security vulnerabilities that might affect the skill without explicit review. Pin the dependency to a specific major.minor.patch version (e.g., `requests==2.28.1`) or at least a major.minor version (e.g., `requests~=2.28`) to ensure consistent behavior and prevent unexpected issues from upstream changes. Regularly review and update pinned dependencies. | LLM | scripts/check_duplicates.py:14 |
Scan History
Embed Code
[](https://skillshield.io/report/7482f8a7f2a202e4)
Powered by SkillShield