Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

feishu-files

A simple skill send files to feishu.

MIT-0 · Free to use, modify, and redistribute. No attribution required.
0 · 88 · 0 current installs · 0 all-time installs
byBingo@bingothreed
MIT-0
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
high confidence
!
Purpose & Capability
The skill's stated purpose (send files to Feishu) matches the runtime actions (obtain tenant token, upload image, send message). However the registry metadata declares no required env vars or config paths while the instructions explicitly read /root/.openclaw/openclaw.json for appId/appSecret and call python3/curl. Those reads and binaries are necessary for the implementation but are not declared in the skill metadata, which is an incoherence.
!
Instruction Scope
SKILL.md tells the agent to run shell/python3/curl commands and to read a local OpenClaw config file (/root/.openclaw/openclaw.json). That file contains secrets (appId/appSecret) needed to mint tokens. The instructions permit uploading arbitrary local files (image/video paths) to Feishu — appropriate for the feature but also a potential exfiltration vector if misused. The instructions are also hardcoded to a root path and assume presence of python3 and curl, making them platform-specific and undeclared.
Install Mechanism
There is no install spec (instruction-only), so nothing is written to disk by the skill itself. This is lower risk than arbitrary downloads, but the runtime instructions require external tools (python3, curl) which the registry did not list as required binaries.
!
Credentials
The skill declares no required credentials or config paths, yet the steps read appId/appSecret from an on-disk OpenClaw config file. Accessing secret credentials without declaring them is disproportionate and should be surfaced to users. While the secrets are used for Feishu API access (which is consistent with the purpose), the skill metadata should declare that it needs those credentials or accept them via explicit env vars.
Persistence & Privilege
The skill does not request always:true, does not modify other skills or system-wide settings, and is user-invocable only. Autonomous invocation is allowed (platform default) but not combined with other high-risk privileges here.
What to consider before installing
This skill will run shell commands (curl, python3) and reads your OpenClaw config file (/root/.openclaw/openclaw.json) to extract the Feishu appId/appSecret and mint a tenant token, then uploads a local file to Feishu. Before installing, consider: 1) The skill metadata doesn't declare that it needs your OpenClaw config or the python3/curl binaries — verify and be comfortable with that. 2) Inspect /root/.openclaw/openclaw.json to confirm it only contains credentials you intend to share; if you don't want the skill to read that file, do not install or modify the SKILL.md to accept credentials via explicit env vars. 3) Because the skill can upload arbitrary local files, avoid running it where sensitive files are present, and run it with least privilege. 4) Ask the publisher to: declare required config paths/binaries in the registry, provide an alternative that takes appId/appSecret as explicit parameters or env vars, and avoid hardcoded /root paths so the instructions work on non-root/Windows systems. If you can't confirm these changes, treat the skill cautiously or run it in an isolated environment.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.0.2
Download zip
latestvk97c56dw892mfr76enzwxj7p8h83dq9h

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

SKILL.md

Skill: 飞书发文件

飞书发文件(重要!目前只测试了图片和视频)

OpenClaw的message工具目前不能直接在飞书发送本地视频或图像。 正确方法:用exec工具执行curl调飞书API,分三步:

Step 1: 获取tenant_access_token

APP_SECRET=$(python3 -c "import json; c=json.load(open('/root/.openclaw/openclaw.json')); print(c['channels']['feishu']['appSecret'])") APP_ID=$(python3 -c "import json; c=json.load(open('/root/.openclaw/openclaw.json')); print(c['channels']['feishu']['appId'])") TOKEN=$(curl -s -X POST 'https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal'
-H 'Content-Type: application/json'
-d '{"app_id":"'$APP_ID'","app_secret":"'$APP_SECRET'"}'
| python3 -c "import json,sys; print(json.load(sys.stdin)['tenant_access_token'])")

Step 2: 上传图片获取image_key

IMAGE_KEY=$(curl -s -X POST 'https://open.feishu.cn/open-apis/im/v1/images'
-H "Authorization: Bearer $TOKEN"
-F "image_type=message"
-F "image=@/path/to/image.png"
| python3 -c "import json,sys; print(json.load(sys.stdin)['data']['image_key'])")

Step 3: 发送图片消息

curl -s -X POST 'https://open.feishu.cn/open-apis/im/v1/messages?receive_id_type=open_id'
-H "Authorization: Bearer $TOKEN"
-H "Content-Type: application/json"
-d '{"receive_id":"收信人open_id","msg_type":"image","content":"{"image_key":"'$IMAGE_KEY'"}"}'

Files

2 total
Select a file
Select a file to preview.

Comments

Loading comments…