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.
Why this conclusion was reached
2/4 dimensions flagged1 undeclared or violating capabilities were inferred.
4 lower-risk artifacts were extracted and still need context.
The report includes 3 attack-chain steps and 1 severe findings.
2 dependency or supply-chain issues need attention.
Attack Chain
reconnaissance · SKILL.md inputs:17
delivery · SKILL.md inputs:17
Exfiltration · scripts/push_skill.py:175
What drove the risk score up
webhook_url accepts any URL, enabling data exfiltration to arbitrary endpoints not declared in network permissions
eval() with __builtins__:{} still allows object construction attacks (type, __import__, etc.) - not declared in permissions
scripts/push.py exists but is not referenced in SKILL.md entrypoint
Most important evidence
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 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 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 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 Declared capability vs actual capability
scripts/push_skill.py:175-183 - send_to_webhook() POSTs to user-provided webhook_url without domain restriction No file system operations found No shell execution found Uses os.getenv() to read INPUT_* environment variables - expected but undocumented Suspicious artifacts and egress
https://open.feishu.cn/open-apis/bot/v2/hook/xxx) SKILL.md:36
https://open.feishu.cn SKILL.md:66
https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal push_skill.py:59
https://open.feishu.cn/open-apis/bitable/v1/apps/ push_skill.py:71
Dependencies and supply chain
| Package | Version | Source | Known vuln | Notes |
|---|---|---|---|---|
| requests | >=2.25.0 | pip | No | Version pinned at lower bound only |
| urllib3 | >=1.26.0 | pip | No | Version pinned at lower bound only |
File composition
push_skill.py scripts/push.py SKILL.md