Scan Report
55 /100
ai-beauty
Edit image to beautify faces or portraits in it. Use when (1) User requests to process an image, (2) User asks to beautify a photo.
The skill makes undisclosed outbound network requests to verify its token against a remote server before downloading an opaque binary, contradicting the Chinese documentation claim that all processing is local.
Use with caution
Remove or fix the misleading Chinese claim about '全程本地处理' (fully local processing). Add cryptographic verification (e.g., SHA256 hash) for the downloaded binary. Pin the `requests` package version. Declare all network domains in metadata.
Findings 5 items
| Severity | Finding | Location |
|---|---|---|
| High | Contradictory claim of local-only processing Doc Mismatch | SKILL.md:8 |
| High | Token transmitted in plaintext HTTP GET request Data Exfil | BitSoulFaceBeautySkill/init.py:14 |
| Medium | No integrity verification for downloaded binary Supply Chain | BitSoulFaceBeautySkill/init.py:43 |
| Medium | Token passed as command-line argument Credential Theft | SKILL.md:75 |
| Low | Unpinned requests dependency Supply Chain | SKILL.md:39 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Network | READ | WRITE | ✗ Violation | init.py:14-19 — token sent as query param to remote API |
| Filesystem | NONE | WRITE | ✗ Violation | init.py:55 — writes downloaded BitSoulBeauty.exe to skill directory |
| Shell | NONE | WRITE | ✗ Violation | SKILL.md:75 — executes BitSoulBeauty.exe binary with token as argument |
2 findings
Medium External URL 外部 URL
http://info.aicodingyard.com BitSoulFaceBeautySkill/init.py:6 Medium External URL 外部 URL
https://www.aicodingyard.com SKILL.md:7 File Tree
2 files · 14.6 KB · 270 lines Markdown 1f · 159L
Python 1f · 111L
├─
▾
BitSoulFaceBeautySkill
│ └─
init.py
Python
└─
SKILL.md
Markdown
Dependencies 1 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
requests | * | pip (undeclared in code) | No | Version not pinned |
Security Positives
✓ No obfuscated code or base64-encoded payloads found
✓ No direct reverse shell or arbitrary code execution via Python
✓ No access to sensitive filesystem paths like ~/.ssh or ~/.aws
✓ No iteration over os.environ for credential harvesting
✓ No embedded scripts from external URLs beyond the documented binary download
✓ Skill is contained to a single init.py with readable, straightforward logic