Skill flagged — suspicious patterns detected
ClawHub Security flagged this skill as suspicious. Review the scan results before using.
obsidian to notion
v1.0.0Sync Markdown files from Obsidian to a Notion database, preserving rich text, tables, lists, code blocks, callouts, quotes, and managing page updates via ups...
⭐ 0· 62·0 current·0 all-time
byMichael Slater@molaters
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
OpenClaw
Suspicious
medium confidencePurpose & Capability
The script implements Obsidian→Notion sync behavior consistent with the skill description (parsing markdown, mapping to Notion blocks, upsert semantics). However the packaging/metadata is inconsistent: the registry lists no required binaries/env but the script invokes curl and reads NOTION_API_KEY from the environment (and the SKILL.md shows a different naming convention / editing-in-file approach). Declaring curl and the Notion credential would be expected.
Instruction Scope
Instructions tell the user to edit the script and run it — that is expected. Concerns: (1) the SKILL.md examples and README show a top-level NOTION_KEY constant, but the actual code uses a CONFIG dict and pulls NOTION_API_KEY from the env by default — the mismatch may cause confusion. (2) The script uses subprocess.run to call curl with the Authorization header on the command line, which can expose the token to other local users/process-listing tools (ps).
Install Mechanism
No install spec is provided (lowest install risk). The code executes external binary 'curl' via subprocess; the registry did not declare curl as a required binary. Ensure curl exists on target systems or modify the script to use a native HTTP library (requests) to avoid reliance on an undeclared external binary.
Credentials
Requested secrets/inputs are proportional: a Notion API token, a database ID, and local Obsidian path are reasonable for this functionality. However: (1) the repo/metadata declared 'Required env vars: none' while the script reads NOTION_API_KEY and the SKILL.md shows a different variable name; (2) the code sends the token on the curl command line (exposes token via process list).
Persistence & Privilege
The skill does not request permanent presence (always=false) and does not modify other skills or global agent config. It only acts when invoked.
What to consider before installing
This skill appears to do what it claims (sync Markdown to Notion) but check the code before running. Specifically: 1) Confirm how you provide the Notion token — the README/SKILL.md and the code disagree (file edit vs env var). 2) Install curl or (preferably) change the script to use Python's requests so the token is not passed on the command line (curl + Authorization header as argv can be visible to other users/processes). 3) Review and set the Notion integration scope to the minimal database permissions needed and rotate the token after use. 4) Verify OBSIDIAN_ROOT and TARGET_DIRS to avoid accidentally syncing unintended files. 5) Run the script in an isolated account or container when you first test it. If you are not comfortable auditing/patching the script, do not paste a production token into it; instead create a dedicated, limited Notion integration for testing.Like a lobster shell, security has layers — review code before you run it.
latestvk971vxw9j7xd23qx0qct6g3hwd83h2dr
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
