dumbtv
dumbtv가 ADB로 Fire TV에서 광고·추적·업데이트 알림을 제거, 루트·앱 변경 없이, 무료 오픈소스
Vouch는 오픈소스 자격증명 중개자로, FIDO2 하드웨어 인증 후 단기간 SSH·AWS·GitHub·Kubernetes 자격증명을 발급합니다
Open-source credential broker that issues short-lived SSH, AWS, GitHub, and Kubernetes credentials after FIDO2 hardware verification.
보안Rust · HTMLGitHub @vouch-sh온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
Hardware-backed developer credentials
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Prove you're here.
Hardware-backed authentication that issues short-lived credentials only after a human touches a YubiKey. One touch, one PIN, one 8-hour session — then SSH, AWS, Kubernetes, and more just work.
Modern authentication is broken in three ways:
1. Push notification fatigue — Duo pings you 47 times a day. Users approve reflexively. MFA fatigue attacks succeed because humans are tired.
2. Credential sprawl — Long-lived API keys in ~/.aws/credentials. GitHub PATs that never expire. SSH keys from 2019 still floating around.README 전문 보기 ↗Prove you're here.
Hardware-backed authentication that issues short-lived credentials only after a human touches a YubiKey. One touch, one PIN, one 8-hour session — then SSH, AWS, Kubernetes, and more just work.
$ vouch login
🔑 Touch your YubiKey...
Enter PIN: ****
✓ Authenticated as [email protected]
✓ Session valid for 8 hours
$ ssh prod.example.com # Just works
$ aws s3 ls # Just works
$ kubectl get pods # Just works
$ git push origin main # Just works
Modern authentication is broken in three ways:
Push notification fatigue — Duo pings you 47 times a day. Users approve reflexively. MFA fatigue attacks succeed because humans are tired.
Credential sprawl — Long-lived API keys in ~/.aws/credentials. GitHub PATs that never expire. SSH keys from 2019 still floating around.
No presence verification — Existing tools verify devices or sessions, but not that a human is actually there. A compromised laptop with cached credentials is indistinguishable from its owner.
Vouch requires physical presence for every credential issuance:
| Traditional Auth | Vouch |
|---|---|
| Password + SMS/Push | YubiKey touch + PIN |
| Long-lived API keys | 8-hour certificates |
| "Remember this device" | Per-session attestation |
| Optional hardware MFA | Mandatory hardware MFA |
| Device trust | Human presence proof |
┌────────────────────────────────────────────────────────────────────┐
│ Your Machine │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────────────────────┐ │
│ │ YubiKey │────▶│ vouch │────▶│ Short-lived credentials │ │
│ │ (touch) │ │ login │ │ managed by vouch agent │ │
│ └──────────┘ └──────────┘ └──────────────────────────┘ │
│ │ │ │
│ ▼ ▼ │
│ ┌──────────┐ ┌──────────────┐ │
│ │ vouch │ │ Native tools │ │
│ │ server │ │ (ssh, aws, …)│ │
│ │ (OIDC) │ │ │ │
│ └──────────┘ └──────────────┘ │
└────────────────────────────────────────────────────────────────────┘
vouch login — Touch YubiKey, enter PIN, get 8-hour sessionUnlike optional MFA that can be bypassed, Vouch only issues credentials after FIDO2 verification. The credential itself carries proof of presence.
No more rotating keys. No more revoking access. Credentials simply expire.
Vouch configures standard credential providers:
IdentityAgent pointing to vouch's signing agentcredential_process in ~/.aws/configAfter vouch login, existing workflows are unchanged.
# macOS
brew install vouch-sh/tap/vouch
# Linux (Debian/Ubuntu)
# See https://packages.vouch.sh for repository setup
sudo apt install vouch
# Linux (RPM-based)
# See https://packages.vouch.sh for repository setup
sudo dnf install vouch
# From source (requires Rust 1.99+)
cargo install --git https://github.com/vouch-sh/vouch vouch-cli
[!NOTE] Vouch is not published to crates.io. Install from the Git repository or use a package manager.
# Enroll with your YubiKey (one-time, opens browser)
vouch enroll
# Configure integrations
vouch setup ssh # SSH certificates
vouch setup aws --role arn:aws:iam::ID:role/name # AWS credential_process (single account)
# For AWS Organizations + Identity Center:
# vouch setup aws --management-role arn:aws:iam::ID:role/Mgmt --identity-center-application <arn> --region <region> --discover
vouch setup eks --cluster my-cluster # kubectl for EKS via IAM
vouch setup k8s --cluster my-cluster --server URL # kubectl via OIDC
vouch setup github --configure # Git credential helper for GitHub
vouch setup docker --configure ghcr.io # Docker registry auth
vouch setup codeartifact --tool cargo --repository R # Cargo registry auth (CodeArtifact)
vouch setup codecommit --configure # AWS CodeCommit Git credentials
vouch setup ssm # SSH via AWS Systems Manager
vouch setup codeartifact --tool pip --repository R # Private package registry
# See all integrations: https://vouch.sh/docs/
[!TIP] Run
vouch doctorat any time to check your YubiKey, agent, and configuration status.
[!IMPORTANT] The
vouch-agentdaemon must be running for credential operations. It starts automatically onvouch loginand manages your session.
# Start your day
vouch login
# Everything just works for 8 hours
ssh prod-server
aws s3 ls
kubectl get pods
docker pull ghcr.io/your-org/image
git clone https://github.com/your-org/private-repo.git
# Check session status
vouch status
For scripts and CI/CD pipelines, inject credentials into subprocesses:
# Run a command with AWS credentials in the environment
vouch exec --type aws --role arn:aws:iam::ID:role/name -- terraform plan
# Export credentials for the current shell
eval "$(vouch env --type aws --role arn:aws:iam::ID:role/name)"
# Available types: aws, github, codeartifact, rds, redshift, anthropic, openai
# Bash (requires the bash-completion package)
vouch completions bash > ~/.local/share/bash-completion/completions/vouch
# Zsh
vouch completions zsh > "${fpath[1]}/_vouch"
# Fish
vouch completions fish > ~/.config/fish/completions/vouch.fish
Add session status to your shell prompt (sets VOUCH_AUTHENTICATED, VOUCH_EMAIL, and VOUCH_EXPIRES_IN):
# Bash (add to ~/.bashrc)
eval "$(vouch init bash)"
# Zsh (add to ~/.zshrc)
eval "$(vouch init zsh)"
# Fish (add to ~/.config/fish/config.fish)
vouch init fish | source
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | General error |
| 2 | Not authenticated (session expired or missing) |
| 3 | Hardware key not detected |
| 4 | Network or server unreachable |
| 5 | Permission denied |
| 6 | Configuration error |
| 7 | Step-up authentication required |
| 8 | Rate limited |
vouch-agent daemon is macOS/Linux only)Server deployment: Docker (distroless), systemd, or Kubernetes (Helm). See Operator Guide.
Vouch consists of:
| Component | Description |
|---|---|
vouch CLI | User-facing commands, credential helpers |
vouch-agent | Background daemon, session management |
vouch-common | Shared types, FIDO2 helpers, API client |
vouch-server | OIDC provider, certificate authority |
vouch-httpsig | HTTP Message Signatures (RFC 9421) |
vouch-tests | Integration and property-based tests |
All components are Apache-2.0 OR MIT licensed.
Vouch is designed for high-security environments:
See the Security Model for our security philosophy and the Threat Model for STRIDE analysis.
To report a security vulnerability, email [email protected]. Do not open public issues for security concerns.
Key sections:
# Build and serve docs locally
make docs-serve
We welcome contributions! See CONTRIBUTING.md for guidelines.
We believe security tools should be auditable.
Vouch — Prove you're here.