Skill flagged — suspicious patterns detected

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

esign-contract

v1.0.5

e签宝电子签名技能 — 支持 AI 生成任意类型的合同/协议并排版为 PDF, 上传已有文件发起电子签署,返回签署链接。 触发场景:用户要求生成、起草、撰写任何类型的合同或协议(如"写个借款合同"、 "帮我拟一份保密协议"、"起草租赁合同"),或要求对已有合同文件发起签署、 查询签署进度、撤销签署、下载签署文件、...

0· 31·0 current·0 all-time
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 code and SKILL.md implement e-signature lifecycle (contract generation, PDF formatting, upload, signature flow management) and match the skill name and description. However the skill metadata only declares ESIGN_APP_ID as the primary credential while the code and instructions require ESIGN_APP_SECRET (and optionally ESIGN_BASE_URL). This mismatch between declared requirements and actual needs is an incoherence.
!
Instruction Scope
Runtime instructions direct the agent to collect and write credentials to ~/.config/esign-contract/.env and to create/modify files in the user home (token_cache.json, fonts, venv). The references also instruct the agent to auto-edit project settings.json to add allowedTools for 'Claude Code' (i.e., modify other agent/project config). The SKILL.md also instructs the agent to request credentials interactively in chat and to write them using Bash heredoc—both expand the agent's scope to handling sensitive secrets and modifying unrelated project settings, which is beyond the core purpose of formatting/uploading contracts.
Install Mechanism
No remote download/install spec in skill registry, but SKILL.md requires creating a Python virtualenv and installing requirements (weasyprint, pdfplumber, python-docx, etc.). These are normal but weasyprint requires native libraries (pango/cairo) and the requirements include pytest (odd for runtime). No arbitrary external URLs or extract-from-URL installs were found.
!
Credentials
The skill's runtime and code require ESIGN_APP_ID and ESIGN_APP_SECRET (and may use ESIGN_BASE_URL), but only ESIGN_APP_ID is declared as the primary credential and requires.env is empty. The SKILL.md instructs asking the user to paste secrets into chat (format 'appId;appSecret') and then writes them to disk—this risks secret exposure in chat history and gives the agent access to credentials beyond what the registry metadata advertises. The skill will also create and cache tokens in the user's config directory (token_cache.json).
!
Persistence & Privilege
The skill will create persistent files in the user's home (~/.config/esign-contract/.env, token_cache.json, fonts, and a scripts/.venv inside the skill directory). More concerning: the signing guide instructs automatically modifying project settings.json to add allowedTools for Claude Code (i.e., altering other agent/project configuration). Modification of other projects' settings is out-of-scope for a signing helper and is a notable privilege escalation.
What to consider before installing
What to consider before installing or running this skill: - Credentials: The code requires both ESIGN_APP_ID and ESIGN_APP_SECRET (and may use ESIGN_BASE_URL), but the registry only lists ESIGN_APP_ID. Do not paste secrets into chat unless you trust the skill and agent environment. Prefer to manually create ~/.config/esign-contract/.env and populate ESIGN_APP_ID and ESIGN_APP_SECRET yourself. - Files written to your system: The skill creates ~/.config/esign-contract/, token_cache.json, may store fonts there, and creates a Python venv under scripts/.venv and installs packages. Expect native system libraries to be required for weasyprint (Pango/Cairo). - Project config modification: The signing guide includes an instruction to auto-edit ~/.claude/projects/.../settings.json to add allowedTools. This modifies other agent/project settings and is out-of-scope for an e-sign helper — decline or review that step and perform it manually if you understand the ramifications. - Sensitive prompts & chat history: SKILL.md suggests asking users to provide credentials in chat. This can expose secrets in chat logs. If you must provide credentials, use secure out-of-band methods (manual file creation, environment variables in an isolated environment) rather than chat. - Review the code: If you plan to use the skill, inspect the included Python scripts (esign_api.py, format_contract.py, extract_text.py) yourself. Confirm endpoints (they appear to target eSign's documented endpoints), and verify there are no hidden external endpoints. - Run in isolation: Consider running this skill in a sandboxed account or VM, and create the .env manually. Deny any automatic modification of other projects' settings and do not allow the agent to auto-write secrets. If you want, I can: list the exact lines that reference ESIGN_APP_SECRET and the settings.json modification, or provide step-by-step safe setup instructions (how to create the .env, create venv, and run a single command) so you don't have to give secrets in chat.

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

latestvk97908c696sb5167472b2najj983yx9f

License

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

Runtime requirements

Primary envESIGN_APP_ID

Comments