Env credential access
- Finding
- Environment variable access combined with network send.
Security checks across static analysis, malware telemetry, and agentic risk
This appears to be a real 1Password integration, but it gives OpenClaw broad secret-reading power and includes an unsafe command-execution pattern that should be reviewed before installation.
Install only if you are comfortable giving the OpenClaw gateway access to 1Password. Before installing, review and fix the unsafe `execAsync` command construction, restrict the gateway to trusted callers, use least-privilege 1Password Connect tokens or vault access, and carefully monitor the credential mapping file.
66/66 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.
A skill or agent with gateway access could potentially request 1Password secrets beyond what the user intended to expose.
The package explicitly says secret reading is available through gateway RPC for skills, but the artifacts do not show per-skill authorization, per-vault scoping, per-secret approval, or audit controls.
"secret_handling": "The UI never calls readSecret. However, readSecret IS available via gateway RPC for skill use. Security relies on: (1) user being signed into 1Password, (2) gateway being loopback-only."
Only enable this with a locked-down gateway, explicit per-skill allowlists, least-privilege 1Password Connect tokens, user approval for secret reads, and audit logging.
A malicious or malformed RPC parameter could cause unintended shell command execution on the OpenClaw gateway host.
A gateway parameter can be placed into a shell command string without shell escaping. Arguments such as account, vault, item, or field names should be passed as an argv array, not joined into a shell command.
if (account) args.push("--account", account); ... return execAsync(`"${opPath}" ${args.join(" ")}`, { timeout });Replace `execAsync` string execution with `execFile` or `spawn` using an argument array, and validate account, vault, item, and field parameters before use.
If the gateway is reachable by an unintended local process, skill, browser context, or remote user, 1Password metadata or secrets could be accessed.
The sensitive 1Password operations are exposed as gateway RPC methods, and the artifact relies on the surrounding gateway being protected rather than showing caller identity, origin, or method-level permission checks.
"gateway_exposure": "All 1password.* methods are gateway RPC calls. Protect your gateway accordingly."
Confirm the gateway is loopback-only or authenticated, restrict which callers can invoke `1password.*` methods, and especially gate `1password.readSecret`.
Installing changes the OpenClaw application itself, not just a standalone skill file.
The installation path copies skill-provided code into core OpenClaw source and restarts the gateway. This is disclosed and purpose-aligned, but it is a persistent source modification.
cp ~/clawd/skills/1password-ui/reference/1password-backend.ts ~/clawdbot/src/gateway/server-methods/1password.ts ... pnpm build && pnpm ui:build && clawdbot gateway restart
Review the copied files, back up the OpenClaw source tree, and apply the edits manually or through a trusted patch workflow.
If the mapping file is altered, a skill may use the wrong 1Password item or field in later runs.
The skill stores persistent mappings that influence future credential lookup. The file is documented as reference-only, but those references can still affect which secret a skill receives.
"mapping_storage": { "description": "Stores skill→1Password mappings in ~/clawd/config/1password-mappings.json", "paths": ["~/clawd/config/1password-mappings.json"], "mitigation": "File contains references only (item/vault names), not actual secrets" }Keep the mapping file permission-restricted, review mapping changes, and treat vault/item/field names as sensitive configuration.