低风险 — 风险评分 20/100
上次扫描:1 天前 重新扫描
20 /100
feishu-integration
飞书开放平台完整对接方案,支持文档管理、知识库操作、文件上传、Markdown导入、消息解析、OCR识别、群欢迎机器人等功能
Legitimate Feishu API integration skill with no malicious behavior; primary concern is hardcoded credentials in config/feishu.env that SKILL.md explicitly warns against committing.
技能名称feishu-integration
分析耗时64.8s
引擎pi
可以安装
Remove hardcoded app_secret from config/feishu.env and use environment variables only. Add config/feishu.env to .gitignore. Otherwise, the skill's declared and actual capabilities are consistent.

安全发现 2 项

严重性 安全发现 位置
中危
Hardcoded application credentials in committed config file 供应链
config/feishu.env contains a hardcoded FEISHU_APP_SECRET (LuSwVCJUMGppIiM8FBMWfcFtMuAIRzqh) which is committed to the repository. SKILL.md warns 'app_secret 不要提交到代码仓库' but provides no enforcement mechanism. An attacker with repository access could extract and misuse these credentials.
FEISHU_APP_SECRET=LuSwVCJUMGppIiM8FBMWfcFtMuAIRzqh
→ Move credentials to environment variables only. Add config/feishu.env to .gitignore. Use: FEISHU_APP_SECRET=${FEISHU_APP_SECRET:-} and source from the environment.
config/feishu.env:1
低危
requests library version not pinned in Python scripts 供应链
group-welcome.py and other Python scripts import requests but do not specify a version constraint. While requests is a widely-used library, unpinned versions could theoretically pull a compromised dependency.
import requests
→ Add a requirements.txt file with pinned versions: requests>=2.31.0
scripts/group-welcome.py:28
资源类型声明权限推断权限状态证据
网络访问 READ READ ✓ 一致 All curl/requests calls go to open.feishu.cn only
命令执行 NONE WRITE ✓ 一致 group-welcome.py:178 calls subprocess.run() for feishu-auth.sh; documented but n…
文件系统 NONE READ ✓ 一致 group-welcome.py:95 reads ~/.openclaw/.env; legitimate for config loading
环境变量 NONE READ ✓ 一致 Scripts read FEISHU_APP_ID/SECRET from config files and env vars; declared in do…
剪贴板 NONE NONE No clipboard access detected
浏览器 NONE NONE No browser access detected
数据库 NONE NONE No database access detected
技能调用 NONE NONE No cross-skill invocation detected
33 项发现
🔗
中危 外部 URL 外部 URL
https://uniquecapital.feishu.cn/docx/BZTvd4SMSo6OzsxodHnckHh8nZb
CHANGELOG.md:91
🔗
中危 外部 URL 外部 URL
https://open.feishu.cn/document/
CHANGELOG.md:148
🔗
中危 外部 URL 外部 URL
https://docs.openclaw.ai/
CHANGELOG.md:149
🔗
中危 外部 URL 外部 URL
https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal
SKILL.md:176
🔗
中危 外部 URL 外部 URL
https://open.feishu.cn/open-apis/
SKILL.md:196
🔗
中危 外部 URL 外部 URL
https://open.feishu.cn/open-apis/NEW_API_PATH
SKILL.md:291
🔗
中危 外部 URL 外部 URL
https://dotenvx.com
reference-feishu-common/package-lock.json:76
🔗
中危 外部 URL 外部 URL
https://open.feishu.cn/open-apis/im/v1/messages/$
reference-feishu-message/get.js:45
🔗
中危 外部 URL 外部 URL
https://open.feishu.cn/open-apis/im/v1/p2p_chats
reference-feishu-message/get_latest_file.js:38
🔗
中危 外部 URL 外部 URL
https://open.feishu.cn/open-apis/im/v1/messages?container_id_type=chat&container_id=$
reference-feishu-message/get_latest_file.js:53
🔗
中危 外部 URL 外部 URL
https://www.patreon.com/feross
reference-feishu-message/package-lock.json:475
🔗
中危 外部 URL 外部 URL
https://feross.org/support
reference-feishu-message/package-lock.json:479
🔗
中危 外部 URL 外部 URL
https://buymeacoffee.com/borewit
reference-feishu-message/package-lock.json:564
🔗
中危 外部 URL 外部 URL
https://open.feishu.cn/open-apis/im/v1/files
reference-feishu-message/send-audio.js:68
🔗
中危 外部 URL 外部 URL
https://open.feishu.cn/open-apis/im/v1/messages?receive_id_type=$
reference-feishu-message/send-audio.js:134
🔗
中危 外部 URL 外部 URL
https://open.feishu.cn/open-apis/drive/v1/medias/upload_all
references/import-workflow.md:28
🔗
中危 外部 URL 外部 URL
https://open.feishu.cn/open-apis/drive/v1/import_tasks
references/import-workflow.md:56
🔗
中危 外部 URL 外部 URL
https://open.feishu.cn/open-apis/drive/v1/import_tasks/7605680347254590654
references/import-workflow.md:90
🔗
中危 外部 URL 外部 URL
https://moxunkeji.feishu.cn/docx/V4mYdLUc3oIAklxG1ducsbTQnKc
references/import-workflow.md:102
🔗
中危 外部 URL 外部 URL
https://open.feishu.cn/document/server-docs/im-v1/message/message-content
references/message-parsing.md:237
🔗
中危 外部 URL 外部 URL
https://open.feishu.cn/document/server-docs/ai/optical_char_recognition-v1/image/recognize_basic
references/message-parsing.md:238
🔗
中危 外部 URL 外部 URL
https://config-center/api/feishu/token
references/token-management.md:44
🔗
中危 外部 URL 外部 URL
https://open.feishu.cn
references/token-management.md:94
🔗
中危 外部 URL 外部 URL
https://open.feishu.cn/open-apis/docx/v1/documents/$
scripts/feishu-api.sh:21
🔗
中危 外部 URL 外部 URL
https://open.feishu.cn/open-apis/wiki/v2/spaces
scripts/feishu-api.sh:137
🔗
中危 外部 URL 外部 URL
https://open.feishu.cn/open-apis/wiki/v2/spaces/$
scripts/feishu-api.sh:146
🔗
中危 外部 URL 外部 URL
https://open.feishu.cn/open-apis/drive/v1/files
scripts/feishu-api.sh:172
🔗
中危 外部 URL 外部 URL
https://open.feishu.cn/open-apis/drive/v1/files/upload_all
scripts/feishu-api.sh:190
🔗
中危 外部 URL 外部 URL
https://open.feishu.cn/open-apis/drive/v1/import_tasks/$
scripts/feishu-api.sh:248
🔗
中危 外部 URL 外部 URL
https://open.feishu.cn/open-apis
scripts/feishu-message-parser.py:19
🔗
中危 外部 URL 外部 URL
https://open.feishu.cn/open-apis/optical-char-recognition/v1/image/recognize_basic
scripts/feishu-ocr.py:41
🔗
中危 外部 URL 外部 URL
https://open.feishu.cn/open-apis/im/v1/chats/
scripts/group-welcome.py:317
🔗
中危 外部 URL 外部 URL
https://open.feishu.cn/open-apis/im/v1/messages
scripts/group-welcome.py:459

目录结构

35 文件 · 149.4 KB · 5242 行
Markdown 8f · 1384L JSON 6f · 1179L Python 3f · 1156L JavaScript 12f · 978L Shell 5f · 540L Env 1f · 5L
├─ 📁 config
│ └─ 📄 feishu.env Env 5L · 177 B
├─ 📁 examples
│ ├─ 🔧 ocr_image.sh Shell 21L · 346 B
│ ├─ 🔧 parse_rich_text.sh Shell 20L · 524 B
│ └─ 🔧 parse_text.sh Shell 20L · 350 B
├─ 📁 reference-feishu-common
│ ├─ 📋 _meta.json JSON 17L · 461 B
│ ├─ 📜 feishu-client.js JavaScript 1L · 40 B
│ ├─ 📜 index.js JavaScript 138L · 5.3 KB
│ ├─ 📋 package-lock.json JSON 308L · 10.4 KB
│ ├─ 📋 package.json JSON 15L · 367 B
│ └─ 📝 SKILL.md Markdown 29L · 750 B
├─ 📁 reference-feishu-message
│ ├─ 📋 _meta.json JSON 32L · 991 B
│ ├─ 📜 create_chat.js JavaScript 73L · 2.5 KB
│ ├─ 📜 disband_chat.js JavaScript 48L · 1.4 KB
│ ├─ 📜 get_chat_info.js JavaScript 45L · 1.1 KB
│ ├─ 📜 get_latest_file.js JavaScript 70L · 2.9 KB
│ ├─ 📜 get.js JavaScript 138L · 5.4 KB
│ ├─ 📜 index.js JavaScript 107L · 3.7 KB
│ ├─ 📜 list_pins_v2.js JavaScript 78L · 2.4 KB
│ ├─ 📜 list_pins.js JavaScript 81L · 2.2 KB
│ ├─ 📋 package-lock.json JSON 793L · 28.2 KB
│ ├─ 📋 package.json JSON 14L · 357 B
│ ├─ 📜 send-audio.js JavaScript 166L · 5.4 KB
│ ├─ 📜 send.js JavaScript 33L · 972 B
│ └─ 📝 SKILL.md Markdown 56L · 1.4 KB
├─ 📁 references
│ ├─ 📝 api-reference.md Markdown 243L · 4.4 KB
│ ├─ 📝 import-workflow.md Markdown 193L · 3.6 KB
│ ├─ 📝 message-parsing.md Markdown 246L · 5.2 KB
│ └─ 🔑 token-management.md Markdown 141L · 2.8 KB
├─ 📁 scripts
│ ├─ 🔧 feishu-api.sh Shell 380L · 10.1 KB
│ ├─ 🔧 feishu-auth.sh Shell 99L · 2.3 KB
│ ├─ 🐍 feishu-message-parser.py Python 271L · 9.0 KB
│ ├─ 🐍 feishu-ocr.py Python 76L · 1.9 KB
│ └─ 🐍 group-welcome.py Python 809L · 20.5 KB
├─ 📝 CHANGELOG.md Markdown 149L · 3.5 KB
└─ 📝 SKILL.md Markdown 327L · 8.7 KB

依赖分析 3 项

包名版本来源已知漏洞备注
requests * pip Version not pinned
axios ^1.6.0 npm Pinned in reference-feishu-common
dotenv ^16.3.1 npm Pinned in reference-feishu-common

安全亮点

✓ All network requests target only open.feishu.cn — no data exfiltration to external servers
✓ SKILL.md accurately describes all core capabilities with no hidden functionality
✓ No base64-encoded execution, eval(), or obfuscated code present
✓ No credential harvesting beyond what's needed for Feishu API authentication
✓ No access to sensitive paths (~/.ssh, ~/.aws, ~/.netrc) or cron/persistence mechanisms
✓ Token caching uses /tmp/ (non-persistent) which is appropriate for transient credentials
✓ shell:WRITE via subprocess is used only for feishu-auth.sh (legitimate token management)
✓ Documentation includes explicit security reminders and best practices