narai-primitives 2.2.0 → 2.3.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
@@ -71,6 +71,10 @@ connector specifically — overriding a server target and policy per-repo, and t
71
71
  admin/privilege ceiling that an overlay cannot bypass — see
72
72
  [`docs/db-layered-config.md`](docs/db-layered-config.md).
73
73
 
74
+ External-write gating for the API connectors (asking or denying state-changing
75
+ HTTP before it runs) is operator-configurable via per-connector `gates.json`
76
+ manifests. See [`docs/external-write-gating.md`](docs/external-write-gating.md).
77
+
74
78
  ## Contributing
75
79
 
76
80
  See [CONTRIBUTING.md](CONTRIBUTING.md). Contributors touching `src/toolkit/agent_resolver.ts`, `src/hub/index.ts`, `src/credentials/`, or `src/connectors/db/` should also read [`docs/architecture-invariants.md`](docs/architecture-invariants.md).
@@ -1 +1 @@
1
- {"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../../src/connectors/db/dispatcher.ts"],"names":[],"mappings":";AAiCA,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAIL,KAAK,UAAU,EAChB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EACV,cAAc,EAGf,MAAM,uBAAuB,CAAC;AAS/B,OAAO,EAML,KAAK,WAAW,EACjB,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,MAAM,CAAgC,CAAC;AAE/E,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAClD,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AA0ItC;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,WAAW,EAClB,UAAU,CAAC,EAAE,UAAU,GACtB;IAAE,QAAQ,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAiDpD;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,OAAO,GACZ,eAAe,CAiDjB;AAiBD,wBAAsB,SAAS,CAC7B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,GAAE,MAAW,GACnB,OAAO,CAAC,WAAW,CAAC,CA6BtB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1C;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,WAAW,CA0E3E;AA+RD,MAAM,WAAW,YAAY;IAC3B,8DAA8D;IAC9D,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,wBAAsB,KAAK,CACzB,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,MAAM,GAAG,IAAW,EAC5B,QAAQ,GAAE,YAAiB,GAC1B,OAAO,CAAC,WAAW,CAAC,CA+BtB;AAQD,eAAO,MAAM,SAAS,uoCA2BrB,CAAC;AAEF,wBAAsB,IAAI,CACxB,IAAI,GAAE,SAAS,MAAM,EAA0B,GAC9C,OAAO,CAAC,MAAM,CAAC,CAsDjB"}
1
+ {"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../../src/connectors/db/dispatcher.ts"],"names":[],"mappings":";AAiCA,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAKL,KAAK,UAAU,EAChB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EACV,cAAc,EAGf,MAAM,uBAAuB,CAAC;AAS/B,OAAO,EAML,KAAK,WAAW,EACjB,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,MAAM,CAAgC,CAAC;AAE/E,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAClD,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AA0ItC;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,WAAW,EAClB,UAAU,CAAC,EAAE,UAAU,GACtB;IAAE,QAAQ,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAiDpD;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,OAAO,GACZ,eAAe,CAiDjB;AAiBD,wBAAsB,SAAS,CAC7B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,GAAE,MAAW,GACnB,OAAO,CAAC,WAAW,CAAC,CA6BtB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1C;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,WAAW,CA0E3E;AAsSD,MAAM,WAAW,YAAY;IAC3B,8DAA8D;IAC9D,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,wBAAsB,KAAK,CACzB,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,MAAM,GAAG,IAAW,EAC5B,QAAQ,GAAE,YAAiB,GAC1B,OAAO,CAAC,WAAW,CAAC,CA+BtB;AAQD,eAAO,MAAM,SAAS,uoCA2BrB,CAAC;AAEF,wBAAsB,IAAI,CACxB,IAAI,GAAE,SAAS,MAAM,EAA0B,GAC9C,OAAO,CAAC,MAAM,CAAC,CAsDjB"}
@@ -26,7 +26,7 @@ import { parseAgentArgs } from "narai-primitives/toolkit";
26
26
  import { loadResolvedConfig } from "narai-primitives/config";
27
27
  import { Policy, classifyStatements, } from "./lib/policy.js";
28
28
  import { executeQuery } from "./lib/query.js";
29
- import { FileGrantStore, grantStorePathFor, shouldIssueReadGrant, } from "./lib/grant-store.js";
29
+ import { FileGrantStore, grantStorePathFor, shouldIssueReadGrant, shouldIssueSessionGrant, } from "./lib/grant-store.js";
30
30
  import { SQLiteDriver } from "./lib/drivers/sqlite.js";
31
31
  import { parseConfig } from "./config.js";
32
32
  import { getEnvironment, registerEnvironment, clearEnvironments, } from "./lib/environments.js";
@@ -501,20 +501,26 @@ async function runOnEnv(action, v) {
501
501
  // they agree within this run. Other modes keep the default in-process
502
502
  // store (behavior unchanged).
503
503
  let grantStore;
504
- if (approvalMode === "grant_required" || grantDurationHours !== undefined) {
504
+ if (approvalMode === "grant_required" ||
505
+ approvalMode === "confirm_once" ||
506
+ grantDurationHours !== undefined) {
505
507
  grantStore = new FileGrantStore(grantStorePathFor(serverName));
506
508
  }
507
- // Issuance: an explicit `approve_grant` on this run is the human approval
508
- // authorizing reads against this target for the window. Record the grant
509
- // BEFORE the gate so the approved read is permitted to run and subsequent
510
- // reads within the window need no re-prompt. Without the flag nothing is
511
- // seeded, so the gate stands by default. Only `read` is ever granted.
509
+ // Issuance: an explicit `approve_grant` on this run is the human approval.
510
+ // Record the grant BEFORE the gate so the approved read is permitted to run
511
+ // and subsequent reads need no re-prompt. Without the flag nothing is
512
+ // seeded, so the gate stands by default. grant_required issues a `read`
513
+ // grant for its window; confirm_once issues a `session` grant so the
514
+ // approve-once decision carries across short-lived invocations. Neither
515
+ // ever grants admin/privilege.
512
516
  if (action === "query" && grantStore !== undefined) {
513
517
  const q = v;
518
+ const ttlSeconds = grantDurationHours !== undefined ? grantDurationHours * 3600 : 300;
514
519
  if (shouldIssueReadGrant(approvalMode, q.approve_grant === true)) {
515
- const ttlSeconds = grantDurationHours !== undefined ? grantDurationHours * 3600 : 300;
516
- const issuer = new Policy(approvalMode, rules, grantStore);
517
- issuer.addGrant("read", ttlSeconds);
520
+ new Policy(approvalMode, rules, grantStore).addGrant("read", ttlSeconds);
521
+ }
522
+ else if (shouldIssueSessionGrant(approvalMode, q.approve_grant === true)) {
523
+ new Policy(approvalMode, rules, grantStore).addGrant("session", ttlSeconds);
518
524
  }
519
525
  }
520
526
  // Pre-connect policy gate: short-circuit deny/escalate/present_only
@@ -1 +1 @@
1
- {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../../src/connectors/db/dispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../../src/connectors/db/dispatcher.ts"],"names":[],"mappings":"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"}
@@ -67,4 +67,11 @@ export declare function grantStorePathFor(serverName: string): string;
67
67
  * Only `read` grants are ever issued (admin/privilege are never grantable).
68
68
  */
69
69
  export declare function shouldIssueReadGrant(approvalMode: string, approveGrant: boolean): boolean;
70
+ /**
71
+ * Whether to issue a session grant for `confirm_once` mode. As with reads,
72
+ * the explicit approval flag IS the human approval; absent it, nothing is
73
+ * seeded and the first read still escalates. The session grant lets a later
74
+ * (fresh-process) read proceed without re-prompting until it expires.
75
+ */
76
+ export declare function shouldIssueSessionGrant(approvalMode: string, approveGrant: boolean): boolean;
70
77
  //# sourceMappingURL=grant-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"grant-store.d.ts","sourceRoot":"","sources":["../../../../src/connectors/db/lib/grant-store.ts"],"names":[],"mappings":"AA0BA;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC3C,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CACrD;AAED;;;;GAIG;AACH,qBAAa,gBAAiB,YAAW,UAAU;IACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAE1D,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI1C,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;CAGpD;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,cAAe,YAAW,UAAU;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,QAAQ,EAAE,MAAM;IAI5B,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAM1C,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IA4BnD;;;;OAIG;IACH,OAAO,CAAC,QAAQ;CAkBjB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAG5D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,OAAO,GACpB,OAAO,CAET"}
1
+ {"version":3,"file":"grant-store.d.ts","sourceRoot":"","sources":["../../../../src/connectors/db/lib/grant-store.ts"],"names":[],"mappings":"AA0BA;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC3C,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CACrD;AAED;;;;GAIG;AACH,qBAAa,gBAAiB,YAAW,UAAU;IACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAE1D,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI1C,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;CAGpD;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,cAAe,YAAW,UAAU;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,QAAQ,EAAE,MAAM;IAI5B,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAM1C,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IA4BnD;;;;OAIG;IACH,OAAO,CAAC,QAAQ;CAkBjB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAG5D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,OAAO,GACpB,OAAO,CAET;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,OAAO,GACpB,OAAO,CAET"}
@@ -146,4 +146,13 @@ export function grantStorePathFor(serverName) {
146
146
  export function shouldIssueReadGrant(approvalMode, approveGrant) {
147
147
  return approvalMode === "grant_required" && approveGrant === true;
148
148
  }
149
+ /**
150
+ * Whether to issue a session grant for `confirm_once` mode. As with reads,
151
+ * the explicit approval flag IS the human approval; absent it, nothing is
152
+ * seeded and the first read still escalates. The session grant lets a later
153
+ * (fresh-process) read proceed without re-prompting until it expires.
154
+ */
155
+ export function shouldIssueSessionGrant(approvalMode, approveGrant) {
156
+ return approvalMode === "confirm_once" && approveGrant === true;
157
+ }
149
158
  //# sourceMappingURL=grant-store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"grant-store.js","sourceRoot":"","sources":["../../../../src/connectors/db/lib/grant-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grant-store.js","sourceRoot":"","sources":["../../../../src/connectors/db/lib/grant-store.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../../src/connectors/db/lib/policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../../src/connectors/db/lib/policy.ts"],"names":[],"mappings":"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"}
@@ -593,7 +593,9 @@ export class Policy {
593
593
  return { decision: "allow", reason: "auto-approved" };
594
594
  }
595
595
  if (mode === "confirm_once") {
596
- if (this._session_approved) {
596
+ // In-process approval OR a persisted session grant (issued on a prior
597
+ // approval and durable across short-lived invocations) allows the read.
598
+ if (this._session_approved || this.isGrantActive("session")) {
597
599
  return { decision: "allow", reason: "session approved" };
598
600
  }
599
601
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../../src/connectors/db/lib/policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../../src/connectors/db/lib/policy.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "narai-primitives",
3
- "version": "2.2.0",
3
+ "version": "2.3.0",
4
4
  "description": "Read-only connectors + planning hub + connector framework + credential resolution, in one package. Bundles what was @narai/connector-toolkit, @narai/connector-config, @narai/connector-hub, the seven @narai/<svc>-agent-connector packages, and @narai/credential-providers.",
5
5
  "type": "module",
6
6
  "main": "./dist/hub/index.js",
@@ -228,6 +228,17 @@ async function onPreToolUse(cfg) {
228
228
  try {
229
229
  payload = JSON.parse(stdin);
230
230
  } catch {
231
+ // Unparseable tool input: under fail-closed, deny rather than fall open.
232
+ // Env-only here (there is no manifest to read an enforcement field from).
233
+ if (effectiveEnforcement(undefined) === "fail_closed") {
234
+ process.stdout.write(JSON.stringify({
235
+ hookSpecificOutput: {
236
+ hookEventName: "PreToolUse",
237
+ permissionDecision: "deny",
238
+ permissionDecisionReason: "fail-closed: unparseable tool input/command",
239
+ },
240
+ }));
241
+ }
231
242
  return;
232
243
  }
233
244
  // Derive the tool being gated and the text to scan. Bash scans the
@@ -261,6 +272,17 @@ async function onPreToolUse(cfg) {
261
272
  "guardrails.json",
262
273
  );
263
274
  if (fs.existsSync(guardrailsPath)) {
275
+ // Cheap pre-read of the manifest's own `enforcement` field so the
276
+ // engine-unavailable and engine-throw paths below can honor a
277
+ // `fail_closed` declared by the manifest, not only the env var. If the
278
+ // file itself will not parse, this stays undefined (env-only), matching
279
+ // the documented "a fully corrupt manifest needs the env var" rule.
280
+ let dbEnforcement;
281
+ try {
282
+ dbEnforcement = JSON.parse(fs.readFileSync(guardrailsPath, "utf-8")).enforcement;
283
+ } catch {
284
+ dbEnforcement = undefined;
285
+ }
264
286
  try {
265
287
  const toolkit = await loadToolkit();
266
288
  if (toolkit && typeof toolkit.findBlockingRule === "function") {
@@ -273,7 +295,7 @@ async function onPreToolUse(cfg) {
273
295
  reason: defaultDenyMessage(match),
274
296
  });
275
297
  }
276
- } else if (effectiveEnforcement(undefined) === "fail_closed") {
298
+ } else if (effectiveEnforcement(dbEnforcement) === "fail_closed") {
277
299
  decisions.push({
278
300
  decision: "deny",
279
301
  reason: "fail-closed enforcement: db guardrail engine is unavailable",
@@ -281,7 +303,7 @@ async function onPreToolUse(cfg) {
281
303
  }
282
304
  } catch (err) {
283
305
  process.stderr.write(`dispatcher: db-guard failed (${err.message})\n`);
284
- if (effectiveEnforcement(undefined) === "fail_closed") {
306
+ if (effectiveEnforcement(dbEnforcement) === "fail_closed") {
285
307
  decisions.push({
286
308
  decision: "deny",
287
309
  reason: `fail-closed enforcement: db guardrail manifest could not be evaluated (${err.message})`,
@@ -516,6 +538,26 @@ export function effectiveEnforcement(manifestEnforcement) {
516
538
  return "fail_open";
517
539
  }
518
540
 
541
+ /**
542
+ * Expand the `__PROTECTED_BRANCHES__` token in a gate pattern into a
543
+ * regex-escaped alternation of the default protected branches (main, master)
544
+ * plus any names in the NARAI_GIT_PROTECTED_BRANCHES env var (comma-separated).
545
+ * Operator-provided names are regex-escaped, so this cannot inject regex.
546
+ * Patterns without the token are returned unchanged (backward compatible).
547
+ */
548
+ export function expandPattern(pattern) {
549
+ if (typeof pattern !== "string" || !pattern.includes("__PROTECTED_BRANCHES__")) {
550
+ return pattern;
551
+ }
552
+ const extra = (process.env.NARAI_GIT_PROTECTED_BRANCHES ?? "")
553
+ .split(",")
554
+ .map((s) => s.trim())
555
+ .filter(Boolean);
556
+ const branches = ["main", "master", ...extra];
557
+ const escaped = branches.map((b) => b.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"));
558
+ return pattern.replace(/__PROTECTED_BRANCHES__/g, `(?:${escaped.join("|")})`);
559
+ }
560
+
519
561
  /**
520
562
  * Apply a parsed gates.json manifest to a command. Rules with invalid
521
563
  * shape, disabled names, or uncompilable patterns are skipped. Anchored
@@ -529,8 +571,21 @@ export function applyGatesManifest(manifest, source, text, disabled, decisions,
529
571
  const enforcement = effectiveEnforcement(manifest.enforcement);
530
572
  // Bash commands are split on chaining operators so anchored rules apply
531
573
  // per-segment. File content (Write/Edit) is matched as a single unit so
532
- // characters like `;` or `|` inside the file do not fragment it.
533
- const segments = scanTool === "Bash" ? splitCompound(text) : [text];
574
+ // characters like `;` or `|` inside the file do not fragment it. If the
575
+ // splitter throws on pathological input, fail closed denies rather than
576
+ // silently skipping the command.
577
+ let segments;
578
+ try {
579
+ segments = scanTool === "Bash" ? splitCompound(text) : [text];
580
+ } catch {
581
+ if (enforcement === "fail_closed") {
582
+ decisions.push({
583
+ decision: "deny",
584
+ reason: `fail-closed enforcement: ${source} could not tokenize the command`,
585
+ });
586
+ }
587
+ return;
588
+ }
534
589
  for (const rule of manifest.rules ?? []) {
535
590
  if (
536
591
  !["deny", "ask", "allow"].includes(rule.decision) ||
@@ -543,7 +598,7 @@ export function applyGatesManifest(manifest, source, text, disabled, decisions,
543
598
  const appliesTo = Array.isArray(rule.applies_to) ? rule.applies_to : ["Bash"];
544
599
  if (!appliesTo.includes(scanTool)) continue;
545
600
  let re;
546
- try { re = new RegExp(rule.pattern); } catch {
601
+ try { re = new RegExp(expandPattern(rule.pattern)); } catch {
547
602
  if (enforcement === "fail_closed") {
548
603
  decisions.push({
549
604
  decision: "deny",
@@ -19,7 +19,15 @@
19
19
  "name": "jdbc_url",
20
20
  "decision": "deny",
21
21
  "reason": "A JDBC connection URL bypasses the connector. Route DB access through the sanctioned connector instead.",
22
- "pattern": "[jJ][dD][bB][cC]:(postgresql|mysql|mariadb|sqlserver|oracle|sqlite|mongodb)://"
22
+ "pattern": "[jJ][dD][bB][cC]:(postgresql|mysql|mariadb|sqlserver|oracle|sqlite|mongodb)://",
23
+ "applies_to": ["Bash", "Write", "Edit"]
24
+ },
25
+ {
26
+ "name": "db_uri_credentials",
27
+ "decision": "deny",
28
+ "reason": "A database URI with embedded credentials is a credential/target leak. Route DB access through the sanctioned connector instead.",
29
+ "pattern": "(postgres(ql)?|mysql|mariadb|mongodb(\\+srv)?|mssql|sqlserver|oracle):\\/\\/[^:@\\/\\s]+:[^@\\/\\s]+@",
30
+ "applies_to": ["Bash", "Write", "Edit"]
23
31
  },
24
32
  {
25
33
  "name": "node_db_client_construct",
@@ -0,0 +1,13 @@
1
+ {
2
+ "version": 1,
3
+ "name": "db-strict-bare",
4
+ "enforcement": "fail_closed",
5
+ "rules": [
6
+ {
7
+ "name": "raw_dml_bare",
8
+ "decision": "deny",
9
+ "reason": "A bare leading DML/DDL statement bypasses the connector. Route data/schema changes through the sanctioned connector instead.",
10
+ "pattern": "^\\s*([iI][nN][sS][eE][rR][tT]\\s+[iI][nN][tT][oO]|[uU][pP][dD][aA][tT][eE]\\s+\\S+\\s+[sS][eE][tT]\\b|[dD][eE][lL][eE][tT][eE]\\s+[fF][rR][oO][mM]|[dD][rR][oO][pP]\\s+[tT][aA][bB][lL][eE]|[tT][rR][uU][nN][cC][aA][tT][eE]\\s+([tT][aA][bB][lL][eE]\\s+)?)"
11
+ }
12
+ ]
13
+ }
@@ -1,18 +1,31 @@
1
1
  {
2
2
  "version": 1,
3
3
  "name": "git",
4
+ "enforcement": "fail_closed",
4
5
  "rules": [
5
6
  {
6
7
  "name": "push_main",
7
8
  "decision": "deny",
8
- "reason": "Pushing to main/master is denied by policy. Open a PR instead.",
9
- "pattern": "^git\\s+push\\b.*\\b(main|master)\\b"
9
+ "reason": "Pushing to a protected branch is denied by policy. Open a PR instead.",
10
+ "pattern": "^git\\s+push\\b.*\\b__PROTECTED_BRANCHES__\\b"
10
11
  },
11
12
  {
12
13
  "name": "force_push",
14
+ "decision": "deny",
15
+ "reason": "Force push rewrites remote history and is denied. Use --force-with-lease if a force is truly required.",
16
+ "pattern": "^git\\s+push\\b.*\\s(--force(?!-with-lease)\\b|-f\\b)"
17
+ },
18
+ {
19
+ "name": "force_with_lease",
13
20
  "decision": "ask",
14
- "reason": "Force push rewrites remote history. Confirm before proceeding.",
15
- "pattern": "^git\\s+push\\b.*\\s(--force\\b|--force-with-lease\\b|-f\\b)"
21
+ "reason": "Lease-guarded force push rewrites remote history. Confirm before proceeding.",
22
+ "pattern": "^git\\s+push\\b.*\\s--force-with-lease\\b"
23
+ },
24
+ {
25
+ "name": "mirror_push",
26
+ "decision": "deny",
27
+ "reason": "git push --mirror overwrites all remote refs and is denied.",
28
+ "pattern": "^git\\s+push\\b.*\\s--mirror\\b"
16
29
  },
17
30
  {
18
31
  "name": "delete_branch_remote",
@@ -0,0 +1,18 @@
1
+ {
2
+ "version": 1,
3
+ "name": "gitlab",
4
+ "rules": [
5
+ {
6
+ "name": "mr_create_without_draft",
7
+ "decision": "deny",
8
+ "reason": "Creating a GitLab merge request without a draft marker is denied by this example policy. Add --draft (or -draft) so the MR opens as a draft, or customize this rule. Note: the absence-of-flag check uses a negative lookahead and only inspects the same command segment.",
9
+ "pattern": "^glab\\s+mr\\s+create\\b(?!.*\\s-?-draft\\b)|\\bcurl\\b(?!.*\\bdraft\\b).*(\\s-X\\s+POST\\b|\\s--request\\s+POST\\b).*\\bmerge_requests\\b|\\bcurl\\b(?!.*\\bdraft\\b).*\\bmerge_requests\\b.*(\\s-X\\s+POST\\b|\\s--request\\s+POST\\b)"
10
+ },
11
+ {
12
+ "name": "gitlab_state_changing_http",
13
+ "decision": "ask",
14
+ "reason": "This looks like a state-changing HTTP request (POST/PUT/DELETE/PATCH) to a GitLab host. Confirm before mutating remote data. This is a conservative example preset; customize the host and verbs in your own gates.json.",
15
+ "pattern": "\\b(curl|http|https|wget)\\b.*(\\s-X\\s+(POST|PUT|DELETE|PATCH)\\b|\\s--request\\s+(POST|PUT|DELETE|PATCH)\\b).*\\bgitlab\\b|\\b(curl|http|https|wget)\\b.*\\bgitlab\\b.*(\\s-X\\s+(POST|PUT|DELETE|PATCH)\\b|\\s--request\\s+(POST|PUT|DELETE|PATCH)\\b)"
16
+ }
17
+ ]
18
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "version": 1,
3
+ "name": "jira",
4
+ "rules": [
5
+ {
6
+ "name": "jira_state_changing_http",
7
+ "decision": "ask",
8
+ "reason": "This looks like a state-changing HTTP request (POST/PUT/DELETE/PATCH) to a Jira/Atlassian host. Confirm before mutating remote issue data. This is a conservative example preset; customize the host and verbs in your own gates.json.",
9
+ "pattern": "\\b(curl|http|https|wget)\\b.*(\\s-X\\s+(POST|PUT|DELETE|PATCH)\\b|\\s--request\\s+(POST|PUT|DELETE|PATCH)\\b).*\\b(atlassian\\.net|jira)\\b|\\b(curl|http|https|wget)\\b.*\\b(atlassian\\.net|jira)\\b.*(\\s-X\\s+(POST|PUT|DELETE|PATCH)\\b|\\s--request\\s+(POST|PUT|DELETE|PATCH)\\b)"
10
+ }
11
+ ]
12
+ }