Dangerous exec
- Finding
- Shell command execution detected (child_process).
Security checks across static analysis, malware telemetry, and agentic risk
This Gemini generation skill is broadly coherent, but it deserves review because it obtains and caches Google session cookies, uses an unpinned runtime command, and includes under-disclosed account-changing capabilities.
Install only if you are comfortable using a reverse-engineered Gemini Web workflow with Google session cookies. Prefer a dedicated Google account/profile, avoid sensitive prompts or reference images, inspect and protect the cookie/session files, and do not allow project-level EXTEND.md settings or Gem mutation actions unless you explicitly trust them.
64/64 vendors flagged this skill as clean.
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.
Installing or invoking the skill gives it access to reusable Google session cookies for the account used in the launched browser profile.
The skill retrieves Google session cookies through Chrome DevTools and writes them to a local cookie cache, while the registry metadata declares no primary credential.
'Network.getCookies', { urls: ['https://gemini.google.com/', 'https://accounts.google.com/', 'https://www.google.com/'] } ... await write_cookie_file(filtered, resolveGeminiWebCookiePath(), 'cdp');Use only a dedicated Google account or dedicated Chrome profile, review where the cookie file is stored, and remove/revoke the cached session if you stop using the skill.
A user may run code through an unpinned external package before sending authenticated requests with Google cookies.
The documented execution path uses `npx -y bun` without a pinned version or install specification, so runtime code may depend on an unpinned package fetch.
npx -y bun ${SKILL_DIR}/scripts/main.ts "Your prompt"Pin and declare the runtime dependency, or require users to install a trusted Bun version instead of using `npx -y` in the default command.
If invoked by the agent or another skill, these functions could alter or delete Gemini custom Gems in the user's Google account.
The authenticated client exposes Gemini Gem creation, update, and deletion functions, but the SKILL.md describes text/image generation rather than account configuration mutation.
async create_gem(...) ... async update_gem(...) ... async delete_gem(...)
Remove unused account-mutating methods or gate them behind explicit user requests and confirmations with clear documentation.
A repository-controlled EXTEND.md could influence where sensitive state is stored or how authenticated traffic is configured.
The skill tells the agent to apply project-level or user-level EXTEND.md settings, including proxy and data directory settings, in a workflow that handles Google cookies.
Found | Read, parse, apply settings ... EXTEND.md Supports: Default model | Proxy settings | Custom data directory
Do not apply project-level EXTEND.md settings for proxy, cookie, or data-directory behavior without explicit user approval and validation.
The skill may keep maintaining an authenticated Google session beyond a single request unless the client is closed correctly.
The client defaults to a background cookie-refresh loop that rotates and rewrites Google cookie state while the process remains alive.
public auto_refresh: boolean = true; ... void this.start_auto_refresh(ctl.signal); ... while (!signal.aborted) { ... rotate_1psidts ... await sleep(this.refresh_interval * 1000, signal); }Document this behavior clearly, ensure the CLI always closes the client, and provide a user-facing option to disable automatic refresh.
The skill will open and control a browser instance for authentication.
The skill launches a local Chrome or Edge executable for login and cookie collection; this is purpose-aligned but still local process execution.
return spawn(chrome, args, { stdio: 'ignore' });Only run it in an environment where launching Chrome with remote debugging is acceptable, and verify the configured Chrome path is trusted.