Trust Assessment
feishu-doc-reader received a trust score of 29/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 8 findings: 1 critical, 0 high, 6 medium, and 0 low severity. Key findings include Arbitrary command execution, Suspicious import: requests, Dangerous call: compile().
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 14, 2026 (commit 13146e6a). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings8
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| CRITICAL | Arbitrary command execution Python dynamic code execution (exec/eval/compile) 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. | Manifest | skills/snowshadow/feishu-doc-reader/scripts/test_blocks_integration.py:47 | |
| 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/snowshadow/feishu-doc-reader/scripts/get_feishu_doc_blocks.py:10 | |
| 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/snowshadow/feishu-doc-reader/scripts/read_feishu_doc.py:11 | |
| 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/snowshadow/feishu-doc-reader/scripts/test_auth.py:8 | |
| MEDIUM | Dangerous call: compile() Call to 'compile()' detected in function 'test_python_script'. This can execute arbitrary code. Avoid using dangerous functions like exec/eval/os.system. Use safer alternatives. | Static | skills/snowshadow/feishu-doc-reader/scripts/test_blocks_integration.py:47 | |
| MEDIUM | Unpinned Python dependency version Requirement 'requests>=2.25.0' is not pinned to an exact version. Pin Python dependencies with '==<exact version>'. | Dependencies | skills/snowshadow/feishu-doc-reader/requirements.txt:2 | |
| MEDIUM | Unpinned Dependency in requirements.txt The 'requests' library is specified with a minimum version ('requests>=2.25.0') but not pinned to an exact version. This can lead to non-reproducible builds, unexpected breaking changes, or the installation of vulnerable versions if a new version with a security flaw is released and installed automatically. It also makes it harder to detect if a malicious package with a similar name were to be introduced and accidentally installed. Pin the dependency to an exact version (e.g., 'requests==2.28.1') or at least a major/minor version range (e.g., 'requests~=2.28.0') to ensure consistent and secure installations. Regularly update and review pinned dependencies. | LLM | requirements.txt:2 | |
| INFO | Truncated Access Token Printed in Test Script The 'test_auth.py' script prints a truncated version of the tenant access token to standard output. While this is a test script and the token is truncated, printing any part of an access token, even for debugging, can be a minor information leak if logs or console output are not adequately secured. Best practice for production code is to avoid logging or printing any part of credentials. For test scripts, ensure that output is only visible in secure development environments. For production code, strictly avoid printing or logging any part of sensitive credentials, even truncated versions. Instead, log only success/failure status or use secure logging mechanisms that redact sensitive information. | LLM | scripts/test_auth.py:29 |
Scan History
Embed Code
[](https://skillshield.io/report/da2817c7c1b8d757)
Powered by SkillShield