Scan Report
20 /100
payment_skill_demo
AI 原生支付解决方案 - 提供安全、可靠的支付功能
A legitimate payment processing skill with standard async HTTP client patterns, proper input validation, and AES-GCM encryption. Minor documentation gaps exist but no malicious behavior detected.
Safe to install
The skill is safe to use. Consider documenting the virtual environment setup behavior and subprocess usage in diagnose.py for complete transparency.
Findings 3 items
| Severity | Finding | Location |
|---|---|---|
| Low | Undeclared subprocess usage in diagnostic tool Doc Mismatch | scripts/diagnose.py:67 |
| Info | Python 3.6 support deprecated Supply Chain | scripts/requirements-py36.txt:1 |
| Info | API credentials read from environment Sensitive Access | src/config_loader.py:86 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Filesystem | WRITE | WRITE | ✓ Aligned | Creates logs/ and venv/ directories |
| Network | READ | READ | ✓ Aligned | Makes HTTP requests to payment API |
| Shell | NONE | WRITE | ✓ Aligned | scripts/setup.sh: pip install; diagnose.py: subprocess.run() |
| Environment | READ | READ | ✓ Aligned | Reads PAYMENT_API_KEY, PAYMENT_API_SECRET |
| Skill Invoke | NONE | NONE | — | No skill invocation found |
| Clipboard | NONE | NONE | — | Not used |
| Browser | NONE | NONE | — | Not used |
| Database | NONE | NONE | — | Not used |
3 findings
Medium External URL 外部 URL
https://api.zlclaw.com,不需要设置 config/production.env:9 Medium External URL 外部 URL
https://api.zlclaw.com config/production.env:20 Info Email 邮箱地址
[email protected] SKILL.md:220 File Tree
15 files · 65.5 KB · 2303 lines Python 8f · 1807L
Markdown 1f · 225L
Shell 1f · 99L
YAML 1f · 75L
Text 2f · 47L
Env 1f · 36L
JSON 1f · 14L
├─
▾
config
│ └─
production.env
Env
├─
▾
scripts
│ ├─
diagnose.py
Python
│ ├─
requirements-py36.txt
Text
│ ├─
requirements.txt
Text
│ └─
setup.sh
Shell
├─
▾
src
│ ├─
__init__.py
Python
│ ├─
config_loader.py
Python
│ ├─
payment_api_client.py
Python
│ ├─
payment_skill.py
Python
│ ├─
payment_skill.yaml
YAML
│ ├─
security.py
Python
│ └─
utils.py
Python
├─
_meta.json
JSON
├─
skill_cli.py
Python
└─
SKILL.md
Markdown
Dependencies 5 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
aiohttp | 3.9.5 (py38) / 3.6.3 (py36) | pip | No | Version pinned for py38, py36 uses older version |
pydantic | 2.7.0 (py38) / 1.8.2 (py36) | pip | No | Major version differs between py38/py36 |
cryptography | 42.0.5 (py38) / 3.4.8 (py36) | pip | No | Version pinned for py38 |
pycryptodome | 3.19.1 (py38) / 3.10.4 (py36) | pip | No | Version pinned for py38 |
pytest | 8.2.0 (py38) / 6.2.5 (py36) | pip | No | Version pinned for py38 |
Security Positives
✓ Uses HMAC-SHA256 for request signing (line: payment_api_client.py:109)
✓ AES-GCM encryption for sensitive fields (src/security.py:155-162)
✓ Input validation and sanitization to prevent injection attacks (src/security.py:32-60)
✓ Async HTTP client with proper timeout handling (aiohttp.ClientTimeout)
✓ Transaction IDs generated with UUID for uniqueness (src/utils.py:15)
✓ Dependencies mostly version-pinned in requirements.txt (except py36)
✓ Good error handling with specific error codes
✓ No obfuscated code, base64 payloads, or suspicious encoding patterns
✓ No attempts to access ~/.ssh, ~/.aws, or other sensitive paths
✓ No credential exfiltration or C2 communication patterns