log-polish-enus-images
Analysis
This appears to be a local blog-polishing workflow with no evidenced credential use or data exfiltration, but users should notice that it reads/writes local files, stores draft content in workflow state, and has an undeclared jq dependency.
Findings (4)
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.
draftPath="${input_draftPath:-$HOME/.openclaw/workspace/contentDraft/latestDraft.md}" ... mkdir -p "$outputDir" ... content=$(cat "$draftPath") ... echo -e "$polished_content" > "$polishedPath"The skill uses shell commands and user-configurable paths to read a draft and write output files. This is expected for the stated purpose, but it gives the workflow local file read/write capability.
metadata:\n openclaw:\n requires: [] ... imagePaths_json=$(printf '%s\n' "${image_paths[@]}" | jq -R . | jq -s .)The skill declares no required binaries but uses jq in the workflow. This is an incomplete dependency declaration rather than evidence of malicious behavior.
description: Polish a technical blog draft into an 1000–1200 word, 4-5 section en-US article ... polished_content="# $title\n\n## Introduction\nContent polished and restructured..."
The stated capability promises a polished article, while the shown workflow constructs placeholder content. This is a quality and expectation mismatch users should notice.
Checks for exposed credentials, poisoned memory or context, unclear communication boundaries, or sensitive data that could leave the user's control.
content=$(cat "$draftPath")\n save_state content
The draft file content is copied into workflow state. That is purpose-aligned for processing a blog draft, but it is still storage of user-provided content.
