Skills/ClawHub/joplin-api-china

joplin-api-china@1.4.1

CAUTION· static only

Publisher claims: "通过 Joplin Data API(Clipper Server)查询和管理笔记、笔记本、标签。支持本地直连和 SSH 远程两种模式。包含读写删全部操作,写/删需用户确认。触发词:"查 Joplin"、"Joplin 笔记"、"joplin search"、"create note in joplin" 等。" Observed in sandbox: static analysis only — behavior not yet observed.

Registry ClawHubPublisher yangyangupday · publishing for 146 daysInstalls 1,016Last detonated 41 h ago

Coverage

Static only; nothing was run yet.

The label rests on the code, the instruction files and the publisher. The honeypot run replaces this verdict when it completes.

Is [email protected] safe to install?

KillerSkills analysed it statically (a sandbox run is pending) on 2026-11-12 and scored it 52/100 (Caution). It is not known to be malicious, but it has behaviour or code a security policy should decide on before install. Notable findings: Access to sensitive file paths; Access to sensitive file paths; Access to sensitive file paths. Summary: static analysis only — behavior not yet observed.

Behavior trace

Queued for honeypot run · static analysis only
t+CategoryObserved action

This version has not been detonated yet. The score above counts behavior as unknown (50/100), so it cannot read Verified until the honeypot run completes and replaces this verdict.

Static findings

HIGH
Access to sensitive file pathsSKILL.md:25 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesnano .env # 填入 api_token 和 joplin_hostFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsscripts/joplin.py:19 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files# ── Load .env ──────────────────────────────────────────────Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsSKILL.md:24 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filescp .env.example .envFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsSKILL.md:192 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files### .env 文件Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsSKILL.md:32 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files4. 粘贴到 `.env` 的 `api_token=` 后面Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsscripts/joplin.py:17 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesENV_FILE = os.path.join(SCRIPT_DIR, "..", ".env")Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Host or command assembled from base64 fragmentsscripts/joplin.sh:74 · Host or command assembled from base64 fragmentsssh "$HOST" "JOP_URL='${url}' JOP_BODY='${b64}' JOP_METHOD=${method} bash -c 'curl -s -X \$JOP_METHOD -H \"Content-Type: application/json\" -d \"\$(echo \"\$JOP_BODY\" | base64 -d)\" \"\$JOP_URL\"'"Fix: Put hosts, commands and strings in plain source. Decoding at runtime looks identical to malware and costs points on its own.
AST07
HIGH
Access to sensitive file pathsscripts/joplin.py:24 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesprint(f"Error: {path} not found. Copy .env.example to .env and set api_token.", file=sys.stderr)Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsscripts/joplin.sh:21 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files# Parse .env (skip comments and empty lines)Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsscripts/joplin.sh:13 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesecho "Error: $ENV_FILE not found. Copy .env.example to .env and set api_token." >&2Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsscripts/joplin.sh:10 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files# ── Load .env ──────────────────────────────────────────────Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
Python subprocess execution detectedscripts/joplin.py:83 · Python subprocess execution detectedresult = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
File permission modification commandSKILL.md:232 · File permission modification command — agent changes file ownership/permissions- 建议:`.env` 文件权限设为 `600`(`chmod 600 .env`),并通过 `.gitignore` 排除Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05
MEDIUM
Python subprocess execution detectedscripts/joplin.py:112 · Python subprocess execution detectedresult = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
HIGH
Access to sensitive file pathsscripts/joplin.sh:8 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesENV_FILE="$SCRIPT_DIR/../.env"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05

Cost to the agent

Instructions loaded
≈1,348 tok
1 file · 5 in bundle

Tokens estimated at four characters each. Skills load their instruction text when triggered; the figure is what that costs.

Known vulnerabilities

Vulnerability advisories (OSV) cover npm and PyPI packages; this registry has no advisory database.

What would make this Verified

28 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%
  1. Unclaimed publisher≈ +8 on the totalClaim yangyangupday: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
  2. Obfuscated code≈ +5 on the totalRemove base64-assembled strings, eval of decoded text and minified blobs. Reviewers and scanners both treat unreadable code as hostile.
  3. Access to sensitive file paths≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
  4. Host or command assembled from base64 fragments≈ +4 on the totalPut hosts, commands and strings in plain source. Decoding at runtime looks identical to malware and costs points on its own.
  5. Python subprocess execution detected≈ +2 on the totalBuild commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
  6. File permission modification command≈ +2 on the totalRequest the narrowest permission that works; replace wildcards with the exact paths or hosts.
Publish a new version to ClawHub, then queue it here. Not your skill? Claim the handle to get verdict changes by email.Claim yangyangupdayPropose a patch to the maintainer