扫描报告
10 /100
file-sender
Find and send local files to a chat channel (Telegram, Discord, WhatsApp, Signal, Slack) with age-encrypted credential management
The skill is a legitimate file-sending and credential-management utility with age encryption. All operations are documented, the security model (RAM staging, secure deletion, encrypted-at-rest credentials) is well-designed, and no malicious patterns were found.
可以安装
No blocking action needed. Optionally audit the openclaw CLI dependency and restrict the file search scope to ~ or /home to limit exposure to system-wide enumeration.
安全发现 1 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 低危 | System-wide file enumeration 敏感访问 | SKILL.md:38 |
| 资源类型 | 声明权限 | 推断权限 | 状态 | 证据 |
|---|---|---|---|---|
| 文件系统 | READ | WRITE | ✓ 一致 | send_file.py:47-57 — stages file to /dev/shm; cred_manager.py:119 — writes decry… |
| 命令执行 | WRITE | WRITE | ✓ 一致 | send_file.py:82 — subprocess.run(openclaw); cred_manager.py:36,47,67 — subproces… |
| 网络访问 | READ | READ | ✓ 一致 | send_file.py:82 — openclaw message send (outbound messaging only, no inbound fet… |
| 环境变量 | NONE | NONE | — | No os.environ iteration; key path is hardcoded as a path, not env var |
| 技能调用 | NONE | NONE | — | No recursive skill invocations found |
目录结构
4 文件 · 19.0 KB · 526 行 Python 2f · 361L
Markdown 1f · 160L
JSON 1f · 5L
├─
▾
scripts
│ ├─
cred_manager.py
Python
│ └─
send_file.py
Python
├─
_meta.json
JSON
└─
SKILL.md
Markdown
依赖分析 3 项
| 包名 | 版本 | 来源 | 已知漏洞 | 备注 |
|---|---|---|---|---|
openclaw | unknown | system CLI | 否 | External CLI dependency — not in requirements.txt; security depends on openclaw's own implementation |
age | unknown | system CLI | 否 | Standard age encryption tool; no known vulnerabilities |
age-keygen | unknown | system CLI | 否 | Part of the age package |
安全亮点
✓ No obfuscation: all code is plain-text Python, no base64, no eval/atob
✓ No external network connections: openclaw is the sole outbound channel, called via subprocess
✓ No credential exfiltration: credentials stay encrypted at rest in ~/Documenti/credentials/
✓ Secure memory handling: plaintext decrypted to RAM (/dev/shm), zeroed from memory after use
✓ Secure deletion: plaintext overwritten with zeros + fsync before unlink
✓ Encryption is legitimate: age X25519 + ChaCha20-Poly1305 + Argon2id is a proper modern cipher suite
✓ RAG indexing blacklist: credentials/ explicitly excluded from RAG index
✓ No reverse shell, no C2, no data theft indicators
✓ All subprocess calls are documented and necessary for the feature
✓ File size validation (50 MB Telegram limit) prevents resource exhaustion