security-harness-kit 0.5.4 → 0.5.5

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
@@ -26,7 +26,7 @@ With `shk`, you can:
26
26
 
27
27
  - Scan project paths and Git-staged files for common secrets and PII across source code, Markdown, plain text, Office documents (`.docx`, `.xlsx`, `.pptx`), and text-layer `.pdf` files.
28
28
  - Mask sensitive content from stdin, text files, and Office documents (`.docx`, `.xlsx`, `.pptx`).
29
- - Encrypt `.env` files, store private keys in the OS credential store, and run commands with decrypted values injected only at runtime.
29
+ - Encrypt `.env` files, store private keys in the configured secret store, and run commands with decrypted values injected only at runtime.
30
30
  - Install Git pre-commit hooks.
31
31
  - Install managed hooks for Claude Code, Cursor, Codex, GitHub Copilot, Antigravity, and Windsurf.
32
32
  - Preview metadata-only audit logs to understand blocked hook activity without storing detected values.
@@ -198,6 +198,7 @@ shk env key import
198
198
  shk env key list
199
199
  shk env key delete --env staging
200
200
  shk env key export --instructions
201
+ shk env key migrate --to 1password
201
202
  shk env decrypt .env --output .env.local
202
203
 
203
204
  shk hooks install
@@ -211,7 +212,7 @@ shk hooks install-ai --tool windsurf
211
212
  shk ci init github
212
213
  shk ci init github --dry-run
213
214
  shk ci init github --mode audit
214
- shk ci init github --shk-version v0.5.4
215
+ shk ci init github --shk-version v0.5.5
215
216
 
216
217
  shk skills install
217
218
  shk skills install --tool claude-code --global
@@ -239,6 +240,39 @@ When `package.json` is present, `shk init` can also apply package-manager supply
239
240
 
240
241
  See [Configuration](docs/configuration.md) for the full `shk.toml` reference, custom rules, and suppression options.
241
242
 
243
+ ### Env secret store backends
244
+
245
+ By default, `shk env` stores dotenv private keys in the **OS keyring** (local, zero extra dependencies). Teams can opt in to **1Password** for shared vault distribution, centralized revocation, and Business audit logs:
246
+
247
+ > **Prerequisite:** The 1Password backend requires the [1Password CLI (`op`)](https://www.1password.dev/cli/get-started), version 2.24.0 or later. Install it, connect it to the 1Password app or sign in, then verify it with `op --version` and `op whoami` before enabling this backend. The default keyring backend does not require `op`.
248
+
249
+ ```toml
250
+ # Keep secret_store = "keyring" until after `shk env key migrate --to 1password`.
251
+ [env]
252
+ secret_store = "keyring"
253
+ project_id = "acme/backend-api" # required for 1Password; machine-independent
254
+
255
+ [env.onepassword]
256
+ vault = "shk-project-keys" # required before migrating to 1Password
257
+ ```
258
+
259
+ Set `SHK_OP_PATH` to an absolute path when the `op` binary is not on PATH. Run `shk doctor env` to verify `op` resolution, version, and sign-in state.
260
+
261
+ See [Configuration — Env Secret Store](docs/configuration.md#env-secret-store) and [Commands — env key migrate](docs/commands.md#shk-env-key-migrate) for the full reference.
262
+
263
+ ```bash
264
+ # Phase 0 team handoff (no backend change): export instructions → vault → import
265
+ shk env key export --instructions
266
+ shk env key import --stdin
267
+
268
+ # Migrate keyring keys to 1Password (copies keys and updates shk.toml)
269
+ # Migrates indexed keys plus keys referenced by .env / .env.keys files throughout the project tree.
270
+ shk env key migrate --to 1password
271
+ # Verify the destination, then delete source copies explicitly.
272
+ ```
273
+
274
+ **Threat model (honest):** 1Password is primarily a **team operations** upgrade (distribution, offboarding, audit). It also avoids persisting keys in the local keyring. Desktop app authorization can persist for a CLI session, so it is not a guarantee of biometric approval on every `shk env run`. Prefer short vault auto-lock and 1Password Business access logs for visibility.
275
+
242
276
  ## Exit Codes
243
277
 
244
278
  | Code | Meaning |
@@ -23,7 +23,7 @@
23
23
  "hasInstallScript": true,
24
24
  "license": "MIT",
25
25
  "name": "security-harness-kit",
26
- "version": "0.5.4"
26
+ "version": "0.5.5"
27
27
  },
28
28
  "node_modules/@isaacs/cliui": {
29
29
  "engines": {
@@ -542,5 +542,5 @@
542
542
  }
543
543
  },
544
544
  "requires": true,
545
- "version": "0.5.4"
545
+ "version": "0.5.5"
546
546
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "artifactDownloadUrls": [
3
- "https://github.com/Kazuki-tam/security-harness-kit/releases/download/v0.5.4"
3
+ "https://github.com/Kazuki-tam/security-harness-kit/releases/download/v0.5.5"
4
4
  ],
5
5
  "bin": {
6
6
  "shk": "run-shk.js"
@@ -85,7 +85,7 @@
85
85
  "zipExt": ".tar.xz"
86
86
  }
87
87
  },
88
- "version": "0.5.4",
88
+ "version": "0.5.5",
89
89
  "volta": {
90
90
  "node": "18.14.1",
91
91
  "npm": "9.5.0"