Keychain Access

AdvisoryAudited by Static analysis on Apr 30, 2026.

Overview

No suspicious patterns detected.

Findings (0)

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.

What this means

A password or API token supplied through stdin or an environment variable may still be briefly visible to local process-list inspection while the security command runs.

Why it was flagged

The README/SKILL guidance says stdin/env inputs keep secrets out of process listings, but this code still forwards the secret to the child security process as a command-line argument.

Skill content
local cmd=(security add-generic-password -s "$SERVICE" -a "$ACCOUNT" -w "$PASSWORD" -U)
Recommendation

Do not rely on this helper to keep set-operation secrets out of process arguments. The author should document this residual exposure or change the implementation to avoid argv-based secret passing if possible.

What this means

If invoked too broadly, the agent could expose credential metadata or plaintext passwords in the session transcript or logs.

Why it was flagged

The skill can use the user's default Keychain search list and can reveal plaintext secrets with --raw, giving the agent access to a local password vault.

Skill content
Operate on a specific keychain when provided (`--keychain`); otherwise, the default search list is used... Password output is masked by default; add `--raw` only when the user explicitly needs the secret value.
Recommendation

Use explicit --keychain, --service, and --account values, avoid unfiltered list operations, and require clear user approval before any --raw password reveal.

What this means

An agent using --yes without explicit authorization could overwrite or remove a Keychain entry without an interactive stop.

Why it was flagged

The helper has safety prompts by default, but it also exposes an automation flag that bypasses confirmation for high-impact credential updates or deletions.

Skill content
--yes              Skip confirmation prompts for set (update) or delete.
Recommendation

Only allow --yes after the user has clearly approved the exact service/account and operation; prefer --dry-run first for destructive actions.

What this means

The list operation may fail or run an undeclared local interpreter dependency in environments where python3 is absent or unexpected.

Why it was flagged

The list command invokes python3, but the registry requirements declare only the security binary.

Skill content
rows=$(python3 - "$SERVICE" "$ACCOUNT" "$tmpfile" <<'PY'
Recommendation

Declare python3 as a required binary or replace the parser with dependencies already declared by the skill.