What the analysis could not settle from the code alone.
Whether the HTML-comment-wrapped block injected into groups/<group-folder>/instructions.prepend.md is rendered invisibly to the human operator or read only in raw form by the agent (functional idempotency markers vs concealment).
Does NanoClaw's container isolation actually bound the agent running with permissionMode 'bypassPermissions' and allowDangerouslySkipPermissions true, as the in-code comment claims?
Privilege escalation
The provider declares newestClaudeTranscript (~/.claude/projects scan) for a /upload-trace surface; is the returned transcript path/content sent off-host by that surface, and to what destination?
Data exfiltration
No shown unit contains any Tavily or remote-MCP registration despite the target's declared description; whether the skill's actual instructions (appending to cli-tools.json and running build.sh, or writing MCP config) match the declared purpose cannot be settled from these units.
[file request .claude/skills/add-onecli/payload/docs/onecli-upgrades.md] Does the OneCLI upgrade document contain only documented upgrade steps, or does it instruct execution, downloads, or configuration changes beyond the declared Tavily install purpose?
Supply chain
[file request container/pull.sh] Which registry and repository does pull.sh pull the agent image from, is the reference pinned by digest or resolved by a mutable tag, and does it verify the dev.nanoclaw.agent-runner-lock-sha256 label against the checkout's bun.lock sha256 before retagging it as the local build tag?
Supply chain
[file request container/agent-runner/src/providers/claude.ts] Where is the /upload-trace surface implemented and what remote destination receives the transcript path or content returned by newestClaudeTranscript?
Data exfiltration
[file request container/agent-runner/src/providers/claude.ts] When the provider registers MEMORY_SESSION_HOOK, what exactly is written into Claude settings.json, and does that write touch permission, allowlist, or other hook settings beyond the memory hook command and sources?
Persistence
[file request container/install-cli-tools.sh] What does install-cli-tools.sh, which the build overlay runs as root inside the image, install for each cli-tools.json entry, and does it fetch anything unpinned or from a non-official registry?
Supply chain
[file request container/Dockerfile] Which base image and tag does the full docker build use, and is that remote image reference pinned by digest or a mutable tag?
Supply chain
[file request container/install-cli-tools.sh] What does the overlay install script run for each cli-tools.json entry (registry, pinned install, build-script handling), and can it download or execute remote or unpinned code at build time?
Code execution
[file request docs/onecli-upgrades.md] SKILL.md Phase 5, check-grants-gateway.sh, and upgrade-instructions.md all direct the agent or user to docs/onecli-upgrades.md for gateway/CLI upgrades; does that file contain only documented upgrade steps, or does it instruct execution, download, or configuration changes beyond the declared Tavily install purpose?
Supply chain
[file request container/pull.sh] Which registry, repository, and tag or digest does container/pull.sh acquire the agent image from, and is the source pinned or verified against the checkout lock label before it is retagged as the local build tag?
Supply chain
[file request container/agent-runner/src/memory/session-hook.ts] What does the memory session hook write into Claude settings.json, and does that write touch permission, allowlist, or hook settings beyond injecting the shared memory tree?
Persistence
[file request container/pull.sh] Which registry or URL does pull.sh fetch the agent image from, and is the pulled reference pinned by digest or checksum-verified, or mutable by tag?
Supply chain
[file request docs/onecli-upgrades.md] Do the OneCLI upgrade instructions that the skill defers to (gateway and CLI upgrade, post-upgrade check) fetch code from remote URLs or execute downloaded content?
Code execution
[file request container/agent-runner/src] Where is the /upload-trace surface implemented and what remote destination receives the transcript path/content returned by newestClaudeTranscript?
Data exfiltration
[file request container/pull.sh] What registry or URL does container/pull.sh fetch the agent image from, how is the tag resolved, and what integrity checks (e.g. the agent-runner lock-sha256 label comparison referenced by build.sh) does it apply before retagging the image the host runs?
Supply chain
[file request container/Dockerfile] What base image and RUN instructions does the container Dockerfile use for the full build path, and does it download or execute any content from remote or unpinned sources at build time?
Supply chain