Caveat verdict

dingtalk-cli-auto

45
🟠 Risky
Significant risk patterns flagged — automated deep scan, not behavioral proof.

Accesses credentials AND makes external network calls

The documented installation path includes curl -fsSL ...install.sh | sh fetching and executing the DingTalk CLI installer from GitHub without integrity verification.

Automated static analysis — not a human review. Caveat flags capabilities, not confirmed intent, and can produce false positives. Disagree with this verdict? Use Dispute below.

0
security
30
transparency
80
maintenance

What it does

These are capability combinations: each listed behavior occurs in the skill, but Caveat detects co-occurrence — it does not verify that one flows into another. Read the code to confirm a live chain.

Capability combination high

Accesses credentials AND makes external network calls — potential credential theft

LLM02 · ASI03

Permission integrity

Makes network requests but does not declare curl/wget in required binaries

network_out

Code accesses API keys/tokens but declares no environment variables

credential_access

Installs packages at runtime — transitive dependencies are not auditable

package_install

Findings (7)

Pattern match critical

Pipe-to-shell pattern (curl | sh) — supply chain attack vector

SKILL.md · code · curl -fsSL https://raw.githubusercontent.com/DingTalk-Real-AI/dingtalk-workspace

Pattern match critical

Pipe to sh — executes piped content as shell commands

SKILL.md · code · | sh

Pattern match critical

Possible hardcoded credential

SKILL.md · code · SECRET="your-app-secret

Pattern match medium

Uses exec() — may execute shell commands

lib/calendar.js · prose · downgraded · exec(

Pattern match medium

References child_process — can spawn system processes

lib/dws.js · prose · downgraded · child_process

Pattern match low

Accesses sensitive environment variables

lib/dws.js · prose · downgraded · process.env.DWS_CLIENT_SECRET

Pattern match low

Popular HTTP library — network access

lib/message.js · prose · downgraded · axios

Why the tier is capped

Execution sink present in raw bytes (Hard Floor: class A/B/D/E). Final tier capped at Caution — cannot be lifted by any downgrade, example-payload opt-in, or allowlist.

Permissions & capabilities

No declared permissions — minimal attack surface.

network_outnetwork_incredential_accesspackage_install
Check another skill Browse the registry Auditing your own skills or configs? Use the API