身份证二要素核验 - 聚合数据
Analysis
This skill does what it claims, but it handles very sensitive identity data and the included script sends the API key, name, and ID number over plain HTTP and may print unmasked personal data.
Findings (3)
Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.
Checks for instructions or behavior that redirect the agent, misuse tools, execute unexpected code, cascade across systems, exploit user trust, or continue outside the intended task.
"realname": res.get("realname", realname),
"idcard": res.get("idcard", idcard),
...
print(json.dumps(result, ensure_ascii=False, indent=2))Although the skill documentation instructs the agent to display desensitized results, the script prints the raw result object after the masked output; that object can include the full name and ID number.
Checks whether tool use, credentials, dependencies, identity, account access, or inter-agent boundaries are broader than the stated purpose.
requires":{"bins":["python3"],"env":["JUHE_IDCARD_VERIFY_KEY"]},"primaryEnv":"JUHE_IDCARD_VERIFY_KEY"The skill requires a Juhe API credential, which is expected for this API integration but gives the script authority to spend or use the user's Juhe account quota.
Checks for exposed credentials, poisoned memory or context, unclear communication boundaries, or sensitive data that could leave the user's control.
API_URL = "http://op.juhe.cn/idcard/query"
...
params = urllib.parse.urlencode({
"key": api_key,
"realname": realname,
"idcard": idcard,
})The script sends the API key, real name, and ID number to the provider using plain HTTP query parameters, exposing highly sensitive identity data and the credential to network interception or logging.
