安全决策报告

bitable_to_feishu_webhook

Skill has undeclared network exfiltration capability through user-controlled webhook_url that can send data to any external endpoint, and uses eval() with potential code execution vectors not declared in permissions.

安装决策优先 来源: 手动上传 扫描时间: 2026/4/3
文件 6
IOC 4
越权项 1
发现 4
最直接的威胁证据
01
Attacker provides malicious webhook_url pointing to controlled server reconnaissance · SKILL.md inputs
02
User configures skill with attacker-provided webhook delivery · SKILL.md inputs
03
Skill POSTs bitable record data (including sensitive fields) to attacker-controlled URL 数据外泄 · scripts/push_skill.py

为什么得出这个结论

2/4 个维度触发
阻止
声明与实际能力

发现 1 项声明之外的能力或越权行为。

复核
隐藏执行与外联

提取到 4 个一般风险产物,需要结合上下文判断。

阻止
攻击链与高危发现

报告包含 3 步攻击链,另有 1 项高危或严重发现。

复核
依赖与供应链卫生

发现 2 项需要关注的依赖或供应链线索。

攻击链

01
Attacker provides malicious webhook_url pointing to controlled server

reconnaissance · SKILL.md inputs:17

02
User configures skill with attacker-provided webhook

delivery · SKILL.md inputs:17

03
Skill POSTs bitable record data (including sensitive fields) to attacker-controlled URL

数据外泄 · scripts/push_skill.py:175

风险分是怎么被拉高的

Undeclared webhook exfiltration +25

webhook_url accepts any URL, enabling data exfiltration to arbitrary endpoints not declared in network permissions

eval() with restricted but not sandboxed globals +15

eval() with __builtins__:{} still allows object construction attacks (type, __import__, etc.) - not declared in permissions

Duplicate undocumented script +5

scripts/push.py exists but is not referenced in SKILL.md entrypoint

最关键的证据

高危

Data exfiltration via undeclared webhook URL

The skill accepts a user-provided webhook_url parameter and sends formatted message data (including potentially sensitive fields from bitable records) to this URL. SKILL.md only declares network access to 'https://open.feishu.cn', but webhook_url can point to any external endpoint, enabling data exfiltration.

scripts/push_skill.py:175
Either whitelist webhook domains or explicitly declare the capability to send data to arbitrary URLs in SKILL.md permissions.
中危

eval() with potential code execution escape

eval_rule() uses eval() with __builtins__={}. While this removes direct builtins, it may still allow dangerous operations through object construction (type(), __import__ via getattr on builtins, etc.). Not declared in SKILL.md.

scripts/push_skill.py:103
Replace eval() with a safer expression parser (e.g., ast.literal_eval with restricted grammar) or explicitly declare the capability.
低危

Undocumented secondary script

scripts/push.py exists with similar functionality to push_skill.py but is not referenced in SKILL.md entrypoint.

scripts/push.py:1
Remove or document scripts/push.py if it's intentionally a separate entry point.
提示

Credentials handling appears safe

app_id and app_secret are used only for Feishu API authentication and are not exfiltrated. No access to ~/.ssh, ~/.aws, or .env files.

scripts/push_skill.py:68
No action needed.

声明能力 vs 实际能力

网络访问 阻止
声明 READ (https://open.feishu.cn only)
推断 WRITE (arbitrary URL via webhook_url)
scripts/push_skill.py:175-183 - send_to_webhook() POSTs to user-provided webhook_url without domain restriction
文件系统 通过
声明 NONE
推断 NONE
No file system operations found
命令执行 通过
声明 NONE
推断 NONE
No shell execution found
环境变量 通过
声明 NONE
推断 READ (INPUT_* vars)
Uses os.getenv() to read INPUT_* environment variables - expected but undocumented

可疑产物与外联

中危 外部 URL
https://open.feishu.cn/open-apis/bot/v2/hook/xxx)

SKILL.md:36

中危 外部 URL
https://open.feishu.cn

SKILL.md:66

中危 外部 URL
https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal

push_skill.py:59

中危 外部 URL
https://open.feishu.cn/open-apis/bitable/v1/apps/

push_skill.py:71

依赖与供应链

包名版本来源漏洞备注
requests >=2.25.0 pip Version pinned at lower bound only
urllib3 >=1.26.0 pip Version pinned at lower bound only

文件构成

6 个文件 · 805 行
Python 2 个文件 · 672 行Markdown 2 个文件 · 125 行JSON 1 个文件 · 5 行Text 1 个文件 · 3 行
需关注文件 · 3
push_skill.py Python · 594 行
https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal · https://open.feishu.cn/open-apis/bitable/v1/apps/
scripts/push.py Python · 78 行
Undocumented secondary script
SKILL.md Markdown · 67 行
https://open.feishu.cn/open-apis/bot/v2/hook/xxx) · https://open.feishu.cn
其他文件 · README.md · _meta.json · requirements.txt

安全亮点

No shell execution (subprocess, os.system, etc.)
No file system write operations
No credential harvesting from sensitive paths
No base64 decoding or obfuscated code execution
No hidden HTML/JS payloads
No clipboard access
Credentials (app_id, app_secret) are used only for intended Feishu API auth and not exfiltrated
HTTP requests are limited to defined Feishu API endpoints except for the user-controlled webhook_url