file-browser
ReviewAudited by ClawScan on May 10, 2026.
Overview
This is mostly a read-only workspace file browser, but its path and output handling could let workspace symlinks or crafted file contents escape the intended safety boundary.
Install only if you are comfortable with the agent reading files in the workspace. Before use, the author should harden path containment against symlinks and properly escape JSON output so local file contents cannot confuse the tool response.
Findings (1)
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.
A file or symlink inside the workspace could cause the agent to read data outside the intended workspace, and crafted file contents could break or manipulate the tool's JSON output.
The script enforces the workspace boundary only with string checks and then reads the resulting path. It does not canonicalize the path or reject symlinks, so a symlink inside the workspace could point outside it. It also embeds raw file content directly into JSON without escaping.
FULL_PATH="$WORKSPACE/$REL_PATH"
if [[ "$REL_PATH" == *'..'* || "$REL_PATH" == '/'* ]]; then ...
CONTENT=$(head -c 10240 "$FULL_PATH" | tr -d '\0')
echo "{\"success\": true, \"data\": \"$CONTENT\"}"Resolve paths with realpath/readlink, verify the canonical path stays under the workspace, reject or explicitly handle symlinks, and use a proper JSON encoder such as jq or Python json.dumps for file names and file contents.
