Skill flagged — suspicious patterns detected

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

Dingtalk Bot Publish

v1.0.0

调用钉钉开放平台API,支持用户搜索/详情/查询、部门管理(搜索/详情/子部门/用户列表/父部门)、机器人单聊消息发送、群聊消息发送、群内机器人列表查询、Stream模式事件推送、多会话隔离管理等核心功能。Use when needing to search DingTalk users or departmen...

1· 479·1 current·1 all-time
byZao_hon@zaohon
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
The name/description and the included scripts clearly implement DingTalk/OpenAPI features (user/department management, robot messages, Stream mode). The requested capabilities (accessing DingTalk APIs using AppKey/AppSecret) are coherent with the stated purpose.
Instruction Scope
SKILL.md and the scripts instruct the agent to read DINGTALK_APP_KEY / DINGTALK_APP_SECRET, call oapi.dingtalk.com (DingTalk), and optionally run a Stream bridge locally. The instructions are scoped to DingTalk integration and do not instruct reading unrelated system secrets or exfiltrating data to unexpected endpoints.
!
Install Mechanism
This is instruction-only (no platform install spec) which reduces risk, but package.json lists only axios and ws while many scripts import @alicloud/dingtalk, @alicloud/openapi-client and other alicloud SDK packages that are not declared—this mismatch will break installation and suggests sloppy packaging. SKILL.md also references pip package dingtalk-stream and a startup script name (start_dingtalk_stream.sh) that does not exactly match included script filenames, another mismatch. These inconsistencies are not evidence of malware but increase operational risk and require manual verification.
!
Credentials
The skill needs DingTalk credentials (DINGTALK_APP_KEY and DINGTALK_APP_SECRET) according to SKILL.md and multiple scripts (they read process.env.*). However the skill registry metadata declared no required env vars and no primary credential—this is an explicit metadata omission/inconsistency. The requested secrets themselves are proportionate to the purpose, but the metadata failing to declare them is a red flag for deploy-time surprises.
Persistence & Privilege
The skill does not request always:true, does not ask to modify other skills, and has no install spec that would write arbitrary binaries. It may persist session memory to a local memory/ directory at runtime per SKILL.md, which is normal for session management but should be considered by operators (ensure the memory path is acceptable).
What to consider before installing
What to check before installing or running this skill: 1) Credentials: SKILL.md (and scripts) require DINGTALK_APP_KEY and DINGTALK_APP_SECRET. The registry metadata does NOT declare these—don't run the skill until you set these in a secure vault or environment and understand where they will be used. 2) Dependencies: package.json only lists axios and ws, but the TypeScript scripts import @alicloud/dingtalk, @alicloud/openapi-client, @alicloud/tea-util, etc. Verify and install the missing SDK packages before running. This mismatch is likely an oversight but will break execution. 3) Script names and Stream setup: SKILL.md references a start script name and pip package names that don't exactly match included filenames. Inspect scripts/start-stream.sh, stream-bridge.py, and any start/stop shells to confirm what will execute, and run them in an isolated environment first (container or VM). 4) Network reachability & endpoints: Code calls oapi.dingtalk.com (expected). Confirm your environment permits outbound HTTPS to DingTalk and that you are comfortable granting the AppKey/AppSecret the requested DingTalk scopes. 5) Secrets handling & logs: Scripts print debug info and may log full API responses to stderr when --debug is used. Avoid running with debug enabled in production and ensure logs do not leak secrets. 6) Data persistence: Session memory is stored under a memory/ directory by default. If this contains sensitive conversation history, secure or relocate it and review retention/cleanup behavior. 7) Minimal privilege: When creating the DingTalk app, grant only the minimal scopes needed. Test in a non-production tenant first. 8) If you want higher confidence: ask the author for a corrected package.json and updated registry metadata declaring required env vars; run the code in an isolated environment and perform a dependency audit (npm list / npm audit) before granting credentials.

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

latestvk978smvx9wqqq57xf4qzktq37d81wscp

License

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

Comments