dingtalk-message

github.com/breath57/dingtalk-skills
Verdict: Do not install
1 critical0 high1 medium
D
SCORE 30 / 100
$skillox install dingtalk-messageSoon
Sign in to followFollowing emails you when a re-scan drops the grade. Opt-out is per-creator on /account/billing.

Why grade D?

score · 30 / 100

The current grade reflects 1 critical finding (any single CRIT → D).

1 CRIT0 HIGH1 MED0 LOW
To reach a higher grade
  • C
    Reach Ctarget score 55

    Resolve all 1 CRIT findings.

  • B
    Reach Btarget score 75

    Resolve all 1 CRIT.

  • A
    Reach Atarget score 95

    Resolve all 1 CRIT.

Thresholds are documented at /docs/grading. Source-of-truth is the grade() function in @skillox/scanner.

Latest scan findings

Scan crawl-vhnnskrafd2v5pf03cihp940 · Thu, 28 May 2026 17:12:22 GMT · 1ms

crit
URL embeds a credential variable
The skill builds a URL that interpolates a secret into the query string. If the agent makes this request, the credential leaves the trust boundary.
rule: url-exfiltrationline: 68CWE-200
66
67# 工作通知示例
68RESP=$(curl -s -w '\nHTTP_STATUS:%{http_code}' -X POST "https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2?access_token=$OLD_TOKEN" \URL interpolates a credential into the query string
69 -H "Content-Type: application/json" \
70 -d '{"agent_id":"'$AGENT_ID'","userid_list":"'$USER_ID'","msg":{"msgtype":"text","text":{"content":"测试工作通知"}}}')
med
No capability manifest declared
The skill ships without a `manifest.yaml` or `capabilities` block in its frontmatter. Without a manifest, the runtime cannot enforce what this skill is permitted to do.
rule: no-manifest
View latest scan →
skillox.io/c/dingtalk-message