Keychain Bridge Publish
ReviewAudited by ClawScan on May 10, 2026.
Overview
This skill is coherent and local-only in the provided artifacts, but it intentionally handles high-value secrets and can recreate selected plaintext secret files for bash tools.
Before installing, confirm you want this skill to manage macOS Keychain secrets. Run migrations with --dry-run first, review the hard-coded Group B services before using populate_secrets.sh, and avoid printing or recreating plaintext secrets unless required for your bash tools.
Findings (4)
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.
If the agent or user runs this for the wrong service name, a secret could be exposed in terminal or conversation output.
The helper can retrieve a requested keychain/file-backed secret and print it to stdout. This is expected for a secrets bridge, but it is sensitive credential access.
value = get_secret(service, account=account); if value: print(value, end='')
Only ask the skill to read secrets when necessary, avoid pasting secret output into chats/logs, and verify the service name before running read commands.
This can improve bash compatibility, but it reintroduces local plaintext copies of sensitive tokens or keys for the listed services.
The disclosed file-bridge script can be added to startup and writes a fixed list of selected keychain secrets back to local files with chmod 600.
GROUP_B_SERVICES=( ... "claude-code-token" "clawmarket-wallet-key" ... ); echo -n "$value" > "$SECRETS_DIR/$svc"; chmod 600 "$SECRETS_DIR/$svc"
Review and edit the Group B service list before using the startup bridge, and only include secrets that truly need file-based access.
Package installation is expected for this functionality, but it depends on the package source and can affect the local Python environment.
The setup instructions require installing an unpinned external Python package, with one example modifying a managed Python environment.
pip3 install keyring ... /opt/homebrew/opt/python@3.14/bin/python3.14 -m pip install --break-system-packages keyring
Install keyring from a trusted package index, consider pinning a known-good version, and avoid --break-system-packages unless you understand the impact.
This is purpose-aligned, but it executes local interpreter binaries and briefly stages secret material through temporary files during migration.
The migration tool creates a temporary Python script and executes it under detected Python binaries to add each secret to those binaries' Keychain ACLs.
with tempfile.NamedTemporaryFile(mode='w', suffix='.py', delete=False) as f: ... result = subprocess.run([python_path, script_path], capture_output=True, text=True, timeout=30)
Run migration first with --dry-run, use only trusted Python installations, and run it on a machine/account where temporary local secret handling is acceptable.
