Back to skill
Skillv1.0.0
ClawScan security
Apprentice · ClawHub's context-aware review of the artifact, metadata, and declared behavior.
Scanner verdict
SuspiciousFeb 20, 2026, 2:59 PM
- Verdict
- suspicious
- Confidence
- high
- Model
- gpt-5-mini
- Summary
- The skill's files are self-contained and local, but its documentation overstates capabilities (automatic observation and 'sandboxed' execution) and the runtime actually writes and runs unsandboxed shell scripts created from user-recorded steps — review generated SKILL.md/run.sh carefully before executing workflows.
- Guidance
- Key points to consider before installing or using Apprentice: - The code is local and uses only the Python standard library, but the documentation overstates features: it does NOT implement automatic OS-level or audio monitoring — it records whatever you explicitly submit during observation (you must narrate or call observe.py record). - Generated workflows produce run.sh which is executed as a normal shell script (via bash). Despite the term "sandboxed execution" in the docs, there is no sandboxing. Treat generated run.sh files as potentially dangerous: inspect them before running, especially if you ever narrated or included commands that touch credentials, ssh keys, git remotes, or network endpoints. - Workflows can include commands that trigger external network activity (git push, curl, remote add); the apprentice code itself makes no external calls, but your recorded steps can cause network I/O when run. Use --dry-run/preview before running live. - Variable detection and substitution are heuristic and imperfect; verify that variable replacements in run.sh are correct and won't accidentally leak secrets or mis-substitute values. - Recommended precautions: review observation.json and the generated SKILL.md/run.sh before first run, run in a safe environment (container or VM) for initial tests, avoid narrating secrets or passphrases during observation, and keep backups of any important config/credentials before running learned workflows. - Confidence note: assessment is high confidence because the codebase is included and shows the capabilities and gaps described. If the skill integrates with platform-level "listening" features not present in these files, that would change the analysis — request evidence of any such runtime hooks if they are claimed.
Review Dimensions
- Purpose & Capability
- concernThe skill claims to "observe every step" (commands run, files created) and to 'listen' to the user, but the included scripts provide no automatic OS-level monitoring or audio capture: observation is limited to text entries saved via the CLI (observe.py record). Requested resources (no env vars, no binaries) match a local, narration-driven approach, so the README/SKILL.md wording is misleading about automatic system observation.
- Instruction Scope
- concernSKILL.md and README repeatedly imply fully automatic observation and 'sandboxed execution'. The actual scripts record user-provided narration, synthesize SKILL.md/run.sh and then execute run.sh via bash (run.py uses subprocess.run). There is no sandboxing implemented — run.sh is a normal shell script executed with the agent's user privileges and can perform arbitrary actions (including network calls or credential use) depending on what the learned steps contain.
- Install Mechanism
- okThere is no install spec and the package is instruction-only plus three stdlib Python scripts. Nothing is downloaded from external URLs and no install-time code executes external code. This is low-risk from an installer perspective.
- Credentials
- okThe skill declares no required environment variables or credentials and the code does not read environment variables intentionally. However, generated workflows/run.sh can request variables or read environment values at runtime — that is expected but requires user caution, not a mismatch in declared requirements.
- Persistence & Privilege
- noteThe skill writes workflows/ entries and saves observation.json, SKILL.md, run.sh and run_log.json in a local workflows directory — this is expected for a workflow-learning tool. always:true is not set. The claim of 'sandboxed execution' is inaccurate: persisted workflows run arbitrary shell code with the user's privileges, increasing blast radius if a workflow contains sensitive operations.
