secretless-ai 0.16.4 → 0.17.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
@@ -3,7 +3,7 @@
3
3
 
4
4
  [![npm version](https://img.shields.io/npm/v/secretless-ai.svg)](https://www.npmjs.com/package/secretless-ai)
5
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-915-brightgreen)](https://github.com/opena2a-org/secretless-ai)
6
+ [![Tests](https://img.shields.io/badge/tests-988-brightgreen)](https://github.com/opena2a-org/secretless-ai)
7
7
 
8
8
  Keep API keys and secrets invisible to AI coding tools. Works with Claude Code, Cursor, GitHub Copilot, Windsurf, Cline, and Aider.
9
9
 
@@ -14,7 +14,7 @@ npx secretless-ai init
14
14
  ```
15
15
 
16
16
  ```
17
- Secretless v0.16.4
17
+ Secretless v0.17.0
18
18
  Keeping secrets out of AI
19
19
 
20
20
  Configured: Claude Code (1 of 1 detected)
@@ -70,6 +70,17 @@ npx secretless-ai mcp-status # Show which servers are prot
70
70
  npx secretless-ai mcp-unprotect # Restore original configs from backup
71
71
  ```
72
72
 
73
+ ## Triage Helpers
74
+
75
+ ```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
78
+ npx secretless-ai ignore --pattern '*.golden.txt'
79
+ npx secretless-ai diff main # Audit secretless-managed file changes vs a git ref
80
+ ```
81
+
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
+
73
84
  ## How It Works
74
85
 
75
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/` ...)
package/dist/cli.js CHANGED
@@ -55,6 +55,8 @@ const vault_1 = require("./commands/vault");
55
55
  const scope_1 = require("./commands/scope");
56
56
  const session_1 = require("./commands/session");
57
57
  const feedback_1 = require("./commands/feedback");
58
+ const ignore_1 = require("./commands/ignore");
59
+ const diff_1 = require("./commands/diff");
58
60
  const help_1 = require("./commands/help");
59
61
  const TOOL = 'secretless-ai';
60
62
  // Subcommands we don't track: pure-help / pure-config calls don't represent
@@ -126,10 +128,38 @@ async function dispatch(args, command) {
126
128
  const includeTests = args.includes('--include-tests');
127
129
  const explain = args.includes('--explain');
128
130
  const noIgnore = args.includes('--no-ignore');
129
- const positionalArgs = args.slice(1).filter(a => !a.startsWith('--'));
131
+ // --min-confidence <n> (n in [0, 1]). Drops findings whose composite
132
+ // confidence score is below the threshold. Useful on noisy repos to
133
+ // surface only high-confidence credentials. Invalid values fall back to
134
+ // 0 (no filtering) and the runner prints a warning.
135
+ let minConfidence = 0;
136
+ const mcIdx = args.indexOf('--min-confidence');
137
+ if (mcIdx !== -1 && mcIdx + 1 < args.length) {
138
+ const raw = args[mcIdx + 1];
139
+ const parsed = Number.parseFloat(raw);
140
+ if (Number.isFinite(parsed) && parsed >= 0 && parsed <= 1) {
141
+ minConfidence = parsed;
142
+ }
143
+ else {
144
+ console.error(` Warning: ignoring invalid --min-confidence value "${raw}" (must be in [0, 1]).`);
145
+ }
146
+ }
147
+ const flagFlag = new Set(['--include-tests', '--explain', '--no-ignore', '--min-confidence']);
148
+ const positionalArgs = [];
149
+ for (let k = 1; k < args.length; k++) {
150
+ const a = args[k];
151
+ if (flagFlag.has(a)) {
152
+ if (a === '--min-confidence')
153
+ k++;
154
+ continue;
155
+ }
156
+ if (a.startsWith('--'))
157
+ continue;
158
+ positionalArgs.push(a);
159
+ }
130
160
  const dirArg = positionalArgs[0];
131
161
  const projectDir = dirArg ? path.resolve(dirArg) : process.cwd();
132
- return (0, core_1.runScan)(projectDir, { includeTests, explain, noIgnore });
162
+ return (0, core_1.runScan)(projectDir, { includeTests, explain, noIgnore, minConfidence });
133
163
  }
134
164
  case 'status': {
135
165
  const dirArg = args[1];
@@ -193,6 +223,10 @@ async function dispatch(args, command) {
193
223
  return (0, session_1.runInstall)(args.slice(1));
194
224
  case 'feedback':
195
225
  return (0, feedback_1.runFeedback)();
226
+ case 'ignore':
227
+ return (0, ignore_1.runIgnore)(args.slice(1));
228
+ case 'diff':
229
+ return (0, diff_1.runDiff)(args.slice(1));
196
230
  case '--help':
197
231
  case '-h':
198
232
  case undefined:
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;AAEA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,2CAA6B;AAE7B,4CAA2C;AAC3C,6EAA6E;AAC7E,kEAAkE;AAClE,0CAAoF;AACpF,sDAA4F;AAC5F,gDAA+C;AAC/C,gDAAgF;AAChF,4CAA4C;AAC5C,wCAAwD;AACxD,wCAA8E;AAC9E,gDAAsE;AACtE,8CAA8C;AAC9C,4CAA4C;AAC5C,4CAA4C;AAC5C,gDAAyD;AACzD,kDAAkD;AAClD,0CAA4C;AAE5C,MAAM,IAAI,GAAG,eAAe,CAAC;AAC7B,4EAA4E;AAC5E,4EAA4E;AAC5E,qCAAqC;AACrC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAS,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;AAEtF,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAExB,mFAAmF;IACnF,gFAAgF;IAChF,uEAAuE;IACvE,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAChD,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC7E,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,eAAO,EAAE,CAAC,CAAC;IAElD,gFAAgF;IAChF,gFAAgF;IAChF,iFAAiF;IACjF,gFAAgF;IAChF,oEAAoE;IACpE,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAChE,IAAA,gBAAS,GAAE,CAAC;QACZ,OAAO,CAAC,CAAC;IACX,CAAC;IAED,4EAA4E;IAC5E,IAAI,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,eAAO,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;QACrF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,uBAAuB;IACvB,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAoB,EAAE;YAC1D,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,IAAI,CAAC,MAAM;YACtB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC,CAAC;QACJ,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,QAAQ,GAAG,CAAC,CAAC;QACb,IAAI,OAAO;YAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAG,GAAwC,EAAE,IAAI,IAAK,GAAyB,EAAE,IAAI,IAAI,SAAS,CAAC,CAAC;QACnI,MAAM,GAAG,CAAC;IACZ,CAAC;YAAS,CAAC;QACT,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,KAAK,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;QAC7F,CAAC;QACD,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,IAAc,EAAE,OAA2B;IACjE,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACjE,OAAO,IAAA,cAAO,EAAC,UAAU,CAAC,CAAC;QAC7B,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/B,OAAO,IAAA,2BAAc,GAAE,CAAC;YAC1B,CAAC;YACD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YACtD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAC9C,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;YACtE,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACjE,OAAO,IAAA,cAAO,EAAC,UAAU,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACjE,OAAO,IAAA,gBAAS,EAAC,UAAU,CAAC,CAAC;QAC/B,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACvC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAC7B,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACjE,OAAO,IAAA,gBAAS,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACxC,CAAC;QACD,KAAK,QAAQ;YACX,OAAO,IAAA,gBAAS,EAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3C,KAAK,OAAO;YACV,OAAO,IAAA,qBAAQ,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,KAAK,OAAO;YACV,OAAO,IAAA,qBAAQ,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,KAAK,OAAO;YACV,OAAO,IAAA,gBAAQ,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,KAAK,aAAa;YAChB,OAAO,IAAA,mBAAa,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,KAAK,YAAY;YACf,OAAO,IAAA,kBAAY,GAAE,CAAC;QACxB,KAAK,eAAe;YAClB,OAAO,IAAA,qBAAe,GAAE,CAAC;QAC3B,KAAK,SAAS;YACZ,OAAO,IAAA,oBAAU,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,KAAK,SAAS;YACZ,OAAO,IAAA,oBAAU,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,KAAK,QAAQ;YACX,OAAO,IAAA,mBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,KAAK,KAAK;YACR,OAAO,IAAA,gBAAM,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,KAAK,KAAK;YACR,OAAO,IAAA,gBAAM,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,KAAK,QAAQ;YACX,OAAO,IAAA,mBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,KAAK,OAAO;YACV,OAAO,IAAA,yBAAe,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,KAAK,MAAM;YACT,OAAO,IAAA,aAAO,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,KAAK,aAAa;YAChB,OAAO,IAAA,mBAAa,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,KAAK,OAAO;YACV,OAAO,IAAA,kBAAQ,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,KAAK,QAAQ;YACX,OAAO,IAAA,kBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,KAAK,OAAO;YACV,OAAO,IAAA,gBAAQ,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,KAAK,OAAO;YACV,OAAO,IAAA,gBAAQ,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,KAAK,cAAc;YACjB,OAAO,IAAA,2BAAc,GAAE,CAAC;QAC1B,KAAK,eAAe;YAClB,OAAO,IAAA,4BAAe,EAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;QACrD,KAAK,MAAM;YACT,OAAO,IAAA,iBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,KAAK,SAAS;YACZ,OAAO,IAAA,oBAAU,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,KAAK,UAAU;YACb,OAAO,IAAA,sBAAW,GAAE,CAAC;QACvB,KAAK,QAAQ,CAAC;QACd,KAAK,IAAI,CAAC;QACV,KAAK,SAAS;YACZ,IAAA,gBAAS,GAAE,CAAC;YACZ,OAAO,CAAC,CAAC;QACX;YACE,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;YAC7C,IAAA,gBAAS,GAAE,CAAC;YACZ,OAAO,CAAC,CAAC;IACb,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,IAAI,CACT,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAC5B,CAAC,GAAG,EAAE,EAAE;IACN,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ export declare function runScan(projectDir: string, options?: {
3
3
  includeTests?: boolean;
4
4
  explain?: boolean;
5
5
  noIgnore?: boolean;
6
+ minConfidence?: number;
6
7
  }): Promise<number>;
7
8
  export declare function runStatus(projectDir: string): number;
8
9
  export declare function runVerify(projectDir: string, showAll?: boolean): number;
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/commands/core.ts"],"names":[],"mappings":"AAeA,wBAAgB,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CA8FlD;AAED,wBAAsB,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA+B9I;AAwED,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAoHpD;AAED,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,UAAQ,GAAG,MAAM,CAkFrE;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAwElD"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/commands/core.ts"],"names":[],"mappings":"AAeA,wBAAgB,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CA8FlD;AAED,wBAAsB,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAgCtK;AAqFD,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAoHpD;AAED,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,UAAQ,GAAG,MAAM,CAkFrE;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAwElD"}
@@ -119,6 +119,7 @@ async function runScan(projectDir, options) {
119
119
  // default-ignore list. Used when a user wants to see every finding,
120
120
  // including known-fixture noise.
121
121
  ignore: options?.noIgnore ? false : undefined,
122
+ minConfidence: options?.minConfidence,
122
123
  });
123
124
  if (findings.length === 0) {
124
125
  console.log(' No hardcoded credentials found.');
@@ -151,10 +152,23 @@ function printFindings(findings) {
151
152
  for (const finding of findings) {
152
153
  const sevColor = finding.severity === 'critical' ? colors_1.c.brightRed : colors_1.c.yellow;
153
154
  const sevLabel = finding.severity === 'critical' ? 'CRITICAL' : 'HIGH';
155
+ // Confidence rendering: `confidence: high (0.92)`. Tier colour mirrors the
156
+ // severity colour ramp \u2014 high green, medium yellow, low dim \u2014 so a low-
157
+ // confidence high-severity finding still looks lower than a high-
158
+ // confidence one without the user squinting at the number.
159
+ const tierColor = finding.confidenceTier === 'high'
160
+ ? colors_1.c.green
161
+ : finding.confidenceTier === 'medium'
162
+ ? colors_1.c.yellow
163
+ : colors_1.c.dim;
164
+ const fixtureSuffix = finding.looksLikeFixture
165
+ ? colors_1.c.dim(' (looks like a test fixture)')
166
+ : '';
154
167
  console.log();
155
168
  console.log(` ${sevColor('\u2502')} ${colors_1.c.bold(sevLabel)} ${colors_1.c.boldWhite(finding.patternName)}`);
156
- console.log(` ${sevColor('\u2502')} ${colors_1.c.dim(`${finding.file}:${finding.line}`)}`);
169
+ console.log(` ${sevColor('\u2502')} ${colors_1.c.dim(`${finding.file}:${finding.line}`)}${fixtureSuffix}`);
157
170
  console.log(` ${sevColor('\u2502')} ${finding.preview}`);
171
+ console.log(` ${sevColor('\u2502')} ${colors_1.c.cyan('Confidence:')} ${tierColor(`${finding.confidenceTier} (${finding.confidence.toFixed(2)})`)}`);
158
172
  if (finding.fix) {
159
173
  console.log(` ${sevColor('\u2502')} ${colors_1.c.cyan('Fix:')} ${finding.fix}`);
160
174
  }
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/commands/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/commands/core.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * `secretless-ai diff <ref>` — show how secretless-managed files have
3
+ * changed vs a git ref.
4
+ *
5
+ * Concrete change-set audit. After running `init`, a user wants to see
6
+ * exactly what was added/modified — without inspecting each file by hand
7
+ * or running `git diff` against a noisy diff that includes unrelated work.
8
+ * This subcommand restricts `git diff` to the small set of paths
9
+ * secretless owns: `.claude/settings.json`, `.secretlessignore`, and
10
+ * `.secretless-rules.yaml` (custom rules — see src/custom-rules.ts).
11
+ *
12
+ * Output: a unified-diff-like report, headered by file with an INTRODUCED /
13
+ * REMOVED / MODIFIED / UNCHANGED tag.
14
+ *
15
+ * Security notes (Wave 2 Phase 4.5):
16
+ * - Refs are validated against `[A-Za-z0-9._/^@~+-]` only — no shell
17
+ * metacharacters slip through into `git diff`.
18
+ * - We use `execFileSync` with an array argv (NOT a shell string), so even
19
+ * if a ref slipped past validation it would be treated as a positional
20
+ * argument by git.
21
+ * - `git diff` failures (missing ref, not a repo) return non-zero and are
22
+ * surfaced to the user without leaking the underlying git stderr verbatim.
23
+ */
24
+ /**
25
+ * Validate a git ref. Allows: alphanumerics, `.`, `_`, `/`, `^`, `@`, `~`,
26
+ * `+`, `-`. Rejects everything else — including shell metacharacters and
27
+ * whitespace. This is conservative; it rejects some legitimate refs (e.g.
28
+ * `${tag}`) but the user can quote the ref in their shell, not inside us.
29
+ *
30
+ * Empty refs are rejected.
31
+ */
32
+ export declare function isSafeGitRef(ref: string): boolean;
33
+ export interface DiffFileChange {
34
+ /** Repo-relative POSIX path. */
35
+ file: string;
36
+ /** Status: A introduced, D removed, M modified, U unchanged. */
37
+ status: 'A' | 'D' | 'M' | 'U';
38
+ /** Unified diff body (empty when status === 'U'). */
39
+ unified: string;
40
+ }
41
+ export interface DiffResult {
42
+ /** 0 ok, 1 invalid args, 2 git error. */
43
+ exitCode: number;
44
+ /** The ref the diff was taken against. */
45
+ ref?: string;
46
+ /** Per-file change summary. */
47
+ changes: DiffFileChange[];
48
+ /** Single-line message for stderr/stdout. */
49
+ message: string;
50
+ }
51
+ /**
52
+ * Compute the secretless-managed diff vs `ref` from `cwd`.
53
+ * Pure-ish: side effects are the `git` invocations (read-only).
54
+ */
55
+ export declare function computeDiff(ref: string, cwd?: string): DiffResult;
56
+ /**
57
+ * CLI entry point. Args: [ref?]. Default ref is `HEAD`.
58
+ */
59
+ export declare function runDiff(args: string[]): number;
60
+ //# sourceMappingURL=diff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/commands/diff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAaH;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CASjD;AAED,MAAM,WAAW,cAAc;IAC7B,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC9B,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;CACjB;AAgED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,GAAE,MAAsB,GAAG,UAAU,CAmFhF;AASD;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAkC9C"}
@@ -0,0 +1,284 @@
1
+ "use strict";
2
+ /**
3
+ * `secretless-ai diff <ref>` — show how secretless-managed files have
4
+ * changed vs a git ref.
5
+ *
6
+ * Concrete change-set audit. After running `init`, a user wants to see
7
+ * exactly what was added/modified — without inspecting each file by hand
8
+ * or running `git diff` against a noisy diff that includes unrelated work.
9
+ * This subcommand restricts `git diff` to the small set of paths
10
+ * secretless owns: `.claude/settings.json`, `.secretlessignore`, and
11
+ * `.secretless-rules.yaml` (custom rules — see src/custom-rules.ts).
12
+ *
13
+ * Output: a unified-diff-like report, headered by file with an INTRODUCED /
14
+ * REMOVED / MODIFIED / UNCHANGED tag.
15
+ *
16
+ * Security notes (Wave 2 Phase 4.5):
17
+ * - Refs are validated against `[A-Za-z0-9._/^@~+-]` only — no shell
18
+ * metacharacters slip through into `git diff`.
19
+ * - We use `execFileSync` with an array argv (NOT a shell string), so even
20
+ * if a ref slipped past validation it would be treated as a positional
21
+ * argument by git.
22
+ * - `git diff` failures (missing ref, not a repo) return non-zero and are
23
+ * surfaced to the user without leaking the underlying git stderr verbatim.
24
+ */
25
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
26
+ if (k2 === undefined) k2 = k;
27
+ var desc = Object.getOwnPropertyDescriptor(m, k);
28
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
29
+ desc = { enumerable: true, get: function() { return m[k]; } };
30
+ }
31
+ Object.defineProperty(o, k2, desc);
32
+ }) : (function(o, m, k, k2) {
33
+ if (k2 === undefined) k2 = k;
34
+ o[k2] = m[k];
35
+ }));
36
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
37
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
38
+ }) : function(o, v) {
39
+ o["default"] = v;
40
+ });
41
+ var __importStar = (this && this.__importStar) || (function () {
42
+ var ownKeys = function(o) {
43
+ ownKeys = Object.getOwnPropertyNames || function (o) {
44
+ var ar = [];
45
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
46
+ return ar;
47
+ };
48
+ return ownKeys(o);
49
+ };
50
+ return function (mod) {
51
+ if (mod && mod.__esModule) return mod;
52
+ var result = {};
53
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
54
+ __setModuleDefault(result, mod);
55
+ return result;
56
+ };
57
+ })();
58
+ Object.defineProperty(exports, "__esModule", { value: true });
59
+ exports.isSafeGitRef = isSafeGitRef;
60
+ exports.computeDiff = computeDiff;
61
+ exports.runDiff = runDiff;
62
+ const child_process_1 = require("child_process");
63
+ const fs = __importStar(require("fs"));
64
+ const path = __importStar(require("path"));
65
+ /** Files secretless considers "managed" — only these are diffed. */
66
+ const MANAGED_PATHS = Object.freeze([
67
+ '.claude/settings.json',
68
+ '.secretlessignore',
69
+ '.secretless-rules.yaml',
70
+ ]);
71
+ /**
72
+ * Validate a git ref. Allows: alphanumerics, `.`, `_`, `/`, `^`, `@`, `~`,
73
+ * `+`, `-`. Rejects everything else — including shell metacharacters and
74
+ * whitespace. This is conservative; it rejects some legitimate refs (e.g.
75
+ * `${tag}`) but the user can quote the ref in their shell, not inside us.
76
+ *
77
+ * Empty refs are rejected.
78
+ */
79
+ function isSafeGitRef(ref) {
80
+ if (!ref)
81
+ return false;
82
+ if (ref.length > 256)
83
+ return false;
84
+ // Refs cannot start with `-` (would be parsed as a flag by git).
85
+ if (ref.startsWith('-'))
86
+ return false;
87
+ // Refs cannot contain `..` (parent traversal in a path-shaped ref) per git.
88
+ // git itself also rejects this, but we duplicate the check defensively.
89
+ if (ref.includes('..'))
90
+ return false;
91
+ return /^[A-Za-z0-9._/^@~+-]+$/.test(ref);
92
+ }
93
+ /**
94
+ * Run `git rev-parse --show-toplevel` to anchor diff calls. Returns null
95
+ * if not in a git repo (and the caller surfaces that as a user error).
96
+ */
97
+ function gitToplevel(cwd) {
98
+ try {
99
+ const out = (0, child_process_1.execFileSync)('git', ['rev-parse', '--show-toplevel'], {
100
+ cwd,
101
+ encoding: 'utf-8',
102
+ stdio: ['pipe', 'pipe', 'pipe'],
103
+ });
104
+ return out.trim();
105
+ }
106
+ catch {
107
+ return null;
108
+ }
109
+ }
110
+ /**
111
+ * Run `git diff <ref> -- <path>` for a single managed file. Returns the
112
+ * unified-diff body, or empty string if there are no differences. On git
113
+ * error (e.g. unknown ref), throws — caller catches and reports.
114
+ */
115
+ function diffOne(rootDir, ref, file) {
116
+ return (0, child_process_1.execFileSync)('git', ['diff', '--no-color', ref, '--', file], {
117
+ cwd: rootDir,
118
+ encoding: 'utf-8',
119
+ stdio: ['pipe', 'pipe', 'pipe'],
120
+ maxBuffer: 5 * 1024 * 1024,
121
+ });
122
+ }
123
+ /**
124
+ * Resolve a managed-path's status at `ref` and HEAD by combining `git ls-tree`
125
+ * with current-FS existence. Used to produce the A/D/M/U status tag.
126
+ */
127
+ function resolveStatus(rootDir, ref, file) {
128
+ // Existed at ref?
129
+ let inRef = false;
130
+ try {
131
+ (0, child_process_1.execFileSync)('git', ['cat-file', '-e', `${ref}:${file}`], {
132
+ cwd: rootDir,
133
+ stdio: ['pipe', 'pipe', 'pipe'],
134
+ });
135
+ inRef = true;
136
+ }
137
+ catch {
138
+ inRef = false;
139
+ }
140
+ // Exists now (working tree)?
141
+ const onDisk = fs.existsSync(path.join(rootDir, file));
142
+ if (!inRef && !onDisk)
143
+ return 'gone';
144
+ if (!inRef && onDisk)
145
+ return 'A';
146
+ if (inRef && !onDisk)
147
+ return 'D';
148
+ // Both: compare the diff. Empty diff → unchanged, else modified.
149
+ try {
150
+ const d = diffOne(rootDir, ref, file);
151
+ return d.trim() === '' ? 'U' : 'M';
152
+ }
153
+ catch {
154
+ return 'U';
155
+ }
156
+ }
157
+ /**
158
+ * Compute the secretless-managed diff vs `ref` from `cwd`.
159
+ * Pure-ish: side effects are the `git` invocations (read-only).
160
+ */
161
+ function computeDiff(ref, cwd = process.cwd()) {
162
+ if (!isSafeGitRef(ref)) {
163
+ return {
164
+ exitCode: 1,
165
+ changes: [],
166
+ message: `Invalid git ref: "${ref}". Only [A-Za-z0-9._/^@~+-] are allowed.`,
167
+ };
168
+ }
169
+ const rootDir = gitToplevel(cwd);
170
+ if (!rootDir) {
171
+ return {
172
+ exitCode: 2,
173
+ changes: [],
174
+ message: 'Not a git repository (or any parent up to mount point).',
175
+ };
176
+ }
177
+ // Probe the ref. `git rev-parse <ref>` is a cheap existence check that
178
+ // surfaces a useful error without trying every managed file.
179
+ try {
180
+ (0, child_process_1.execFileSync)('git', ['rev-parse', '--verify', ref], {
181
+ cwd: rootDir,
182
+ stdio: ['pipe', 'pipe', 'pipe'],
183
+ });
184
+ }
185
+ catch {
186
+ return {
187
+ exitCode: 2,
188
+ ref,
189
+ changes: [],
190
+ message: `Unknown git ref: ${ref}. Try \`git fetch\` or check the spelling.`,
191
+ };
192
+ }
193
+ const changes = [];
194
+ for (const file of MANAGED_PATHS) {
195
+ const status = resolveStatus(rootDir, ref, file);
196
+ if (status === 'gone')
197
+ continue;
198
+ let unified = '';
199
+ if (status !== 'U') {
200
+ try {
201
+ unified = diffOne(rootDir, ref, file);
202
+ }
203
+ catch {
204
+ unified = '';
205
+ }
206
+ // `git diff <ref> -- <path>` skips untracked files (they're not in the
207
+ // index). For an INTRODUCED file we synthesise a unified diff from
208
+ // the file contents directly so the user still sees what was added.
209
+ if (status === 'A' && unified.trim() === '') {
210
+ try {
211
+ const fullPath = path.join(rootDir, file);
212
+ const content = fs.readFileSync(fullPath, 'utf-8');
213
+ const headerLines = [
214
+ `--- /dev/null`,
215
+ `+++ b/${file}`,
216
+ `@@ untracked, ${content.split('\n').length} line(s) @@`,
217
+ ];
218
+ const body = content.split('\n').map(l => `+${l}`).join('\n');
219
+ unified = headerLines.join('\n') + '\n' + body;
220
+ }
221
+ catch {
222
+ // Binary or unreadable — leave unified empty; the renderer prints
223
+ // "(binary or empty diff)".
224
+ }
225
+ }
226
+ }
227
+ changes.push({ file, status, unified });
228
+ }
229
+ if (changes.length === 0) {
230
+ return {
231
+ exitCode: 0,
232
+ ref,
233
+ changes,
234
+ message: `No secretless-managed files differ from ${ref}.`,
235
+ };
236
+ }
237
+ return {
238
+ exitCode: 0,
239
+ ref,
240
+ changes,
241
+ message: `Diff vs ${ref}: ${changes.filter(c => c.status !== 'U').length} file(s) changed.`,
242
+ };
243
+ }
244
+ const STATUS_LABEL = {
245
+ A: 'INTRODUCED',
246
+ D: 'REMOVED',
247
+ M: 'MODIFIED',
248
+ U: 'UNCHANGED',
249
+ };
250
+ /**
251
+ * CLI entry point. Args: [ref?]. Default ref is `HEAD`.
252
+ */
253
+ function runDiff(args) {
254
+ const ref = args[0] ?? 'HEAD';
255
+ const result = computeDiff(ref);
256
+ if (result.exitCode !== 0) {
257
+ console.error(` ${result.message}`);
258
+ return result.exitCode;
259
+ }
260
+ console.log(`\n Secretless Diff vs ${result.ref}\n`);
261
+ if (result.changes.length === 0) {
262
+ console.log(` ${result.message}\n`);
263
+ return 0;
264
+ }
265
+ for (const change of result.changes) {
266
+ console.log(` ── ${STATUS_LABEL[change.status]} ${change.file}`);
267
+ if (change.status === 'U') {
268
+ console.log(' (no changes)');
269
+ continue;
270
+ }
271
+ if (!change.unified.trim()) {
272
+ console.log(' (binary or empty diff)');
273
+ continue;
274
+ }
275
+ // Indent each diff line by 4 spaces for readability.
276
+ for (const line of change.unified.split('\n')) {
277
+ console.log(` ${line}`);
278
+ }
279
+ }
280
+ console.log();
281
+ console.log(` ${result.message}\n`);
282
+ return 0;
283
+ }
284
+ //# sourceMappingURL=diff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/commands/diff.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"AAEA,wBAAgB,SAAS,IAAI,IAAI,CAqIhC"}
1
+ {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"AAEA,wBAAgB,SAAS,IAAI,IAAI,CA0IhC"}