qr-password

DevOps & Cloud
v1.0.0
Benign

Air-gapped credential bridge using QR codes.

464 downloads464 installsby @lifehackjohn

Setup & Installation

Install command

clawhub install lifehackjohn/qr-password

If the CLI is not installed:

Install command

npx clawhub@latest install lifehackjohn/qr-password

Or install with OpenClaw CLI:

Install command

openclaw skills install lifehackjohn/qr-password

or paste the repo link into your assistant's chat

Install command

https://github.com/openclaw/skills/tree/main/skills/lifehackjohn/qr-password

What This Skill Does

Transfers credentials between networked and air-gapped devices using QR codes as the transport channel. Supports two directions: generating a QR code from stored credentials for a device to scan, and decoding a QR code from a camera image to extract credentials. Nothing crosses a network.

Using the camera as the credential transport eliminates all network exposure, which no password manager sync or USB transfer can guarantee for truly isolated environments.

When to Use It

  • Logging into an air-gapped server with credentials from a password manager
  • Moving admin credentials to an isolated lab machine
  • Importing credentials printed as a QR code on hardware
  • Sharing a vault entry with an offline kiosk
  • Transferring a Wi-Fi password to a device with no keyboard
View original SKILL.md file
# QR Password — Air-Gapped Credential Bridge

Bidirectional credential transfer using QR codes as an optical channel. No secret touches a network.

## Security Rules (MANDATORY)

- **Never log credentials to chat history or memory files**
- **Redact passwords from all conversation output** — show `****` instead
- **Auto-clear canvas display after 30 seconds** using timed canvas hide
- **QR images are ephemeral** — delete after use with `rm`
- **Never store decoded credentials in any file**

## Mode A: Vault → QR (Outbound)

Generate a QR code from a credential for an air-gapped device to scan.

```bash
echo '{"username":"USER","password":"PASS","domain":"DOMAIN"}' | \
  python3 skills/qr-password/scripts/generate-qr.py /tmp/qr-out.png
```

Then display via canvas and auto-clear:

```
canvas present /tmp/qr-out.png
# Wait 30s
canvas hide
rm /tmp/qr-out.png
```

When reporting to user, say "QR displayed" — never echo the password.

## Mode B: Camera → Credential (Inbound)

Read a QR code from a camera image to extract credentials.

1. Capture image: `nodes camera_snap` (or accept user-provided image)
2. Decode:

```bash
python3 skills/qr-password/scripts/read-qr.py /path/to/image.png
```

3. Output is JSON: `{"username":"...","password":"...","domain":"..."}`
4. Use the credential (fill, copy, deliver) — **never echo password to chat**
5. Delete the image: `rm /path/to/image.png`

## Offline QR Generator

For air-gapped devices, provide `assets/qr-generator.html` — a standalone offline HTML page that generates QR codes locally in-browser. No network required.

## Dependencies

Python 3 with: `qrcode`, `Pillow`, `opencv-python-headless`

Install: `python3 -m pip install --user qrcode Pillow opencv-python-headless`

Example Workflow

Here's how your AI assistant might use this skill in practice.

INPUT

User asks: Logging into an air-gapped server with credentials from a password manager

AGENT
  1. 1Logging into an air-gapped server with credentials from a password manager
  2. 2Moving admin credentials to an isolated lab machine
  3. 3Importing credentials printed as a QR code on hardware
  4. 4Sharing a vault entry with an offline kiosk
  5. 5Transferring a Wi-Fi password to a device with no keyboard
OUTPUT
Air-gapped credential bridge using QR codes.

Share this skill

Security Audits

VirusTotalBenign
OpenClawBenign
View full report

These signals reflect official OpenClaw status values. A Suspicious status means the skill should be used with extra caution.

Details

LanguageMarkdown
Last updatedFeb 26, 2026