secretless-ai 0.17.0 → 0.17.1

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
@@ -1,20 +1,23 @@
1
- > **[OpenA2A](https://github.com/opena2a-org/opena2a)**: [CLI](https://github.com/opena2a-org/opena2a) · [HackMyAgent](https://github.com/opena2a-org/hackmyagent) · [Secretless](https://github.com/opena2a-org/secretless-ai) · [AIM](https://github.com/opena2a-org/agent-identity-management) · [Browser Guard](https://github.com/opena2a-org/AI-BrowserGuard) · [DVAA](https://github.com/opena2a-org/damn-vulnerable-ai-agent)
2
1
  # secretless-ai
3
2
 
3
+ > **[OpenA2A](https://github.com/opena2a-org/opena2a)**: [CLI](https://github.com/opena2a-org/opena2a) · [HackMyAgent](https://github.com/opena2a-org/hackmyagent) · [Secretless](https://github.com/opena2a-org/secretless-ai) · [AIM](https://github.com/opena2a-org/agent-identity-management) · [Browser Guard](https://github.com/opena2a-org/AI-BrowserGuard) · [DVAA](https://github.com/opena2a-org/damn-vulnerable-ai-agent)
4
+
5
+ Keep API keys and other secrets invisible to AI coding tools. Works with Claude Code, Cursor, GitHub Copilot, Windsurf, Cline, and Aider. Apache 2.0.
6
+
4
7
  [![npm version](https://img.shields.io/npm/v/secretless-ai.svg)](https://www.npmjs.com/package/secretless-ai)
5
- [![License: Apache-2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
6
- [![Tests](https://img.shields.io/badge/tests-988-brightgreen)](https://github.com/opena2a-org/secretless-ai)
8
+ [![License: Apache-2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE)
9
+ [![Tests](https://img.shields.io/badge/tests-988%20passing-brightgreen)](https://github.com/opena2a-org/secretless-ai)
7
10
 
8
- Keep API keys and secrets invisible to AI coding tools. Works with Claude Code, Cursor, GitHub Copilot, Windsurf, Cline, and Aider.
11
+ [Website](https://opena2a.org/secretless) · [Demos](https://opena2a.org/demos) · [Discord](https://discord.gg/uRZa3KXgEn)
9
12
 
10
- ## Quick Start
13
+ ## Quick start
11
14
 
12
15
  ```bash
13
16
  npx secretless-ai init
14
17
  ```
15
18
 
16
19
  ```
17
- Secretless v0.17.0
20
+ Secretless v0.17.1
18
21
  Keeping secrets out of AI
19
22
 
20
23
  Configured: Claude Code (1 of 1 detected)
@@ -34,13 +37,52 @@ npx secretless-ai init
34
37
 
35
38
  ![Secretless AI Demo](docs/secretless-ai-demo.gif)
36
39
 
37
- For a full security dashboard covering credentials, shadow AI, config integrity, and more:
40
+ ## Install
41
+
42
+ ### npm
43
+
44
+ ```bash
45
+ npx secretless-ai init # run once, no install
46
+ npm install -g secretless-ai # install globally
47
+ ```
48
+
49
+ Requires Node.js 18 or later.
50
+
51
+ ### Homebrew
38
52
 
39
53
  ```bash
40
- npx opena2a-cli review
54
+ brew install opena2a-org/tap/secretless-ai
41
55
  ```
42
56
 
43
- ## MCP Server Protection
57
+ ### From source
58
+
59
+ ```bash
60
+ git clone https://github.com/opena2a-org/secretless-ai.git
61
+ cd secretless-ai
62
+ npm install
63
+ npm run build && npm test
64
+ node dist/cli.js verify
65
+ ```
66
+
67
+ ### Verifying what was installed
68
+
69
+ Every release publishes via npm Trusted Publishing with SLSA v1 provenance. No long-lived `NPM_TOKEN`. GitHub Actions exchanges its OIDC token with npm at publish time.
70
+
71
+ ```bash
72
+ npm view secretless-ai dist.attestations --json
73
+ # Expects non-empty result with predicateType "https://slsa.dev/provenance/v1"
74
+ ```
75
+
76
+ Secretless never reads or transmits credential values it manages. Backends (OS keychain, 1Password, HashiCorp Vault, GCP Secret Manager, AES-256-GCM encrypted file) decrypt on demand at subprocess spawn time. `secretless-ai verify` runs an integrity check of your local install.
77
+
78
+ ## How it works
79
+
80
+ 1. **Scans** your project for hardcoded credentials in config files and source code. 56 credential patterns from [`@opena2a/credential-patterns@0.1.1`](https://www.npmjs.com/package/@opena2a/credential-patterns), lockstep-asserted, across `.js`, `.ts`, `.py`, `.go`, `.java`, `.rb`, and more. Suppresses fixture-path false positives via `.secretlessignore` defaults (`test/`, `__tests__/`, `examples/`, `e2e/`, `docs/vhs/`, `node_modules/`, etc.).
81
+ 2. **Migrates** them to secure storage: OS keychain, 1Password, HashiCorp Vault, GCP Secret Manager, or AES-256-GCM encrypted file.
82
+ 3. **Blocks** AI tools from reading credential files. 21 file patterns enforced at the AI-tool hook layer.
83
+ 4. **Brokers** access through environment variables. Secrets never enter AI context.
84
+
85
+ ## MCP server protection
44
86
 
45
87
  Every MCP server config has plaintext API keys in JSON files on your machine. The LLM sees them. Secretless encrypts them.
46
88
 
@@ -59,50 +101,43 @@ npx secretless-ai protect-mcp
59
101
  STRIPE_SECRET_KEY (encrypted)
60
102
 
61
103
  3 secret(s) encrypted across 3 server(s).
62
- MCP servers start normally -- no workflow changes needed.
104
+ MCP servers start normally. No workflow changes needed.
63
105
  ```
64
106
 
65
107
  Scans configs across Claude Desktop, Cursor, Claude Code, VS Code, and Windsurf. Secrets move to your configured backend. Non-secret env vars (URLs, regions) stay untouched.
66
108
 
67
109
  ```bash
68
- npx secretless-ai protect-mcp --backend 1password # Store MCP secrets in 1Password
69
- npx secretless-ai mcp-status # Show which servers are protected
70
- npx secretless-ai mcp-unprotect # Restore original configs from backup
110
+ npx secretless-ai protect-mcp --backend 1password # store MCP secrets in 1Password
111
+ npx secretless-ai mcp-status # show which servers are protected
112
+ npx secretless-ai mcp-unprotect # restore original configs from backup
71
113
  ```
72
114
 
73
- ## Triage Helpers
115
+ ## Triage helpers
74
116
 
75
117
  ```bash
76
- npx secretless-ai scan --min-confidence 0.85 # Show only high-confidence findings
77
- npx secretless-ai ignore docs/migration.md # Append a path to .secretlessignore
118
+ npx secretless-ai scan --min-confidence 0.85 # high-confidence findings only
119
+ npx secretless-ai ignore docs/migration.md # append a path to .secretlessignore
78
120
  npx secretless-ai ignore --pattern '*.golden.txt'
79
- npx secretless-ai diff main # Audit secretless-managed file changes vs a git ref
121
+ npx secretless-ai diff main # audit secretless-managed file changes vs a git ref
80
122
  ```
81
123
 
82
- `scan` now renders a `Confidence: high (0.92)` line under every finding. The score combines pattern specificity, value entropy, value length, and path tier. With `--no-ignore`, findings whose path matches the default-ignore list are tagged `(looks like a test fixture)` so users can keep them in view without re-suppressing them.
83
-
84
- ## How It Works
85
-
86
- 1. **Scans** your project for hardcoded credentials in config files *and* source code (56 patterns from `@opena2a/credential-patterns@0.1.1`, lockstep-asserted, across .js, .ts, .py, .go, .java, .rb, and more). Suppresses fixture-path false positives via `.secretlessignore` defaults (`test/`, `__tests__/`, `examples/`, `e2e/`, `docs/vhs/`, `node_modules/` ...)
87
- 2. **Migrates** them to secure storage (OS keychain, 1Password, Vault, GCP Secret Manager)
88
- 3. **Blocks** AI tools from reading credential files (21 file patterns)
89
- 4. **Brokers** access through environment variables -- secrets never enter AI context
124
+ `scan` renders a `Confidence: high (0.92)` line under every finding. The score combines pattern specificity, value entropy, value length, and path tier. With `--no-ignore`, findings whose path matches the default-ignore list are tagged `(looks like a test fixture)` so they stay visible without being re-suppressed.
90
125
 
91
126
  ## Architecture
92
127
 
93
- Secretless has three layers. You can use one, two, or all three each is independent and works against any supported backend.
128
+ Three layers. Use one, two, or all three. Each works against any supported backend.
94
129
 
95
- **Tier 1 In-process SDK.** Credentials resolved in the call stack and zeroized after use. Available in the Python and TypeScript AIM SDKs. Sub-millisecond overhead.
130
+ **Tier 1: In-process SDK.** Credentials resolved in the call stack and zeroized after use. Available in the Python and TypeScript AIM SDKs. Sub-millisecond overhead.
96
131
 
97
- **Tier 2 Vault Exec.** A subprocess primitive that injects a credential into a child process's environment without exposing it to the parent. The agent running under an AI assistant never sees the secret.
132
+ **Tier 2: Vault Exec.** A subprocess primitive that injects a credential into a child process's environment without exposing it to the parent. The agent running under an AI assistant never sees the secret.
98
133
 
99
134
  ```bash
100
135
  npx secretless-ai vault exec github -- curl https://api.github.com/user
101
136
  ```
102
137
 
103
- The child process receives `$GITHUB`. The parent shell, the AI tool's context, and any process listing see nothing. Language-agnostic wraps any command.
138
+ The child process receives `$GITHUB`. The parent shell, the AI tool's context, and any process listing see nothing. Language-agnostic. Wraps any command.
104
139
 
105
- **Tier 3 Broker with identity policy.** A local daemon that mediates credential access across multiple agents. Policy rules allow or deny access by agent ID, credential name, time window, and rate limit. Optional AIM integration adds trust-score and capability constraints.
140
+ **Tier 3: Broker with identity policy.** A local daemon that mediates credential access across multiple agents. Policy rules allow or deny access by agent ID, credential name, time window, and rate limit. Optional AIM integration adds trust-score and capability constraints.
106
141
 
107
142
  ```bash
108
143
  npx secretless-ai broker start
@@ -110,23 +145,12 @@ npx secretless-ai broker start
110
145
 
111
146
  See [Run the Broker](docs/use-cases/run-broker.md) for when to use the daemon and how to configure it.
112
147
 
113
- **AIM is optional.** Tier 1 and Tier 2 work against any of the five [storage backends](#storage-backends) with no AIM involvement. Tier 3 adds identity-bound policy when an AIM server is reachable; it still enforces default-deny locally without one.
114
-
115
- ## Use Cases
148
+ AIM is optional. Tier 1 and Tier 2 work against any of the five [storage backends](#storage-backends) with no AIM involvement. Tier 3 adds identity-bound policy when an AIM server is reachable. Default-deny still enforces locally without one.
116
149
 
117
- Step-by-step guides for common workflows: [docs/USE-CASES.md](docs/USE-CASES.md)
150
+ ## Supported tools
118
151
 
119
- - [Protect My Credentials](docs/use-cases/protect-my-credentials.md) -- Keep API keys out of AI tools (2 min)
120
- - [Secure MCP Configs](docs/use-cases/secure-mcp-configs.md) -- Encrypt MCP server credentials (3 min)
121
- - [Bring Your Own Vault](docs/use-cases/bring-your-own-vault.md) -- Point Secretless at HashiCorp Vault, GCP SM, or 1Password (3 min)
122
- - [Run the Broker](docs/use-cases/run-broker.md) -- Policy-gated credential daemon for multi-agent runtimes (3 min)
123
- - [Team Setup](docs/use-cases/team-setup.md) -- Shared backend, CI/CD, onboarding (5 min)
124
- - [Migrate from .env](docs/use-cases/migrate-from-dotenv.md) -- Move .env files to encrypted storage (3 min)
125
-
126
- ## Supported Tools
127
-
128
- | Tool | Protection Method |
129
- |------|------------------|
152
+ | Tool | Protection method |
153
+ |---|---|
130
154
  | Claude Code | PreToolUse hook (blocks reads before they happen) + deny rules + CLAUDE.md |
131
155
  | Cursor | `.cursorrules` instructions |
132
156
  | GitHub Copilot | `.github/copilot-instructions.md` instructions |
@@ -134,68 +158,92 @@ Step-by-step guides for common workflows: [docs/USE-CASES.md](docs/USE-CASES.md)
134
158
  | Cline | `.clinerules` instructions |
135
159
  | Aider | `.aiderignore` file patterns |
136
160
 
137
- Claude Code gets the strongest protection because it supports [hooks](https://docs.anthropic.com/en/docs/claude-code/hooks) -- a shell script runs *before* every file read and blocks access at the tool level.
161
+ Claude Code gets the strongest protection because it supports [hooks](https://docs.anthropic.com/en/docs/claude-code/hooks). A shell script runs before every file read and blocks access at the tool level.
138
162
 
139
- ## Storage Backends
163
+ ## Storage backends
140
164
 
141
- | Backend | Storage | Best For |
142
- |---------|---------|----------|
165
+ | Backend | Storage | Best for |
166
+ |---|---|---|
143
167
  | `local` | AES-256-GCM encrypted file | Quick start, single machine |
144
- | `keychain` | macOS Keychain / Linux Secret Service | Native OS integration |
168
+ | `keychain` | macOS Keychain or Linux Secret Service | Native OS integration |
145
169
  | `1password` | 1Password vault | Teams, CI/CD, multi-device |
146
170
  | `vault` | HashiCorp Vault KV v2 | Enterprise, self-hosted |
147
171
  | `gcp-sm` | GCP Secret Manager | GCP-native workloads |
148
172
 
149
173
  ```bash
150
- npx secretless-ai backend set 1password # Switch backend
151
- npx secretless-ai migrate --from local --to 1password # Migrate existing secrets
174
+ npx secretless-ai backend set 1password # switch backend
175
+ npx secretless-ai migrate --from local --to 1password # migrate existing secrets
152
176
  ```
153
177
 
154
- ## NanoMind Integration
178
+ ## NanoMind integration
155
179
 
156
180
  Optional integration with [NanoMind](https://github.com/opena2a-org/nanomind) for enhanced security analysis:
157
181
 
158
182
  ```bash
159
- npm install @nanomind/guard @nanomind/engine # Optional
183
+ npm install @nanomind/guard @nanomind/engine # optional
160
184
  ```
161
185
 
162
- - **MCP injection screening**: `protect-mcp` screens env var values for prompt injection patterns and warns when suspicious content is detected
163
- - **Rich scan explanations**: `scan --explain` generates context-aware security explanations for each finding using NanoMind's local inference engine
186
+ - **MCP injection screening.** `protect-mcp` screens env-var values for prompt-injection patterns and warns when suspicious content is detected.
187
+ - **Rich scan explanations.** `scan --explain` generates context-aware security explanations for each finding using NanoMind's local inference engine.
164
188
 
165
189
  Both features gracefully degrade when NanoMind packages are not installed.
166
190
 
167
191
  ## Using with opena2a-cli
168
192
 
169
- [opena2a-cli](https://github.com/opena2a-org/opena2a) unifies all OpenA2A security tools:
193
+ [`opena2a-cli`](https://github.com/opena2a-org/opena2a) is the unified CLI for the OpenA2A security toolchain. Secretless powers `opena2a secrets`.
170
194
 
171
195
  ```bash
172
196
  npm install -g opena2a-cli
173
- opena2a review # Full security dashboard
174
- opena2a secrets init # Initialize secretless protection
197
+ opena2a review # full security dashboard
198
+ opena2a secrets init # initialize secretless protection
175
199
  ```
176
200
 
177
- ## Development
201
+ ## Telemetry
202
+
203
+ Secretless sends anonymous tier-1 usage data to the OpenA2A Registry: tool name (`secretless-ai`), version, command name (`scan`, `protect`, etc.), success, duration, platform, Node major version, and a stable per-machine `install_id`. No content is collected. No scanned secrets, no file paths, no env-var values, no rule contents, no IPs.
204
+
205
+ - Policy: [opena2a.org/telemetry](https://opena2a.org/telemetry).
206
+ - Status: `secretless-ai telemetry status`.
207
+ - Disable per-invocation: `OPENA2A_TELEMETRY=off secretless-ai <anything>`.
208
+ - Disable persistently: `secretless-ai telemetry off`.
209
+ - Audit every payload: `OPENA2A_TELEMETRY_DEBUG=print secretless-ai <anything>` echoes each event to stderr as JSON.
210
+
211
+ Fire-and-forget with a 2-second timeout. Telemetry never blocks Secretless.
212
+
213
+ ## Use cases
214
+
215
+ | Guide | Time |
216
+ |---|---|
217
+ | [Protect My Credentials](docs/use-cases/protect-my-credentials.md) | 2 min |
218
+ | [Secure MCP Configs](docs/use-cases/secure-mcp-configs.md) | 3 min |
219
+ | [Bring Your Own Vault](docs/use-cases/bring-your-own-vault.md) | 3 min |
220
+ | [Run the Broker](docs/use-cases/run-broker.md) | 3 min |
221
+ | [Team Setup](docs/use-cases/team-setup.md) | 5 min |
222
+ | [Migrate from .env](docs/use-cases/migrate-from-dotenv.md) | 3 min |
223
+
224
+ Full index: [docs/USE-CASES.md](docs/USE-CASES.md).
225
+
226
+ ## Contributing
227
+
228
+ Apache 2.0. PRs from outside the org welcome.
178
229
 
179
230
  ```bash
180
- npm run build && npm test # 809 tests
231
+ git clone https://github.com/opena2a-org/secretless-ai.git
232
+ cd secretless-ai && npm install && npm run build && npm test
181
233
  ```
182
234
 
183
- ## Telemetry
235
+ Security issues: `security@opena2a.org` (coordinated disclosure, response within 24 hours).
184
236
 
185
- Secretless sends anonymous tier-1 usage data to the OpenA2A Registry: tool name (`secretless-ai`), version, command name (`scan`, `protect`, etc.), success, duration, platform, Node major version, and a stable per-machine `install_id`. **No content is collected** — no scanned secrets, no file paths, no env-var values, no rule contents, no IPs.
237
+ ## Links
186
238
 
187
- - **Policy:** [opena2a.org/telemetry](https://opena2a.org/telemetry).
188
- - **Status:** `secretless-ai telemetry status`.
189
- - **Disable per-invocation:** `OPENA2A_TELEMETRY=off secretless-ai <anything>`.
190
- - **Disable persistently:** `secretless-ai telemetry off`.
191
- - **Audit every payload:** `OPENA2A_TELEMETRY_DEBUG=print secretless-ai <anything>` echoes each event to stderr in JSON.
239
+ - [Website](https://opena2a.org/secretless)
240
+ - [Documentation](https://opena2a.org/docs/secretless)
241
+ - [Demos](https://opena2a.org/demos)
242
+ - [OpenA2A CLI](https://github.com/opena2a-org/opena2a)
243
+ - [Credential patterns library](https://www.npmjs.com/package/@opena2a/credential-patterns)
192
244
 
193
- Fire-and-forget with a 2-second timeout — telemetry never blocks Secretless.
245
+ Part of the [OpenA2A](https://opena2a.org) security platform.
194
246
 
195
247
  ## License
196
248
 
197
- Apache-2.0
198
-
199
- ---
200
-
201
- Part of the [OpenA2A](https://opena2a.org) ecosystem. Full reference: [opena2a.org/docs/secretless](https://opena2a.org/docs/secretless)
249
+ Apache-2.0. See [LICENSE](LICENSE).
package/dist/cli.js CHANGED
@@ -108,16 +108,37 @@ async function main() {
108
108
  }
109
109
  finally {
110
110
  if (command && !NON_TRACKED.has(command)) {
111
- await tele.track(command, { success: exitCode === 0, durationMs: Date.now() - startedAt });
111
+ // Exit 1 = scanner found credentials (the tool's job); >=2 = real error.
112
+ // npm audit / eslint convention. Matches @opena2a/telemetry.successFromExitCode.
113
+ await tele.track(command, { success: exitCode <= 1, durationMs: Date.now() - startedAt });
112
114
  }
113
115
  await tele.flush();
114
116
  }
115
117
  return exitCode;
116
118
  }
119
+ /**
120
+ * Reject unknown `--flag` / `-flag` args that would otherwise be silently
121
+ * treated as a directory path by commands whose only positional is `[dir]`.
122
+ * Pre-fix: `secretless-ai init --ci` created a literal `--ci/` directory and
123
+ * scaffolded files into it (release-test 2026-05-12 P1).
124
+ *
125
+ * Returns `false` if the caller should bail with exit 2; `true` to proceed.
126
+ */
127
+ function rejectUnknownFlagAsDirArg(command, dirArg) {
128
+ if (dirArg && dirArg.startsWith('-')) {
129
+ console.error(` Unknown option: ${dirArg}`);
130
+ console.error(` \`${command}\` takes an optional directory path, not flags.`);
131
+ console.error(` Run \`secretless-ai ${command} --help\` for usage.`);
132
+ return false;
133
+ }
134
+ return true;
135
+ }
117
136
  async function dispatch(args, command) {
118
137
  switch (command) {
119
138
  case 'init': {
120
139
  const dirArg = args[1];
140
+ if (!rejectUnknownFlagAsDirArg('init', dirArg))
141
+ return 2;
121
142
  const projectDir = dirArg ? path.resolve(dirArg) : process.cwd();
122
143
  return (0, core_1.runInit)(projectDir);
123
144
  }
@@ -163,6 +184,8 @@ async function dispatch(args, command) {
163
184
  }
164
185
  case 'status': {
165
186
  const dirArg = args[1];
187
+ if (!rejectUnknownFlagAsDirArg('status', dirArg))
188
+ return 2;
166
189
  const projectDir = dirArg ? path.resolve(dirArg) : process.cwd();
167
190
  return (0, core_1.runStatus)(projectDir);
168
191
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "secretless-ai",
3
- "version": "0.17.0",
3
+ "version": "0.17.1",
4
4
  "description": "One command to keep secrets out of AI. Works with Claude Code, Cursor, Copilot, Windsurf, and any AI coding tool.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "commonjs",