@lannguyensi/harness 0.48.0 → 0.50.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.
Files changed (93) hide show
  1. package/CHANGELOG.md +825 -0
  2. package/dist/cli/add/index.js +15 -3
  3. package/dist/cli/add/index.js.map +1 -1
  4. package/dist/cli/apply/apply.js +19 -3
  5. package/dist/cli/apply/apply.js.map +1 -1
  6. package/dist/cli/approve/risk.d.ts +28 -2
  7. package/dist/cli/approve/risk.js +14 -4
  8. package/dist/cli/approve/risk.js.map +1 -1
  9. package/dist/cli/diff/index.js +22 -1
  10. package/dist/cli/diff/index.js.map +1 -1
  11. package/dist/cli/doctor/format.js +29 -2
  12. package/dist/cli/doctor/format.js.map +1 -1
  13. package/dist/cli/doctor/index.js +62 -3
  14. package/dist/cli/doctor/index.js.map +1 -1
  15. package/dist/cli/doctor/types.d.ts +57 -0
  16. package/dist/cli/explain-policy.d.ts +4 -1
  17. package/dist/cli/explain-policy.js +12 -2
  18. package/dist/cli/explain-policy.js.map +1 -1
  19. package/dist/cli/export.js +12 -1
  20. package/dist/cli/export.js.map +1 -1
  21. package/dist/cli/index.js +29 -7
  22. package/dist/cli/index.js.map +1 -1
  23. package/dist/cli/init/templates.d.ts +34 -1
  24. package/dist/cli/init/templates.js +137 -3
  25. package/dist/cli/init/templates.js.map +1 -1
  26. package/dist/cli/list.js +6 -0
  27. package/dist/cli/list.js.map +1 -1
  28. package/dist/cli/loader.js +15 -0
  29. package/dist/cli/loader.js.map +1 -1
  30. package/dist/cli/pack/hook-codex-pre-tool-use.js +11 -6
  31. package/dist/cli/pack/hook-codex-pre-tool-use.js.map +1 -1
  32. package/dist/cli/pack/hook-post-tool-use.d.ts +6 -4
  33. package/dist/cli/pack/hook-post-tool-use.js.map +1 -1
  34. package/dist/cli/pack/hook-pre-tool-use.js +23 -22
  35. package/dist/cli/pack/hook-pre-tool-use.js.map +1 -1
  36. package/dist/cli/policy/intercept.js +59 -9
  37. package/dist/cli/policy/intercept.js.map +1 -1
  38. package/dist/cli/remove/index.d.ts +12 -0
  39. package/dist/cli/remove/index.js +89 -0
  40. package/dist/cli/remove/index.js.map +1 -1
  41. package/dist/cli/validate/checks.d.ts +49 -0
  42. package/dist/cli/validate/checks.js +416 -9
  43. package/dist/cli/validate/checks.js.map +1 -1
  44. package/dist/cli/validate/index.js +11 -0
  45. package/dist/cli/validate/index.js.map +1 -1
  46. package/dist/policy-packs/builtin/understanding-before-execution/index.d.ts +2 -2
  47. package/dist/policy-packs/builtin/understanding-before-execution/index.js +33 -27
  48. package/dist/policy-packs/builtin/understanding-before-execution/index.js.map +1 -1
  49. package/dist/policy-packs/builtin/understanding-before-execution/markers.js +2 -2
  50. package/dist/policy-packs/builtin/understanding-before-execution/markers.js.map +1 -1
  51. package/dist/policy-packs/builtin/understanding-before-execution/persisted-reports.d.ts +46 -8
  52. package/dist/policy-packs/builtin/understanding-before-execution/persisted-reports.js +71 -12
  53. package/dist/policy-packs/builtin/understanding-before-execution/persisted-reports.js.map +1 -1
  54. package/dist/policy-packs/builtin/understanding-before-execution/post-tool-use-boundary.js +6 -3
  55. package/dist/policy-packs/builtin/understanding-before-execution/post-tool-use-boundary.js.map +1 -1
  56. package/dist/policy-packs/builtin/understanding-before-execution.js +9 -8
  57. package/dist/policy-packs/builtin/understanding-before-execution.js.map +1 -1
  58. package/dist/runtime/bash-prefix-parse.d.ts +12 -1
  59. package/dist/runtime/bash-prefix-parse.js +2 -2
  60. package/dist/runtime/bash-prefix-parse.js.map +1 -1
  61. package/dist/runtime/command-normalize.d.ts +112 -0
  62. package/dist/runtime/command-normalize.js +169 -55
  63. package/dist/runtime/command-normalize.js.map +1 -1
  64. package/dist/runtime/deletion-target-resolve.d.ts +28 -0
  65. package/dist/runtime/deletion-target-resolve.js +1055 -0
  66. package/dist/runtime/deletion-target-resolve.js.map +1 -0
  67. package/dist/runtime/index.d.ts +1 -0
  68. package/dist/runtime/index.js +1 -0
  69. package/dist/runtime/index.js.map +1 -1
  70. package/dist/runtime/intercept.js +17 -1
  71. package/dist/runtime/intercept.js.map +1 -1
  72. package/dist/runtime/kubectl-target-parse.d.ts +31 -0
  73. package/dist/runtime/kubectl-target-parse.js +249 -0
  74. package/dist/runtime/kubectl-target-parse.js.map +1 -0
  75. package/dist/runtime/read-only-bash.d.ts +11 -0
  76. package/dist/runtime/read-only-bash.js +288 -7
  77. package/dist/runtime/read-only-bash.js.map +1 -1
  78. package/dist/runtime/risk-classifier.js +14 -1
  79. package/dist/runtime/risk-classifier.js.map +1 -1
  80. package/dist/runtime/when-eval.d.ts +11 -2
  81. package/dist/runtime/when-eval.js +25 -0
  82. package/dist/runtime/when-eval.js.map +1 -1
  83. package/dist/runtime/workflow-policies.d.ts +164 -0
  84. package/dist/runtime/workflow-policies.js +439 -0
  85. package/dist/runtime/workflow-policies.js.map +1 -0
  86. package/dist/schema/index.d.ts +24 -0
  87. package/dist/schema/policies.d.ts +25 -0
  88. package/dist/schema/policies.js +29 -0
  89. package/dist/schema/policies.js.map +1 -1
  90. package/dist/schema/risk.d.ts +6 -0
  91. package/dist/schema/risk.js +80 -0
  92. package/dist/schema/risk.js.map +1 -1
  93. package/package.json +1 -1
@@ -615,6 +615,22 @@ function checkNpmUntrustedSourceFlag(t) {
615
615
  const VERSION_OR_HELP_FLAGS = new Set([
616
616
  "--version", "-V", "-v", "--help", "-h",
617
617
  ]);
618
+ /**
619
+ * True when `trimmed` contains a shell chaining (`;`, `&`, `|`),
620
+ * redirection (`<`, `>`), or command-substitution (backtick, `$(`)
621
+ * metacharacter that could hide a write behind an otherwise-provable
622
+ * read. Shared by `isReadOnlyBashCommand` and `isReadOnlyKubectlCommand`
623
+ * below (extracted, task da823721, to keep their identical preamble
624
+ * from being flagged as new copy-paste by the duplication gate). NOT
625
+ * reused by `isReadOnlyBashPipeline`, which deliberately admits a bare
626
+ * `|` (see its own doc comment) and so needs a narrower reject set.
627
+ */
628
+ function hasUnsafeShellMetachar(trimmed) {
629
+ return (/[;&|<>]/.test(trimmed) ||
630
+ trimmed.includes("\n") ||
631
+ trimmed.includes("`") ||
632
+ trimmed.includes("$("));
633
+ }
618
634
  /**
619
635
  * Classify a Bash command string. `true` means the command is
620
636
  * provably read-only and the understanding-gate can allow it without
@@ -637,13 +653,7 @@ export function isReadOnlyBashCommand(command) {
637
653
  // string, so it also covers any residual command a runner
638
654
  // (`env` / `command`) wraps: those are classified from the same
639
655
  // token slice, never from a re-read of the shell.
640
- if (/[;&|<>]/.test(trimmed))
641
- return false;
642
- if (trimmed.includes("\n"))
643
- return false;
644
- if (trimmed.includes("`"))
645
- return false;
646
- if (trimmed.includes("$("))
656
+ if (hasUnsafeShellMetachar(trimmed))
647
657
  return false;
648
658
  return classifyTokens(trimmed.split(/\s+/));
649
659
  }
@@ -693,6 +703,277 @@ export function isReadOnlyBashPipeline(command) {
693
703
  return isReadOnlyBashCommand(s);
694
704
  });
695
705
  }
706
+ // Kubectl read-only VERB floor — used ONLY by the Risk Classifier's
707
+ // built-in floor (`risk-classifier.ts`), never by `isReadOnlyBashCommand`
708
+ // / `isReadOnlyBashPipeline` above. Task da823721 (blast-radius decision,
709
+ // verb list, secrets/configmap exclusion, and the fail-safe rationale
710
+ // for each: all recorded in docs/risk-gate.md's "Kubectl read-only verb
711
+ // floor" section — this is the single source of truth for the scope,
712
+ // keep it there rather than duplicating it here).
713
+ //
714
+ // Design: two ALLOWLISTS, not a metacharacter denylist. Round 1 and
715
+ // round 2 of this task each patched one more shell-metacharacter
716
+ // bypass onto a substring/decode-based exclusion (`$`-expansion,
717
+ // quoting, escaping); round-2 review then found brace expansion
718
+ // (`s{e..e}cret`), glob patterns (`s*`, `sec[r]et`), and endpoint
719
+ // redirection (`--server`/`-s`/`--kubeconfig`) still slipping through,
720
+ // because the fix kept adding exclusions for the metacharacter of the
721
+ // week instead of closing the class. The halt decision from that round
722
+ // was to stop enumerating metacharacters and redesign to allowlists:
723
+ // (1) every token after `kubectl` must match a plain-word shape — no
724
+ // quotes, backslashes, `$`, backticks, braces, globs, or any other
725
+ // shell-special character survives that check, which is what actually
726
+ // closes the brace/glob/quote/escape class at once instead of one
727
+ // pattern at a time; (2) every flag token must be an explicitly named,
728
+ // known-read flag for its verb (or a known global flag) — which is
729
+ // what closes the endpoint-redirection class (`--server`, `-s`,
730
+ // `--kubeconfig`, `--token`, `--as`, ... are simply never allowlisted,
731
+ // pre- or post-verb) and the file/kustomize-driven resource-selection
732
+ // class (`-f`/`--filename`/`-k`/`--kustomize` are not in any verb's
733
+ // allowlist) and the `--raw` arbitrary-endpoint class (`--raw` is not
734
+ // in any verb's allowlist either) in the same pass. Invariant:
735
+ // `isReadOnlyKubectlCommand` returns `true` only for a curated read
736
+ // verb, every token argv-shaped as a plain word, every flag drawn from
737
+ // that verb's explicit allowlist, and no secret/configmap resource
738
+ // mention; every other shape fails closed to `false`.
739
+ const KUBECTL_READ_ONLY_VERBS = new Set([
740
+ "get", "describe", "logs", "top",
741
+ "api-resources", "api-versions", "version", "cluster-info", "explain",
742
+ ]);
743
+ // Verbs whose resource argument can materialize live Secret or
744
+ // ConfigMap data.
745
+ const KUBECTL_SENSITIVE_RESOURCE_VERBS = new Set(["get", "describe"]);
746
+ // Token shape allowlist. Every token after `kubectl` must match this:
747
+ // letters, digits, and `_ . : / = , @ % + -`. That excludes quotes,
748
+ // backslashes, `$`, backticks, `{`/`}` (brace expansion), `*`/`?`/`[`/`]`
749
+ // (globs), `~`, `!`, `#`, `&`, `;`, `|`, `<`, `>`, `(`, `)`, and spaces
750
+ // (embedded via quoting). A token that fails this never reaches the
751
+ // verb or flag checks below: fail-closed on shape alone. This also
752
+ // makes decoding quoted/escaped forms of "secret" or "configmap"
753
+ // unnecessary — a quoted or escaped token simply never matches this
754
+ // pattern in the first place, so the resource-mention checks below only
755
+ // ever need to look at the raw token.
756
+ const KUBECTL_PLAIN_WORD_PATTERN = /^[A-Za-z0-9_.:/=,@%+-]+$/;
757
+ // Global flags, allowed before OR after the verb. Only the ones in
758
+ // `KUBECTL_GLOBAL_VALUE_FLAGS` consume a following token as their value
759
+ // (in the `--flag value` form; `--flag=value` never consumes a
760
+ // following token). Deliberately excludes every flag that names an
761
+ // alternate endpoint or identity — `--server`, `-s`, `--kubeconfig`,
762
+ // `--token`, `--as`, `--as-group`, `--user`, `--cluster`,
763
+ // `--tls-server-name`, `--insecure-skip-tls-verify` — so none of them
764
+ // can ever float credentials or requests to a caller-chosen host
765
+ // through this floor, no matter whether they appear before or after
766
+ // the verb.
767
+ const KUBECTL_GLOBAL_ALLOWED_FLAGS = new Set([
768
+ "--context", "--namespace", "-n", "--request-timeout", "-v", "--v",
769
+ "--all-namespaces", "-A",
770
+ ]);
771
+ const KUBECTL_GLOBAL_VALUE_FLAGS = new Set([
772
+ "--context", "--namespace", "-n", "--request-timeout", "-v", "--v",
773
+ ]);
774
+ // Per-verb read-flag allowlists. `*_VALUE` is the subset that consumes
775
+ // a following token as its value in the `--flag value` form; every
776
+ // other allowed flag is boolean (never consumes a following token).
777
+ // `--raw` (arbitrary API server path) and the file/kustomize-driven
778
+ // resource selectors `--filename`/`-k`/`--kustomize` (this module
779
+ // cannot see what a manifest file or kustomization directory names, so
780
+ // it cannot prove the selected resource is not a Secret or ConfigMap)
781
+ // are deliberately absent from every verb's allowlist below — that
782
+ // omission is the enforcement mechanism, not a separate check. `-f` is
783
+ // allowlisted for `logs` ONLY, where it means --follow; on `get` and
784
+ // `describe` it is the file selector and is deliberately absent.
785
+ // Every `*_VALUE` member must be a pflag flag with an empty NoOptDefVal
786
+ // (it always consumes the next argv element): if upstream ever turns
787
+ // one of them into a boolean-with-default, the following token stops
788
+ // being consumed by kubectl and must be re-validated here.
789
+ const KUBECTL_GET_ALLOWED_FLAGS = new Set([
790
+ "-o", "--output", "-l", "--selector", "--field-selector", "-w", "--watch",
791
+ "--watch-only", "--show-labels", "--no-headers", "--sort-by", "--show-kind",
792
+ "--label-columns", "-L", "--chunk-size", "--ignore-not-found",
793
+ ]);
794
+ const KUBECTL_GET_VALUE_FLAGS = new Set([
795
+ "-o", "--output", "-l", "--selector", "--field-selector", "--sort-by",
796
+ "--label-columns", "-L", "--chunk-size",
797
+ ]);
798
+ const KUBECTL_DESCRIBE_ALLOWED_FLAGS = new Set([
799
+ "-l", "--selector", "--show-events",
800
+ ]);
801
+ const KUBECTL_DESCRIBE_VALUE_FLAGS = new Set(["-l", "--selector"]);
802
+ const KUBECTL_LOGS_ALLOWED_FLAGS = new Set([
803
+ "-f", "--follow", "-c", "--container", "--all-containers", "--tail", "--since",
804
+ "--since-time", "--timestamps", "-p", "--previous", "--limit-bytes", "--prefix",
805
+ "-l", "--selector", "--max-log-requests",
806
+ ]);
807
+ const KUBECTL_LOGS_VALUE_FLAGS = new Set([
808
+ "-c", "--container", "--tail", "--since", "--since-time", "--limit-bytes",
809
+ "-l", "--selector", "--max-log-requests",
810
+ ]);
811
+ const KUBECTL_TOP_ALLOWED_FLAGS = new Set([
812
+ "--containers", "--sort-by", "-l", "--selector", "--no-headers",
813
+ "--use-protocol-buffers",
814
+ ]);
815
+ const KUBECTL_TOP_VALUE_FLAGS = new Set(["--sort-by", "-l", "--selector"]);
816
+ // Shared by the informational verbs: api-resources, api-versions,
817
+ // version, cluster-info, explain, and `auth can-i`.
818
+ const KUBECTL_INFO_ALLOWED_FLAGS = new Set([
819
+ "-o", "--output", "--namespaced", "--verbs", "--api-group", "--sort-by",
820
+ "--recursive", "--list", "-A", "--all-namespaces", "--client", "--short",
821
+ ]);
822
+ const KUBECTL_INFO_VALUE_FLAGS = new Set([
823
+ "-o", "--output", "--verbs", "--api-group", "--sort-by",
824
+ ]);
825
+ /** True when any raw token mentions "secret" (case-insensitive substring). */
826
+ function kubectlArgMentionsSecret(tokens) {
827
+ return tokens.some((t) => t.toLowerCase().includes("secret"));
828
+ }
829
+ /**
830
+ * True when any raw token mentions "configmap", or is (or contains, as
831
+ * one comma-separated resource-list segment) the bare abbreviation
832
+ * `cm` — `get cm`, `get cm/my-map`, `get pods,cm`, `get cm,pods` are
833
+ * all caught. ConfigMap data is a common credential store (see
834
+ * docs/risk-gate.md), so it gets the same fail-safe exclusion as
835
+ * Secrets. The `cm` check is segment-based rather than a bare substring
836
+ * match so it does not fire on an unrelated word that merely starts or
837
+ * ends with "cm" (`cmd`, `cmagent`).
838
+ */
839
+ function kubectlArgMentionsConfigMap(tokens) {
840
+ return tokens.some((t) => {
841
+ const lower = t.toLowerCase();
842
+ if (lower.includes("configmap"))
843
+ return true;
844
+ return lower.split(",").some((seg) => seg === "cm" || seg.startsWith("cm/"));
845
+ });
846
+ }
847
+ /**
848
+ * Kubectl read-only floor for the Risk Classifier ONLY — see the module
849
+ * doc above this constant block for scope and the blast-radius
850
+ * decision. `true` means every token after `kubectl` is argv-shaped as
851
+ * a plain word, a curated read verb was invoked, every flag is drawn
852
+ * from that verb's (or the global) allowlist, and — for `get`/
853
+ * `describe` — no token mentions a Secret or ConfigMap resource, with
854
+ * no shell chaining, redirection, or substitution anywhere in the
855
+ * command.
856
+ */
857
+ export function isReadOnlyKubectlCommand(command) {
858
+ const trimmed = command.trim();
859
+ if (trimmed === "")
860
+ return false;
861
+ if (hasUnsafeShellMetachar(trimmed))
862
+ return false;
863
+ const tokens = trimmed.split(/\s+/);
864
+ if (tokens[0] !== "kubectl")
865
+ return false;
866
+ const rest = tokens.slice(1);
867
+ // Token shape allowlist: every token after `kubectl` must be a plain
868
+ // word (see the constant doc above). Closes brace expansion, globs,
869
+ // quoting, and escaping in one check, before any verb or flag logic
870
+ // runs.
871
+ if (rest.some((t) => !KUBECTL_PLAIN_WORD_PATTERN.test(t)))
872
+ return false;
873
+ // Walk any leading global flags to find the verb. An unrecognized
874
+ // flag here fails closed immediately — a token starting with `-`
875
+ // can never itself be the verb.
876
+ let idx = 0;
877
+ while (idx < rest.length) {
878
+ const t = rest[idx];
879
+ if (t === undefined || !t.startsWith("-"))
880
+ break;
881
+ const eq = t.indexOf("=");
882
+ const flagName = eq === -1 ? t : t.slice(0, eq);
883
+ if (!KUBECTL_GLOBAL_ALLOWED_FLAGS.has(flagName))
884
+ return false;
885
+ idx += 1;
886
+ if (eq === -1 && KUBECTL_GLOBAL_VALUE_FLAGS.has(flagName)) {
887
+ if (idx >= rest.length)
888
+ return false; // missing value: fail closed
889
+ idx += 1;
890
+ }
891
+ }
892
+ const sub = rest[idx];
893
+ if (sub === undefined)
894
+ return false; // bare `kubectl` or only global flags
895
+ idx += 1;
896
+ let verbAllowedFlags;
897
+ let verbValueFlags;
898
+ // `auth can-i` is a permission CHECK, never the resource's own data,
899
+ // so it is deliberately excluded from `KUBECTL_SENSITIVE_RESOURCE_VERBS`
900
+ // (that Set only ever names `get`/`describe`) and this lookup returns
901
+ // `false` for it without a separate branch.
902
+ const sensitiveVerb = KUBECTL_SENSITIVE_RESOURCE_VERBS.has(sub);
903
+ if (sub === "auth") {
904
+ if (rest[idx] !== "can-i")
905
+ return false;
906
+ idx += 1;
907
+ verbAllowedFlags = KUBECTL_INFO_ALLOWED_FLAGS;
908
+ verbValueFlags = KUBECTL_INFO_VALUE_FLAGS;
909
+ }
910
+ else if (!KUBECTL_READ_ONLY_VERBS.has(sub)) {
911
+ return false;
912
+ }
913
+ else {
914
+ switch (sub) {
915
+ case "get":
916
+ verbAllowedFlags = KUBECTL_GET_ALLOWED_FLAGS;
917
+ verbValueFlags = KUBECTL_GET_VALUE_FLAGS;
918
+ break;
919
+ case "describe":
920
+ verbAllowedFlags = KUBECTL_DESCRIBE_ALLOWED_FLAGS;
921
+ verbValueFlags = KUBECTL_DESCRIBE_VALUE_FLAGS;
922
+ break;
923
+ case "logs":
924
+ verbAllowedFlags = KUBECTL_LOGS_ALLOWED_FLAGS;
925
+ verbValueFlags = KUBECTL_LOGS_VALUE_FLAGS;
926
+ break;
927
+ case "top":
928
+ verbAllowedFlags = KUBECTL_TOP_ALLOWED_FLAGS;
929
+ verbValueFlags = KUBECTL_TOP_VALUE_FLAGS;
930
+ break;
931
+ default: // api-resources, api-versions, version, cluster-info, explain
932
+ verbAllowedFlags = KUBECTL_INFO_ALLOWED_FLAGS;
933
+ verbValueFlags = KUBECTL_INFO_VALUE_FLAGS;
934
+ }
935
+ }
936
+ const remainder = rest.slice(idx);
937
+ // Validate every remaining flag token against the combined global +
938
+ // per-verb allowlist (global flags are legal both before and after
939
+ // the verb). Positional tokens (resource names, selector values
940
+ // already consumed as a flag's value) are not re-validated here —
941
+ // they were already checked against the plain-word pattern above.
942
+ for (let i = 0; i < remainder.length; i++) {
943
+ const t = remainder[i];
944
+ if (t === undefined)
945
+ continue;
946
+ if (!t.startsWith("-")) {
947
+ // `cluster-info` takes no positional: `cluster-info dump` prints
948
+ // cluster-wide pod logs and is refused (fail-safe), as is any
949
+ // future sub-subcommand. Every other verb's positionals were
950
+ // already shape-checked above.
951
+ if (sub === "cluster-info")
952
+ return false;
953
+ continue;
954
+ }
955
+ const eq = t.indexOf("=");
956
+ const flagName = eq === -1 ? t : t.slice(0, eq);
957
+ const isGlobal = KUBECTL_GLOBAL_ALLOWED_FLAGS.has(flagName);
958
+ const isVerbFlag = verbAllowedFlags.has(flagName);
959
+ if (!isGlobal && !isVerbFlag)
960
+ return false;
961
+ if (eq === -1) {
962
+ const takesValue = (isGlobal && KUBECTL_GLOBAL_VALUE_FLAGS.has(flagName)) ||
963
+ (isVerbFlag && verbValueFlags.has(flagName));
964
+ if (takesValue) {
965
+ i += 1;
966
+ if (i >= remainder.length)
967
+ return false; // missing value: fail closed
968
+ }
969
+ }
970
+ }
971
+ if (sensitiveVerb &&
972
+ (kubectlArgMentionsSecret(remainder) || kubectlArgMentionsConfigMap(remainder))) {
973
+ return false;
974
+ }
975
+ return true;
976
+ }
696
977
  /**
697
978
  * Returns true when `t` (with any trailing `=VALUE` glue stripped) is a
698
979
  * GNU/BSD `getopt_long` ABBREVIATION of `fullFlag`: a prefix (including
@@ -1 +1 @@
1
- {"version":3,"file":"read-only-bash.js","sourceRoot":"","sources":["../../src/runtime/read-only-bash.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read-only-bash.js","sourceRoot":"","sources":["../../src/runtime/read-only-bash.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@
25
25
  // (design phase B).
26
26
  import { RiskSeveritySchema } from "../schema/index.js";
27
27
  import { expandToolNameAliases, extractShellCommand } from "./tool-name-aliases.js";
28
- import { isReadOnlyBashCommand } from "./read-only-bash.js";
28
+ import { isReadOnlyBashCommand, isReadOnlyKubectlCommand } from "./read-only-bash.js";
29
29
  // Ordered severity scale: a value's index here is the comparison key
30
30
  // for "highest matched severity wins". Sourced from the schema enum so
31
31
  // a future reordering there flows through unchanged.
@@ -210,6 +210,19 @@ export function classifyRisk(envelope, classifiers) {
210
210
  severityIdx = lowIdx;
211
211
  reasons.push("built-in: provably read-only command recognized (severity low)");
212
212
  }
213
+ else if (isReadOnlyKubectlCommand(shellCommand)) {
214
+ // Kubectl read-verb floor (task da823721), narrower than the
215
+ // general read-only floor above and NOT folded into
216
+ // `isReadOnlyBashCommand` itself: it changes only the Risk
217
+ // Classifier's behavior. The understanding-gate PreToolUse
218
+ // blocker and the solution-acceptance write-guard both consume
219
+ // `isReadOnlyBashCommand` directly and keep treating every
220
+ // kubectl invocation as non-read-only, unchanged by this floor.
221
+ // See docs/risk-gate.md's kubectl read-only floor decision for
222
+ // the secrets exclusion and the full blast-radius reasoning.
223
+ severityIdx = lowIdx;
224
+ reasons.push("built-in: provably read-only kubectl verb recognized (severity low)");
225
+ }
213
226
  }
214
227
  }
215
228
  if (severityIdx === -1) {
@@ -1 +1 @@
1
- {"version":3,"file":"risk-classifier.js","sourceRoot":"","sources":["../../src/runtime/risk-classifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"risk-classifier.js","sourceRoot":"","sources":["../../src/runtime/risk-classifier.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,22 @@
1
1
  import type { PolicyWhen } from "../schema/index.js";
2
+ import type { DeletionTargetVerdict } from "./deletion-target-resolve.js";
2
3
  import type { EnvironmentResolution } from "./environment-resolver.js";
3
4
  import type { RiskProfile } from "./risk-classifier.js";
4
5
  /** The enriched-envelope inputs a `when:` block is evaluated against. */
5
6
  export interface WhenContext {
6
7
  risk: RiskProfile;
7
8
  environment: EnvironmentResolution;
9
+ /**
10
+ * Static deletion-target verdict for this action (task d03af8f6), or
11
+ * `null`/omitted when the command was not recognized as a deletion
12
+ * verb at all — see `deletion-target-resolve.ts`. Optional so every
13
+ * caller/fixture that predates this arm keeps compiling and behaving
14
+ * exactly as before (treated the same as `null`).
15
+ */
16
+ deletionTarget?: DeletionTargetVerdict | null;
8
17
  }
9
- /** The four `when:` clause keys, exactly as they appear in the manifest. */
10
- export type WhenClauseKey = "risk.severity_at_least" | "risk.category_in" | "environment.name" | "action.reversible";
18
+ /** The five `when:` clause keys, exactly as they appear in the manifest. */
19
+ export type WhenClauseKey = "risk.severity_at_least" | "risk.category_in" | "environment.name" | "action.reversible" | "action.deletion_target_unresolvable";
11
20
  /** One declared clause's verdict, carried for explainability. */
12
21
  export interface WhenClauseResult {
13
22
  clause: WhenClauseKey;
@@ -125,6 +125,31 @@ export function evaluateWhen(when, ctx) {
125
125
  matched,
126
126
  });
127
127
  }
128
+ // `action.deletion_target_unresolvable` (task d03af8f6) is deliberately
129
+ // NOT wired through the `unclassified` fail-close path above: it reads
130
+ // an entirely separate signal (`ctx.deletionTarget`, from
131
+ // `deletion-target-resolve.ts`), not the Risk Classifier's
132
+ // `classified`/`severity`/`categories` triad. An action the deletion
133
+ // resolver does not recognize as a deletion verb (`deletionTarget ===
134
+ // null`) simply does not satisfy `true` here — it never falls back to
135
+ // matched=true the way the four clauses above do for an unclassified
136
+ // risk profile. This is what lets a policy gate purely on this clause,
137
+ // environment-independently, without becoming a blanket gate on every
138
+ // unrelated unclassified Bash call (see this module's header and
139
+ // docs/risk-gate.md).
140
+ const deletionUnresolvable = when["action.deletion_target_unresolvable"];
141
+ if (deletionUnresolvable !== undefined) {
142
+ const verdict = ctx.deletionTarget ?? null;
143
+ const actualUnresolvable = verdict?.unresolvable ?? false;
144
+ clauses.push({
145
+ clause: "action.deletion_target_unresolvable",
146
+ expected: String(deletionUnresolvable),
147
+ actual: verdict === null
148
+ ? "false (not a recognized deletion-verb command)"
149
+ : String(actualUnresolvable),
150
+ matched: actualUnresolvable === deletionUnresolvable,
151
+ });
152
+ }
128
153
  return {
129
154
  matched: clauses.every((c) => c.matched),
130
155
  clauses,
@@ -1 +1 @@
1
- {"version":3,"file":"when-eval.js","sourceRoot":"","sources":["../../src/runtime/when-eval.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"when-eval.js","sourceRoot":"","sources":["../../src/runtime/when-eval.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,kEAAkE;AAClE,qEAAqE;AACrE,sEAAsE;AACtE,sEAAsE;AACtE,gCAAgC;AAChC,EAAE;AACF,uEAAuE;AACvE,mEAAmE;AACnE,sDAAsD;AACtD,EAAE;AACF,oEAAoE;AACpE,oEAAoE;AACpE,kEAAkE;AAClE,iEAAiE;AACjE,qEAAqE;AACrE,sEAAsE;AACtE,uEAAuE;AACvE,qEAAqE;AACrE,sEAAsE;AACtE,qDAAqD;AACrD,EAAE;AACF,yEAAyE;AACzE,qEAAqE;AACrE,8CAA8C;AAG9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAKxD,6DAA6D;AAC7D,oEAAoE;AACpE,uEAAuE;AACvE,MAAM,cAAc,GAAsB,kBAAkB,CAAC,OAAO,CAAC;AA+CrE,SAAS,aAAa,CAAC,QAAgB;IACrC,OAAO,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAC1B,IAAgB,EAChB,GAAgB;IAEhB,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,IAAI,oBAAoB,GAAG,KAAK,CAAC;IACjC,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;IAE1C,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAClD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,OAAgB,CAAC;QACrB,IAAI,MAAc,CAAC;QACnB,IAAI,YAAY,EAAE,CAAC;YACjB,qEAAqE;YACrE,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,GAAG,qBAAqB,CAAC;YAC/B,oBAAoB,GAAG,IAAI,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,QAAS,CAAC,IAAI,aAAa,CAAC,UAAU,CAAC,CAAC;YACjE,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,QAAS,CAAC;QAC9B,CAAC;QACD,OAAO,CAAC,IAAI,CAAC;YACX,MAAM,EAAE,wBAAwB;YAChC,QAAQ,EAAE,MAAM,UAAU,EAAE;YAC5B,MAAM;YACN,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC5C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,OAAgB,CAAC;QACrB,IAAI,MAAc,CAAC;QACnB,IAAI,YAAY,EAAE,CAAC;YACjB,gEAAgE;YAChE,+DAA+D;YAC/D,4DAA4D;YAC5D,yDAAyD;YACzD,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,GAAG,mBAAmB,CAAC;YAC7B,oBAAoB,GAAG,IAAI,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAClE,MAAM;gBACJ,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;oBAC5B,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;oBACvC,CAAC,CAAC,IAAI,CAAC;QACb,CAAC;QACD,OAAO,CAAC,IAAI,CAAC;YACX,MAAM,EAAE,kBAAkB;YAC1B,QAAQ,EAAE,WAAW,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YAC7C,MAAM;YACN,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACzC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC;YACX,MAAM,EAAE,kBAAkB;YAC1B,QAAQ,EAAE,OAAO;YACjB,MAAM,EAAE,GAAG,CAAC,WAAW,CAAC,IAAI;YAC5B,OAAO,EAAE,GAAG,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO;SAC1C,CAAC,CAAC;IACL,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC7C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,OAAgB,CAAC;QACrB,IAAI,MAAc,CAAC;QACnB,IAAI,YAAY,EAAE,CAAC;YACjB,8DAA8D;YAC9D,iEAAiE;YACjE,gEAAgE;YAChE,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,GAAG,qBAAqB,CAAC;YAC/B,oBAAoB,GAAG,IAAI,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC;YAC7C,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC;YACX,MAAM,EAAE,mBAAmB;YAC3B,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC;YAC5B,MAAM;YACN,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED,wEAAwE;IACxE,uEAAuE;IACvE,0DAA0D;IAC1D,2DAA2D;IAC3D,qEAAqE;IACrE,sEAAsE;IACtE,sEAAsE;IACtE,qEAAqE;IACrE,uEAAuE;IACvE,sEAAsE;IACtE,iEAAiE;IACjE,sBAAsB;IACtB,MAAM,oBAAoB,GAAG,IAAI,CAAC,qCAAqC,CAAC,CAAC;IACzE,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC;QAC3C,MAAM,kBAAkB,GAAG,OAAO,EAAE,YAAY,IAAI,KAAK,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC;YACX,MAAM,EAAE,qCAAqC;YAC7C,QAAQ,EAAE,MAAM,CAAC,oBAAoB,CAAC;YACtC,MAAM,EACJ,OAAO,KAAK,IAAI;gBACd,CAAC,CAAC,gDAAgD;gBAClD,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC;YAChC,OAAO,EAAE,kBAAkB,KAAK,oBAAoB;SACrD,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QACxC,OAAO;QACP,oBAAoB;KACrB,CAAC;AACJ,CAAC"}