T09 · Insecure Skill Coding Practices
- Location
scripts/wecom_common.sh:195- Finding
Unrestricted Webhook URL Enables SSRF and Sensitive Data Exfiltration
- Content
View full analysis
/dev/null || md5sum "$IMAGE_PATH" | awk '{print $1}') BODY=$(jq -n \ --arg base64 "$IMG_BASE64" \ --arg md5 "$IMG_MD5" \ '{ msgtype: "image", image: { base64: $base64, md5: $md5 } }') if wecom_send "$BODY"; then echo "✅ Image sent successfully" else exit 1 fi ``` ### Technical Analysis The destination used by `curl` can originate from the `--url` argument, `WECOM_WEBHOOK_URL`, or the local chat registry. The code only checks whether a URL is present; it does not validate: - The URL scheme - The destination hostname - The destination port - Whether the address resolves to a loopback, private, link-local, o ...[truncated 2380 chars]- Remediation
View remediation
