security-harness-kit 0.5.3 → 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 +36 -2
- package/npm-shrinkwrap.json +2 -2
- package/package.json +2 -2
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
|
|
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.
|
|
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 |
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"hasInstallScript": true,
|
|
24
24
|
"license": "MIT",
|
|
25
25
|
"name": "security-harness-kit",
|
|
26
|
-
"version": "0.5.
|
|
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.
|
|
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.
|
|
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.
|
|
88
|
+
"version": "0.5.5",
|
|
89
89
|
"volta": {
|
|
90
90
|
"node": "18.14.1",
|
|
91
91
|
"npm": "9.5.0"
|