@lllanyard/cli 0.2.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -50,6 +50,7 @@ Compatibility notes:
50
50
  | `provider add <id> --upstream https://… [--auth bearer\|header --header NAME --prefix TXT]` / `list` / `remove` | Teach the proxy a new API host (GitHub, Slack, your own service). Built-ins: openai, anthropic, gemini, openrouter, github, slack, stripe, notion. |
51
51
  | `tool add <name> --env VAR=provider[:label] [--allow-host H] [--kill-on-leak] [--pass-env V] [--inherit-env] [--no-scrub] -- <command> [args…]` / `list` / `remove` | Approve a command (e.g. an MCP server) to receive keys as environment variables, with the safeguards below. |
52
52
  | `run <name> [-- args…]` | Run an approved tool with its keys injected and scrubbed from its output. Extra args are appended only if the tool was approved with `--allow-args`. For script tools (python, node, sh, pwsh…) the script file is pinned by hash at approval and `run` refuses if it has changed since; `--allow-args` is refused for bare interpreters (`python3 -c`, `-m`) and launchers (`env`, `xargs`, `sudo`, `npx`). `run --env … -- <cmd>` is a one-off that needs a human to confirm at a terminal. |
53
+ | `audit [--json]` | Show what an AI agent on this computer could still get at (plaintext keys, SSH keys on disk, tools not set up) and how to fix each. Exit 1 if anything needs fixing. See [Audit](#audit-what-can-an-agent-still-reach). |
53
54
  | `scan [paths] [--import --apply [--redact]]` | Find plaintext keys in `.env` files, MCP/IDE configs and shell profiles, then move them into the keychain. Dry run unless `--apply`. |
54
55
  | `backup [--out FILE] [--passphrase-file F]` | Write one encrypted file (AES-256-GCM, scrypt passphrase) holding your keys and their metadata, custom providers, approved tools, agents, license and team server link. Agents are saved as token hashes, so existing agent tokens keep working after a restore. |
55
56
  | `restore <file> [--overwrite] [--dry-run] [--passphrase-file F]` | Merge a backup into this machine's keychain or vault. Every item is validated and the key limit checked before anything is written; existing items are kept unless `--overwrite`, and nothing is ever deleted. |
@@ -57,6 +58,7 @@ Compatibility notes:
57
58
  | `team join <https://server:port> [--ca FILE] [--stdin]` / `status` / `leave` | Team: link this LLLanyard to your team's shared proxy. Your keys here stay personal; requests you have no key for go to the team server with your own team token. |
58
59
  | `ssh add <name> --host [user@]HOST [--port N] [--key-file F \| --password]` / `generate` / `list` / `remove` / `pubkey` | SSH logins in the keychain: a private key (with its passphrase) or a password. See [SSH logins](#ssh-logins). |
59
60
  | `ssh <name> [-- remote command]` / `ssh with <name>[,<name>] -- <command…>` | Open a session, or run scp, rsync, git or a script with the login available. |
61
+ | `setup [claude-desktop \| claude-code \| codex \| copilot [--project DIR] \| agent [--file F]] [--remove]` | Connect an AI tool: tell it to use LLLanyard, and add the MCP server. No argument shows what is connected. See [OpenAI Codex, GitHub Copilot and other agents](#using-it-with-tools-apis-and-mcp-servers). |
60
62
 
61
63
  ## Using it with tools (APIs and MCP servers)
62
64
 
@@ -121,6 +123,100 @@ Why "approve once": if `run` could inject any key into any command, an agent tha
121
123
  `curl https://evil` and walk off with the key. Approved tools live in the keychain, with the command pinned to its absolute
122
124
  path, so editing a file can't change what receives a key. Custom providers are stored in the keychain for the same reason.
123
125
 
126
+ **4. Codex, Copilot, Gemini, Windsurf, Cursor and other agents.** The same two things Claude gets: instructions to use
127
+ LLLanyard, and its MCP server. One command per tool:
128
+
129
+ ```bash
130
+ lllanyard setup codex # OpenAI Codex (CLI and IDE extension)
131
+ lllanyard setup copilot # GitHub Copilot CLI
132
+ lllanyard setup copilot --project . # VS Code Copilot Chat / Copilot coding agent, for this folder only
133
+ lllanyard setup gemini # Gemini CLI
134
+ lllanyard setup windsurf # Windsurf
135
+ lllanyard setup cursor # Cursor (MCP server; add the instructions in its rules, see below)
136
+ lllanyard setup agent [--file AGENTS.md] # anything else: adds the instructions to a file, prints the MCP snippet
137
+ lllanyard setup codex --remove # undo any of them
138
+ ```
139
+
140
+ | Tool | Instructions go in | MCP server goes in |
141
+ |---|---|---|
142
+ | OpenAI Codex | `~/.codex/AGENTS.md` | `~/.codex/config.toml` (`[mcp_servers.lllanyard]`) |
143
+ | GitHub Copilot CLI | `~/.copilot/copilot-instructions.md` | `~/.copilot/mcp-config.json` |
144
+ | VS Code Copilot Chat (`--project`) | `.github/copilot-instructions.md` | `.vscode/mcp.json` |
145
+ | Gemini CLI | `~/.gemini/GEMINI.md` | `~/.gemini/settings.json` |
146
+ | Windsurf | `~/.codeium/windsurf/memories/global_rules.md` | `~/.codeium/windsurf/mcp_config.json` |
147
+ | Cursor | its settings (Rules): run `setup agent` and paste the section | `~/.cursor/mcp.json` |
148
+ | Any other agent | the file you name (default `AGENTS.md`, which many agents read) | paste the snippet `setup agent` prints |
149
+
150
+ Each one keeps the rest of the file as it was, marks the part it adds so a second run updates it rather than duplicating
151
+ it, saves the old file as `<file>.lllanyard-backup`, and can be removed again. The `--project` files name `lllanyard`
152
+ rather than paths on your computer, so they are safe to commit; each person still needs LLLanyard and their own keys.
153
+ `setup` with no arguments shows what is connected.
154
+
155
+ **Any agent that can run shell commands works without any setup**: `lllanyard exec` and `lllanyard ssh` are ordinary
156
+ commands, so all the agent needs is to be told to use them. That is all `setup` does for you. For an MCP client not
157
+ listed above, add this to its settings (some call the top-level key `servers`):
158
+
159
+ ```json
160
+ { "mcpServers": { "lllanyard": { "command": "lllanyard", "args": ["mcp", "--run"] } } }
161
+ ```
162
+
163
+ What to expect:
164
+
165
+ - **The instructions are a request, not a lock.** The protection is that an agent running `lllanyard exec` or
166
+ `lllanyard ssh` never sees the key. An agent that ignores the instructions can still look in `.env` or `~/.ssh`
167
+ for keys that are stored there, so remove those (`lllanyard scan --import --apply`), and for Claude Code turn on
168
+ the [hook](#making-claude-code-refuse-not-just-asked), which refuses the call. `lllanyard audit` lists what is
169
+ left.
170
+ - **The Run dialog guards the MCP tools** (`run_file`, `ssh_run`). A command the agent runs itself in a terminal, such as
171
+ `lllanyard ssh prod -- uptime`, isn't behind that dialog. It is gated only by the agent's own terminal-approval
172
+ setting, so keep that on for tools you don't fully trust.
173
+ - **ChatGPT (the website and the desktop and mobile apps) can't be connected.** It can only use MCP servers that are
174
+ hosted on the internet, not one that runs on your computer, and LLLanyard doesn't expose your keys that way. OpenAI
175
+ Codex runs on your computer and is supported. Likewise the Copilot coding agent that runs on GitHub's servers can't
176
+ reach your keychain; use Copilot in VS Code or Copilot CLI.
177
+
178
+ ### Making Claude Code refuse, not just asked
179
+
180
+ Instructions ask an agent to leave your secrets alone; a hook makes the tool refuse. With the hook on, Claude Code
181
+ checks every file read, edit, search and shell command before it runs, and stops any that touch a `.env` file, an SSH
182
+ private key, or a credential file (`~/.aws/credentials`, `~/.netrc`, `~/.gnupg`, and similar). It tells Claude to use
183
+ `lllanyard exec` or `lllanyard ssh` instead.
184
+
185
+ ```bash
186
+ lllanyard setup claude-code --hooks # adds the hook to ~/.claude/settings.json (your other settings and hooks are kept)
187
+ lllanyard setup claude-code --remove # removes the instructions and the hook
188
+ ```
189
+
190
+ `.env.example`, `.env.sample` and `.env.template` are allowed, as are public keys, `known_hosts` and `~/.ssh/config`.
191
+ If you keep separate Claude Code profiles (a different `CLAUDE_CONFIG_DIR` per client or project), each has its own
192
+ settings, so set up each one: `lllanyard setup claude-code --hooks --config-dir ~/.claude-work`. `lllanyard audit`
193
+ lists any profile folders next to `~/.claude` that aren't set up.
194
+ Commands that start with `lllanyard` are always allowed. The check takes about a tenth of a second and never contacts
195
+ the network; if it can't make sense of a call it lets it through, so it can't get in the way of your work.
196
+
197
+ Honest limits: the hook looks at the paths a call names, so a command that builds a path while it runs
198
+ (`cat $(printf '.e%s' nv)`) gets past it, and so does a bare file name after a `cd` inside the same command. It stops a
199
+ careless or tricked agent, not a determined attacker. For a hard boundary run the tool under
200
+ [`--sandbox`](#enforced-isolation---sandbox).
201
+
202
+ ### Audit: what can an agent still reach?
203
+
204
+ ```
205
+ $ lllanyard audit
206
+ HIGH 2 plaintext keys in files an AI agent can read
207
+ openai sk-proj…FfC1 ~/.zshrc:1
208
+ fix: lllanyard scan --import --apply --redact
209
+ HIGH SSH private key on disk with no passphrase: ~/.ssh/id_ed25519
210
+ fix: lllanyard ssh add <name> --host user@host --key-file ~/.ssh/id_ed25519 then check it works and delete the file
211
+ MEDIUM OpenAI Codex is installed but not set up to use LLLanyard
212
+ fix: lllanyard setup codex
213
+ ```
214
+
215
+ It checks for plaintext keys in `.env` files, shell profiles and MCP configs (the same search as `scan`), SSH private keys
216
+ in `~/.ssh`, keys overdue for rotation, SSH logins past their expiry, AI tools that are installed but not connected, and
217
+ Claude Code without its hook. It prints where things are with masked values, never a secret. The exit code is 1 if
218
+ anything is high or medium, so you can run it in a script; `--json` gives the same as data.
219
+
124
220
  ### Leak safeguards for tool processes
125
221
 
126
222
  A tool started with `run` holds its key, so LLLanyard puts guard rails around it:
@@ -179,35 +275,122 @@ Env: `LLLANYARD_PORT`, `LLLANYARD_RPM` (requests/min per agent, default 120), `L
179
275
 
180
276
  ## SSH logins
181
277
 
182
- Keep the keys and passwords you use to reach servers in the keychain instead of in `~/.ssh` and shell history:
278
+ LLLanyard can hold the SSH keys and passwords you use to reach servers, so they don't sit in `~/.ssh`, in shell history, or
279
+ anywhere an AI agent can read them. You connect with `lllanyard ssh <name>` instead of `ssh user@host`.
280
+
281
+ ### Quick start
183
282
 
184
283
  ```bash
185
- lllanyard ssh add prod --host deploy@prod.example.com # paste the private key (nothing is shown); an encrypted key asks for its passphrase
186
- lllanyard ssh add nas --host admin@192.168.1.5 --password # a password login
187
- lllanyard ssh generate web --host root@web1.example.com # make a new ed25519 key; prints the public half for authorized_keys
188
- lllanyard ssh prod # open a session
189
- lllanyard ssh prod -- uptime # run one command
190
- lllanyard ssh with prod -- scp ./app.tar.gz deploy@prod.example.com:/srv/ # scp, rsync, git or a script with the key available
191
- ```
192
-
193
- A key is loaded into a throwaway `ssh-agent` (a socket only you can reach) for the length of the session, so it is never
194
- written to a file and nothing else on your machine can use it. A password is given to ssh through its askpass helper,
195
- not on the command line. On Windows there is no agent socket, so a key is written to a private temporary file for the
196
- session and deleted after. Host keys are remembered in `~/.lllanyard/ssh_known_hosts` (a changed host key is refused).
197
- SSH logins are included in `backup` / `restore`, are logged by `usage`, and count towards your plan's key limit.
198
- Long keys (RSA 4096 is about 3 KB) are split over several keychain entries, because Windows Credential Manager refuses
199
- entries over about 2.5 KB; they are put back together when used and are saved whole in backups.
200
-
201
- **In the app:** the SSH tab adds a login (paste the key or type a password), makes a new key and shows its public half
202
- to copy, and removes logins.
203
-
204
- **From Claude Desktop:** with `lllanyard mcp --run` (what `setup claude-desktop` installs), Claude gets `list_ssh` (names
205
- and servers only) and `ssh_run`. `ssh_run` runs one command on a stored login, but only after **you** click Run in a
206
- dialog that shows the login and the exact command, each time; Deny is the default. Claude never sees the key or
207
- password, the command runs with no terminal and no input, its output has your secrets redacted, and every request is
208
- logged (`lllanyard usage`). Claude Code uses `lllanyard ssh` through the block `setup claude-code` adds to `CLAUDE.md`.
209
-
210
- `add --key-file` leaves your original file alone: delete it yourself once you've checked the login works.
284
+ # 1. Store a login (pick one)
285
+ lllanyard ssh add prod --host deploy@prod.example.com # paste your existing private key (nothing is shown)
286
+ lllanyard ssh add nas --host admin@192.168.1.5 --password # or store a password
287
+ lllanyard ssh generate web --host root@web1.example.com # or make a brand-new key; prints the public half
288
+
289
+ # 2. If you generated a key, add its public half to the server's ~/.ssh/authorized_keys
290
+ lllanyard ssh pubkey web
291
+
292
+ # 3. Use it
293
+ lllanyard ssh prod # interactive session
294
+ lllanyard ssh prod -- uptime # run one command and exit
295
+ lllanyard ssh with prod -- scp ./app.tar.gz deploy@prod.example.com:/srv/ # scp, rsync, git or any script
296
+ ```
297
+
298
+ `--host` is `[user@]host`; add `--port N` if the server isn't on 22. An encrypted key asks for its passphrase once, when you
299
+ add it. `add --key-file` leaves your original key file alone: delete it yourself once you've checked the login works.
300
+
301
+ ### How it works
302
+
303
+ A stored login is one record in your OS keychain: the host, user, port, and the private key (and passphrase) or password.
304
+ When you connect, LLLanyard builds a short-lived session around it:
305
+
306
+ ```
307
+ lllanyard ssh prod
308
+ 1. read the login from the keychain
309
+ 2. start a private ssh-agent (a socket only your user can reach) in a temporary folder
310
+ 3. load the key into the agent over stdin, so it is never written to a file
311
+ 4. run ssh, pointed at that agent
312
+ 5. when ssh exits: stop the agent, delete the temporary folder
313
+ ```
314
+
315
+ So the key exists only inside the agent, only while you're connected. Nothing is left in `~/.ssh`, and other programs on your
316
+ machine have no agent to ask.
317
+
318
+ | Login type | What happens |
319
+ |---|---|
320
+ | **Key** (macOS, Linux) | Loaded into a throwaway `ssh-agent` for the session, as above. |
321
+ | **Key** (Windows) | Windows has no agent socket, so the key is written to a private (owner-only) temporary file for the session and deleted afterwards. |
322
+ | **Password** | Handed to ssh through its askpass helper, never on the command line. |
323
+ | **Passphrase** | Same askpass route, used only to unlock the key into the agent. |
324
+
325
+ `ssh with <name> -- <command>` builds the same session but runs your command in it instead of `ssh`, so tools that talk SSH
326
+ themselves (`scp`, `rsync`, `git push`, your own scripts) pick up the login automatically. Use several logins with
327
+ `ssh with prod,staging -- …`. Limits: one password login per session, and you can't mix a password login with key logins;
328
+ on Windows, one key login at a time.
329
+
330
+ **Host keys.** The first time you connect to a server, its host key is remembered in `~/.lllanyard/ssh_known_hosts`. If it
331
+ later changes, the connection is refused. LLLanyard uses its own file and leaves your `known_hosts` alone.
332
+
333
+ **Also good to know.** SSH logins are included in `backup` / `restore`, appear in `usage`, and count towards your plan's key
334
+ limit. Very long keys (RSA 4096 is about 3 KB) are split over several keychain entries, because Windows Credential Manager
335
+ refuses entries over about 2.5 KB; they are put back together when used and saved whole in backups.
336
+
337
+ ### Limiting a login
338
+
339
+ A login can carry limits, which apply to `lllanyard ssh`, `ssh with` and Claude Desktop's `ssh_run`:
340
+
341
+ ```bash
342
+ lllanyard ssh add prod --host deploy@prod.example.com --allow "uptime" --allow "df -h" --allow "systemctl status *" --expires 30d
343
+ lllanyard ssh policy prod --confirm # a dialog before every use, even from a terminal
344
+ lllanyard ssh policy prod # show the limits
345
+ lllanyard ssh policy prod --clear # remove them all
346
+ ```
347
+
348
+ | Limit | Effect |
349
+ |---|---|
350
+ | `--allow "cmd"` (repeat) | Only these commands run. `*` matches any text without shell operators. A login with an allow-list can't open a shell or be used with `scp`, `rsync` or `git`, and a command containing `;` `&` `\|` `` ` `` `$` `<` `>` `(` `)` `\` or a line break is refused. |
351
+ | `--confirm` | Ask in a dialog before every use, including from a terminal. Closes the gap where an agent runs `lllanyard ssh` itself. |
352
+ | `--expires 30d` | Refuse after this time (`12h`, `30d` or a date). Renew with `ssh policy <name> --expires 30d`. |
353
+
354
+ These limit what an AI can ask for through LLLanyard. They are not a replacement for the server's own permissions: a
355
+ command you allow, such as `cat /var/log/*`, can still be given arguments you didn't expect. For a real boundary also
356
+ use a restricted account on the server, or a forced command in its `authorized_keys`.
357
+
358
+ ### Commands
359
+
360
+ | Command | What it does |
361
+ |---|---|
362
+ | `ssh add <name> --host [user@]HOST [--port N] [--key-file F \| --password]` | Store a login. |
363
+ | `ssh generate <name> --host [user@]HOST` | Create a new ed25519 key in the keychain and print its public half. The private half never touches disk. |
364
+ | `ssh pubkey <name>` | Print the public half again, to paste into `authorized_keys`. |
365
+ | `ssh <name> [-- command]` | Connect, or run one command. |
366
+ | `ssh with <name>[,<name>] -- <command…>` | Run any command with those logins available. |
367
+ | `ssh policy <name> [--allow …] [--confirm] [--expires …] [--clear]` | Show or change a login's limits. |
368
+ | `ssh list` / `ssh remove <name>` | Show stored logins (never the secrets) and their limits / delete one. |
369
+
370
+ Names are case-insensitive, and can't be one of the command words above (`add`, `generate`, `list`, `remove`, `pubkey`,
371
+ `with`, `connect`, `help`, `policy`).
372
+
373
+ ### Using SSH logins with an AI
374
+
375
+ - **Claude Code, OpenAI Codex, GitHub Copilot and other agents** run `lllanyard ssh …` like any other command, using
376
+ the instructions `setup` adds to their instructions file (see [other AI tools](#using-it-with-tools-apis-and-mcp-servers)).
377
+ They can use the login, but never see the key or password. By default nothing prompts you when they do; to be asked
378
+ every time, or to restrict what they can run, give the login [limits](#limiting-a-login) (`--confirm`, `--allow`).
379
+ - **Claude Desktop**, with `lllanyard mcp --run` (what `setup claude-desktop` installs), gets two tools:
380
+ - `list_ssh` returns login names and servers only.
381
+ - `ssh_run` runs **one command** on a stored login, but only after **you** click Run in a dialog that shows the login and
382
+ the exact command, every time. Deny is the default.
383
+
384
+ The command runs with no terminal and no input, a 10-minute limit, and a 1,500-character cap. The output has your
385
+ secrets redacted, and every request is logged (`lllanyard usage`).
386
+
387
+ Be aware that once you click Run, the command runs with your login's full permissions on that server. Read the command in
388
+ the dialog before approving, and where you can, store a login for a restricted account rather than root.
389
+
390
+ ### In the app
391
+
392
+ The **SSH** tab adds a login (paste the key or type a password), makes a new key and shows its public half to copy, and
393
+ removes logins.
211
394
 
212
395
  ## Security model
213
396
 
package/dist/index.js CHANGED
@@ -6,11 +6,11 @@ import os from 'node:os';
6
6
  import path from 'node:path';
7
7
  import { Writable } from 'node:stream';
8
8
  import { fileURLToPath } from 'node:url';
9
- import { AgentStore, APP_NAME, TeamStore, DeviceStore, RemoteStore, DEVICE_LIMITS, machineId, normaliseTeamUrl, createMcpHandler, serveMcpStdio, allProviders, FileBackend, LicenseStore, refreshDue, refreshLicense, MIN_PASSPHRASE, backendKind, defaultBackend, setVaultPassphrase, vaultPassphrase, createUsageLog, parseSince, readUsage, renderDashboard, summarize, usageLogPath, BUILTIN_PROVIDERS, DEFAULT_PORT, KeyringBackend, KeyringStore, ProviderStore, ToolStore, defaultRoots, parseKeyRef, redactFile, rotationStatus, runTool, sandboxSelfTest, scan, createBackup, describeItem, readBackup, restoreBackup, pinScript, findCommand, pinFiles, bindingsForKeys, bindingsForAllKeys, scriptOf, neededEnv, resolveScriptDirs, planScriptRun, describePlan, confirmDialog, SshStore, assertSshName, normaliseKey, keyIsEncrypted, openSshSession, sshArgs, runSshCommand, describeSshRun, generateKey, publicKeyOf, stableNodePath, withClaudeDesktopClosed, claudeDesktopRunning, canRestartClaudeDesktop, claudeDesktopStatus, connectClaudeDesktop, disconnectClaudeDesktop, claudeCodeStatus, connectClaudeCode, disconnectClaudeCode, } from '@lllanyard/core';
9
+ import { AgentStore, APP_NAME, TeamStore, DeviceStore, RemoteStore, DEVICE_LIMITS, machineId, normaliseTeamUrl, createMcpHandler, serveMcpStdio, allProviders, FileBackend, LicenseStore, refreshDue, refreshLicense, MIN_PASSPHRASE, backendKind, defaultBackend, setVaultPassphrase, vaultPassphrase, createUsageLog, parseSince, readUsage, renderDashboard, summarize, usageLogPath, BUILTIN_PROVIDERS, DEFAULT_PORT, KeyringBackend, KeyringStore, ProviderStore, ToolStore, defaultRoots, parseKeyRef, redactFile, rotationStatus, runTool, sandboxSelfTest, scan, createBackup, describeItem, readBackup, restoreBackup, pinScript, findCommand, pinFiles, bindingsForKeys, bindingsForAllKeys, scriptOf, neededEnv, resolveScriptDirs, planScriptRun, describePlan, confirmDialog, SshStore, assertSshName, normaliseKey, keyIsEncrypted, openSshSession, sshArgs, runSshCommand, describeSshRun, generateKey, publicKeyOf, checkSshPolicy, describePolicy, parseExpiry, stableNodePath, withClaudeDesktopClosed, claudeDesktopRunning, canRestartClaudeDesktop, claudeDesktopStatus, connectClaudeDesktop, disconnectClaudeDesktop, claudeCodeStatus, connectClaudeCode, disconnectClaudeCode, connectCopilotProject, disconnectCopilotProject, connectAgentFile, disconnectAgentFile, genericMcpSnippet, connectClaudeHooks, disconnectClaudeHooks, checkToolCall, denyResponse, APPS, findApp, buildAudit, findDiskSshKeys, renderAudit, tally, claudeHooksStatus, claudeCodeMemoryPath, findClaudeProfiles, isTestFile, } from '@lllanyard/core';
10
10
  import { relayEnv, startEgressProxy, startProxy, startRelay } from '@lllanyard/proxy';
11
11
  import { openBrowser, startUi } from '@lllanyard/ui';
12
- const BOOL = new Set(['no-keys', 'run', 'remove', 'restart', 'clear', 'stdin', 'allow-argv', 'import', 'redact', 'apply', 'json', 'help', 'allow-local', 'no-scrub', 'no-resolve', 'kill-on-leak', 'inherit-env', 'sandbox', 'no-open', 'print-url', 'overwrite', 'dry-run', 'allow-args', 'password']);
13
- const MULTI = new Set(['scripts-dir', 'pin', 'env', 'allow-host', 'pass-env', 'share-ro', 'share-rw']);
12
+ const BOOL = new Set(['no-keys', 'run', 'remove', 'restart', 'clear', 'stdin', 'allow-argv', 'import', 'redact', 'apply', 'json', 'help', 'allow-local', 'no-scrub', 'no-resolve', 'kill-on-leak', 'inherit-env', 'sandbox', 'no-open', 'print-url', 'overwrite', 'dry-run', 'allow-args', 'password', 'confirm', 'no-confirm', 'hooks']);
13
+ const MULTI = new Set(['allow', 'scripts-dir', 'pin', 'env', 'allow-host', 'pass-env', 'share-ro', 'share-rw']);
14
14
  function parse(argv) {
15
15
  const pos = [];
16
16
  const flags = {};
@@ -49,9 +49,11 @@ Keys
49
49
 
50
50
  SSH logins
51
51
  ssh add <name> --host [user@]HOST [--port N] [--key-file F | --password] store a login (hidden prompt; a pasted key never shows)
52
+ [--allow "cmd"]... [--confirm] [--expires 30d] limit it: only these commands, a dialog each time, an end date
52
53
  ssh generate <name> --host [user@]HOST make a new key in the keychain and print its public half for the server
53
54
  ssh <name> [-- remote command] connect; the key lives in a throwaway ssh-agent for the session only
54
55
  ssh with <name>[,<name>] -- <command...> run scp, rsync, git, a script... with those keys available
56
+ ssh policy <name> [--allow "cmd"]... [--confirm|--no-confirm] [--expires 30d|none] [--clear] change or show a login's limits
55
57
  ssh list | remove <name> | pubkey <name>
56
58
 
57
59
  Run scripts with your keys
@@ -88,9 +90,17 @@ Connect AI apps
88
90
  let Claude Desktop run your approved tools, and with --scripts-dir (repeat)
89
91
  any script in DIR after you click Run in a dialog. Claude Desktop must be
90
92
  closed (it rewrites its settings on quit); --restart quits and reopens it (macOS)
91
- setup claude-code [--remove] tell Claude Code (~/.claude/CLAUDE.md) to use lllanyard exec, not .env files
93
+ setup claude-code [--hooks] [--config-dir DIR] [--remove] tell Claude Code (~/.claude/CLAUDE.md) to use lllanyard exec, not .env files;
94
+ --hooks also makes it refuse to read .env files and SSH keys
95
+ setup codex [--remove] OpenAI Codex (CLI and IDE extension): ~/.codex/AGENTS.md and config.toml
96
+ setup copilot [--project DIR] [--remove] GitHub Copilot CLI (~/.copilot); with --project, VS Code Copilot Chat and the
97
+ Copilot coding agent for that folder (.github/copilot-instructions.md, .vscode/mcp.json)
98
+ setup agent [--file FILE] [--remove] any other agent: add the instructions to FILE (default ./AGENTS.md) and show
99
+ the MCP snippet to paste into its settings
92
100
 
93
101
  Hygiene
102
+ audit [--json] what an AI agent on this computer could still get at, and how to fix it
103
+ (plaintext keys, SSH keys on disk, overdue rotation, tools not set up; exit 1 if any)
94
104
  scan [paths...] [--import --apply [--redact]] find plaintext keys; move them into the keychain
95
105
 
96
106
  Backup
@@ -506,6 +516,32 @@ async function main() {
506
516
  return out(`\n${findings.length} found. Run again with --import to move supported keys into the keychain (dry run unless --apply).`);
507
517
  return importFindings(findings, store(), Boolean(flags.apply), Boolean(flags.redact));
508
518
  }
519
+ case 'audit': {
520
+ // What an AI agent running as you could still get at. Reads files and the keychain index; prints masked values only.
521
+ const home = os.homedir();
522
+ const keys = store().list().map((k) => rotationStatus(k));
523
+ const sshLogins = new SshStore().list();
524
+ const hits = await scan({ roots: defaultRoots() });
525
+ const activeClaude = path.dirname(claudeCodeMemoryPath());
526
+ const findings = buildAudit({
527
+ home,
528
+ plaintext: hits.filter((f) => !isTestFile(f.file)).map((f) => ({ provider: f.provider, masked: f.masked, file: f.file, line: f.line })),
529
+ inTests: hits.filter((f) => isTestFile(f.file)).length,
530
+ diskKeys: findDiskSshKeys(home),
531
+ rotation: keys.map((k) => ({ name: `${k.provider}/${k.label}`, state: k.state, dueInDays: k.dueInDays })),
532
+ expiredLogins: sshLogins.filter((m) => m.policy?.expires && Date.parse(m.policy.expires) <= Date.now()).map((m) => m.name),
533
+ claudeProfiles: findClaudeProfiles(home, activeClaude).map((dir) => { const e = { env: { CLAUDE_CONFIG_DIR: dir } }; const c = claudeCodeStatus(e); return { dir, connected: c.connected, hooks: c.hooks }; }),
534
+ apps: APPS.map((a) => ({ id: a.id, name: a.name, installed: a.installed(), connected: a.status().connected, hooks: a.id === 'claude-code' ? claudeHooksStatus() : undefined })),
535
+ });
536
+ if (flags.json)
537
+ out(JSON.stringify({ findings, summary: tally(findings) }, null, 2));
538
+ else
539
+ out(renderAudit(findings));
540
+ const t = tally(findings);
541
+ if (t.high || t.medium)
542
+ process.exitCode = 1;
543
+ return;
544
+ }
509
545
  case 'provider': {
510
546
  const [sub, id] = pos;
511
547
  const ps = new ProviderStore();
@@ -580,7 +616,31 @@ async function main() {
580
616
  const limit = () => ({ maxTotal: new LicenseStore().limits().maxKeys, otherCount: store().list().length });
581
617
  const need = (n, usage) => n ?? fail(usage);
582
618
  const login = (n) => ssh.get(n) ?? fail(`No SSH login called "${n}". See: lllanyard ssh list`);
583
- const run = async (entries, build, what) => {
619
+ const policyFromFlags = (base) => {
620
+ const p = { ...(base ?? {}) };
621
+ if (multi.allow?.length)
622
+ p.allow = multi.allow;
623
+ if (flags.confirm)
624
+ p.confirm = true;
625
+ if (flags['no-confirm'])
626
+ delete p.confirm;
627
+ const ex = str(flags.expires);
628
+ if (ex) {
629
+ if (ex === 'none')
630
+ delete p.expires;
631
+ else
632
+ p.expires = parseExpiry(ex);
633
+ }
634
+ return Object.keys(p).length ? p : undefined;
635
+ };
636
+ const run = async (entries, build, what, use) => {
637
+ for (const e of entries) {
638
+ const bad = checkSshPolicy(e, use);
639
+ if (bad)
640
+ fail(bad);
641
+ if (e.policy?.confirm && !(await confirmDialog(describeSshRun(e, use.kind === 'command' ? use.command : use.kind === 'with' ? `(a program using this login: ${what})` : '(an interactive shell)', 'A program on this computer'))))
642
+ fail(`Not run: the confirmation for "${e.name}" was denied, timed out or could not be shown.`);
643
+ }
584
644
  const session = await openSshSession(entries).catch((e) => fail(e.message));
585
645
  createUsageLog().write({ ts: new Date().toISOString(), event: 'ssh', tool: what, cwd: process.cwd(), keys: entries.map((e) => `ssh:${e.name}`) });
586
646
  const stop = () => session.close();
@@ -608,7 +668,7 @@ async function main() {
608
668
  const pw = await readSecret(`Password for ${user}@${host} (input hidden): `, Boolean(flags.stdin));
609
669
  if (!pw)
610
670
  fail('No password given.');
611
- entry = { name, host, user, port, auth: 'password', secret: pw };
671
+ entry = { name, host, user, port, auth: 'password', secret: pw, policy: policyFromFlags() };
612
672
  }
613
673
  else {
614
674
  const file = str(flags['key-file']);
@@ -631,7 +691,7 @@ async function main() {
631
691
  catch {
632
692
  return undefined;
633
693
  } })() || undefined);
634
- entry = { name, host, user, port, auth: 'key', secret: key, ...(passphrase ? { passphrase } : {}), ...(pub ? { publicKey: pub } : {}) };
694
+ entry = { name, host, user, port, auth: 'key', secret: key, ...(passphrase ? { passphrase } : {}), ...(pub ? { publicKey: pub } : {}), policy: policyFromFlags() };
635
695
  if (file)
636
696
  process.stderr.write(`Note: ${file} still holds the key in plain text. Once you've checked it works (lllanyard ssh ${name}), delete that file.\n`);
637
697
  }
@@ -643,7 +703,7 @@ async function main() {
643
703
  assertSshName(name);
644
704
  const { host, user } = splitHost(str(flags.host) ?? fail('Give the server with --host (host, or user@host).'), str(flags.user));
645
705
  const { privateKey, publicKey } = generateKey(str(flags.comment) ?? `lllanyard-${name}`);
646
- const m = ssh.set({ name, host, user, port: str(flags.port) ? Number(str(flags.port)) : 22, auth: 'key', secret: privateKey, publicKey }, limit());
706
+ const m = ssh.set({ name, host, user, port: str(flags.port) ? Number(str(flags.port)) : 22, auth: 'key', secret: privateKey, publicKey, policy: policyFromFlags() }, limit());
647
707
  out(`Created an ed25519 key for ssh:${m.name}; the private half is in your keychain and was never written to a file.`);
648
708
  out('Add this public key to ~/.ssh/authorized_keys on the server:\n');
649
709
  out(publicKey);
@@ -654,11 +714,22 @@ async function main() {
654
714
  if (!all.length)
655
715
  return out('No SSH logins stored. Add one with: lllanyard ssh add <name> --host HOST');
656
716
  for (const m of all)
657
- out(`${m.name.padEnd(20)} ${`${m.user}@${m.host}${m.port === 22 ? '' : ':' + m.port}`.padEnd(36)} ${m.auth}${m.hasPassphrase ? '+passphrase' : ''} added ${day(m.createdAt)}`);
717
+ out(`${m.name.padEnd(20)} ${`${m.user}@${m.host}${m.port === 22 ? '' : ':' + m.port}`.padEnd(36)} ${m.auth}${m.hasPassphrase ? '+passphrase' : ''} added ${day(m.createdAt)}${m.policy ? ` [${describePolicy(m.policy)}]` : ''}`);
658
718
  return;
659
719
  }
660
720
  case 'remove':
661
721
  return out(ssh.remove(need(pos[1], 'Usage: lllanyard ssh remove <name>')) ? `Removed ssh:${pos[1]}` : 'Nothing to remove.');
722
+ case 'policy': {
723
+ const e = login(need(pos[1], 'Usage: lllanyard ssh policy <name> [--allow "cmd"]... [--confirm | --no-confirm] [--expires 30d | DATE | none] [--clear]'));
724
+ const changing = Boolean(multi.allow?.length || flags.confirm || flags['no-confirm'] || str(flags.expires) || flags.clear);
725
+ if (changing) {
726
+ const next = flags.clear ? undefined : policyFromFlags(e.policy);
727
+ const { policy: _old, ...rest } = e;
728
+ ssh.set({ ...rest, ...(next ? { policy: next } : {}) });
729
+ }
730
+ const now = ssh.get(e.name).policy;
731
+ return out(now ? `${e.name}: ${describePolicy(now)}` : `${e.name}: no limits (any command, shell and scp allowed, no confirmation).`);
732
+ }
662
733
  case 'pubkey': {
663
734
  const e = login(need(pos[1], 'Usage: lllanyard ssh pubkey <name>'));
664
735
  return out(e.auth === 'key' ? e.publicKey ?? fail('No public key was saved for this login.') : fail('That login uses a password.'));
@@ -669,13 +740,13 @@ async function main() {
669
740
  if (!tail.length)
670
741
  fail('Give the command after --, e.g. lllanyard ssh with prod -- scp ./app.tar.gz prod-user@host:/srv/');
671
742
  const entries = names.map(login);
672
- return run(entries, () => ({ command: tail[0], args: tail.slice(1) }), `with ${names.join(',')}: ${path.basename(tail[0])}`);
743
+ return run(entries, () => ({ command: tail[0], args: tail.slice(1) }), `with ${names.join(',')}: ${path.basename(tail[0])}`, { kind: 'with' });
673
744
  }
674
745
  default: {
675
746
  // lllanyard ssh <name> [-- remote command]: an ssh session
676
747
  const name = sub === 'connect' ? need(pos[1], 'Usage: lllanyard ssh <name> [-- remote command]') : sub;
677
748
  const e = login(name);
678
- return run([e], (s) => ({ command: 'ssh', args: sshArgs(e, s, tail) }), `connect ${e.name}`);
749
+ return run([e], (s) => ({ command: 'ssh', args: sshArgs(e, s, tail) }), `connect ${e.name}`, tail.length ? { kind: 'command', command: tail.join(' ') } : { kind: 'shell' });
679
750
  }
680
751
  }
681
752
  }
@@ -857,6 +928,11 @@ async function main() {
857
928
  run: (name, command) => {
858
929
  const next = queue.then(async () => {
859
930
  const entry = new SshStore().get(name) ?? fail(`No SSH login "${name}".`);
931
+ const bad = checkSshPolicy(entry, { kind: 'command', command });
932
+ if (bad) {
933
+ createUsageLog().write({ ts: new Date().toISOString(), event: 'mcp-ssh', tool: `${entry.name}: ${command.slice(0, 200)}`, decision: 'deny', keys: [`ssh:${entry.name}`] });
934
+ throw new Error(bad);
935
+ }
860
936
  const allowed = await confirmDialog(describeSshRun(entry, command));
861
937
  createUsageLog().write({ ts: new Date().toISOString(), event: 'mcp-ssh', tool: `${entry.name}: ${command.slice(0, 200)}`, decision: allowed ? 'allow' : 'deny', keys: [`ssh:${entry.name}`] });
862
938
  return allowed ? runSshCommand(entry, command, { timeoutSec: timeout }) : null;
@@ -1139,12 +1215,15 @@ async function main() {
1139
1215
  case 'setup': {
1140
1216
  const app = pos[0];
1141
1217
  if (!app) {
1142
- const d = claudeDesktopStatus(), c = claudeCodeStatus();
1143
- out(`Claude Desktop ${d.connected ? `connected${d.scriptDirs.length ? `; scripts in ${d.scriptDirs.join(', ')} run after a dialog` : ''}` : 'not connected'} (${d.file})`);
1218
+ const d = claudeDesktopStatus();
1219
+ out(`${'Claude Desktop'.padEnd(20)}${d.connected ? `connected${d.scriptDirs.length ? `; scripts in ${d.scriptDirs.join(', ')} run after a dialog` : ''}` : 'not connected'}`);
1144
1220
  if (d.problem)
1145
- out(` ${d.problem}`);
1146
- out(`Claude Code ${c.connected ? 'connected' : 'not connected'} (${c.file})`);
1147
- return out('\nConnect with: lllanyard setup claude-desktop [--scripts-dir DIR] or lllanyard setup claude-code');
1221
+ out(`${' '.repeat(20)}${d.problem}`);
1222
+ for (const a of APPS) {
1223
+ const st = a.status();
1224
+ out(`${a.name.padEnd(20)}${st.connected ? `connected${st.detail ? `, ${st.detail}` : ''}` : a.installed() ? 'installed, not connected' : 'not connected'}`);
1225
+ }
1226
+ return out(`\nConnect with: lllanyard setup <claude-desktop | ${APPS.map((a) => a.id).join(' | ')} | agent> [--remove] (copilot also takes --project DIR)`);
1148
1227
  }
1149
1228
  if (app === 'claude-desktop') {
1150
1229
  // Claude Desktop saves its settings over ours when it quits, so change them only while it's closed.
@@ -1162,14 +1241,82 @@ async function main() {
1162
1241
  return out(restarted ? 'Claude Desktop was restarted and has loaded it.' : 'Open Claude Desktop to use it.');
1163
1242
  }
1164
1243
  if (app === 'claude-code') {
1244
+ // Another Claude Code profile (a different CLAUDE_CONFIG_DIR): the same setup, pointed at that folder.
1245
+ if (flags['config-dir'] === '' || flags['config-dir'] === true)
1246
+ return fail('Give the profile folder: lllanyard setup claude-code --config-dir ~/.claude-work');
1247
+ const profile = str(flags['config-dir']);
1248
+ if (profile)
1249
+ process.env.CLAUDE_CONFIG_DIR = path.resolve(profile.replace(/^~(?=[\\/]|$)/, os.homedir()));
1165
1250
  if (flags.remove) {
1166
- const r = disconnectClaudeCode();
1167
- return out(r.removed ? `Removed the LLLanyard section from ${r.file}.` : 'Claude Code was not connected.');
1251
+ const r = disconnectClaudeCode(), h = disconnectClaudeHooks();
1252
+ if (h.removed)
1253
+ out(`Removed the LLLanyard hook from ${h.file}.`);
1254
+ return out(r.removed ? `Removed the LLLanyard section from ${r.file}.` : h.removed ? '' : 'Claude Code was not connected.');
1168
1255
  }
1169
1256
  const r = connectClaudeCode();
1170
- return out(`Claude Code will use lllanyard exec for keys: added to ${r.file}${r.backup ? ` (old file kept as ${r.backup})` : ''}. New sessions pick it up.`);
1257
+ out(`Claude Code will use lllanyard exec for keys: added to ${r.file}${r.backup ? ` (old file kept as ${r.backup})` : ''}. New sessions pick it up.`);
1258
+ if (flags.hooks) {
1259
+ const h = connectClaudeHooks(launch());
1260
+ return out(`Hook added to ${h.file}${h.backup ? ` (old file kept as ${h.backup})` : ''}: Claude Code now refuses to read .env files, SSH keys and credential files, and says to use lllanyard instead. Remove it with: lllanyard setup claude-code --remove`);
1261
+ }
1262
+ return out('To also make Claude Code refuse to read .env files and SSH keys (not just ask it not to), run: lllanyard setup claude-code --hooks');
1171
1263
  }
1172
- return fail('Usage: lllanyard setup [claude-desktop [--scripts-dir DIR] | claude-code] [--remove]');
1264
+ if (app === 'copilot') {
1265
+ if (flags.project === '' || flags.project === true)
1266
+ return fail('Give the project folder: lllanyard setup copilot --project .');
1267
+ const dir = str(flags.project);
1268
+ if (dir) {
1269
+ const root = path.resolve(dir);
1270
+ if (flags.remove) {
1271
+ const r = disconnectCopilotProject(root);
1272
+ return out(r.removed ? `Removed LLLanyard from ${r.files.join(' and ')}.` : 'Copilot was not connected for that project.');
1273
+ }
1274
+ const r = connectCopilotProject(root);
1275
+ out(`Connected Copilot for ${root}: ${r.files.join(' and ')}${r.backups.length ? ` (old files kept as ${r.backups.join(' and ')})` : ''}.`);
1276
+ return out('VS Code Copilot Chat reads both files. Both can be committed: they name `lllanyard`, not paths on this computer, so each person still needs LLLanyard and their own keys.');
1277
+ }
1278
+ }
1279
+ if (app === 'agent') {
1280
+ if (flags.file === '' || flags.file === true)
1281
+ return fail('Give the file: lllanyard setup agent --file AGENTS.md');
1282
+ const file = path.resolve(str(flags.file) ?? 'AGENTS.md');
1283
+ if (flags.remove) {
1284
+ const r = disconnectAgentFile(file);
1285
+ return out(r.removed ? `Removed the LLLanyard section from ${r.file}.` : `${file} had no LLLanyard section.`);
1286
+ }
1287
+ const r = connectAgentFile(file);
1288
+ out(`Added the LLLanyard instructions to ${r.file}${r.backup ? ` (old file kept as ${r.backup})` : ''}. Most agents read AGENTS.md; for one that reads a different file, run again with --file.`);
1289
+ out('\nIf the agent supports MCP, add this to its MCP settings (adjust the "mcpServers" key if it uses another):\n');
1290
+ return out(genericMcpSnippet());
1291
+ }
1292
+ const info = findApp(app);
1293
+ if (info) {
1294
+ if (flags.remove) {
1295
+ const r = info.disconnect();
1296
+ return out(r.removed ? `Removed LLLanyard from ${r.files.join(' and ')}.` : `${info.name} was not connected.`);
1297
+ }
1298
+ const r = info.connect(launch());
1299
+ out(`Connected ${info.name}: ${r.files.join(' and ')}${r.backups.length ? ` (old files kept as ${r.backups.join(' and ')})` : ''}. Start a new session.`);
1300
+ return out(r.note ?? (app === 'copilot' ? 'For VS Code Copilot Chat in a project, run: lllanyard setup copilot --project <folder>' : ''));
1301
+ }
1302
+ return fail(`Usage: lllanyard setup [claude-desktop [--scripts-dir DIR] | ${APPS.map((a) => a.id).join(' | ')} | agent [--file FILE]] [--remove] (copilot also takes --project DIR)`);
1303
+ }
1304
+ case 'hook': {
1305
+ // Called by an AI tool before it runs a tool: `lllanyard hook claude-code`, the call as JSON on stdin. Prints a refusal
1306
+ // as JSON, or nothing to let it through. It never fails the tool call: anything it can't read is let through.
1307
+ if (pos[0] !== 'claude-code')
1308
+ return fail('Usage: lllanyard hook claude-code (it is run by Claude Code; set it up with: lllanyard setup claude-code --hooks)');
1309
+ let raw = '';
1310
+ for await (const c of process.stdin)
1311
+ raw += c;
1312
+ let reason = null;
1313
+ try {
1314
+ reason = checkToolCall(JSON.parse(raw));
1315
+ }
1316
+ catch { /* let it through */ }
1317
+ if (reason)
1318
+ process.stdout.write(denyResponse(reason) + '\n');
1319
+ return;
1173
1320
  }
1174
1321
  case 'doctor': {
1175
1322
  const b = backendKind() === 'file' ? defaultBackend() : new KeyringBackend();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lllanyard/cli",
3
- "version": "0.2.0",
3
+ "version": "1.0.0",
4
4
  "description": "Keep API keys out of AI agents: keys live in your OS keychain and agents only see placeholder tokens.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -10,9 +10,9 @@
10
10
  "dist"
11
11
  ],
12
12
  "dependencies": {
13
- "@lllanyard/core": "^0.2.0",
14
- "@lllanyard/proxy": "^0.2.0",
15
- "@lllanyard/ui": "^0.2.0"
13
+ "@lllanyard/core": "^1.0.0",
14
+ "@lllanyard/proxy": "^1.0.0",
15
+ "@lllanyard/ui": "^1.0.0"
16
16
  },
17
17
  "license": "BUSL-1.1",
18
18
  "engines": {