@mmnto/totem 2.16.3 → 2.16.4
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.
|
@@ -23,7 +23,12 @@ import type { GateEvaluator } from './gate-types.js';
|
|
|
23
23
|
* row — `diff -b`, `curl -b`, `grep gh -b`, a Windows path as a sed operand,
|
|
24
24
|
* `<<` inside a quoted argument, a here-string). A deny on a benign command in
|
|
25
25
|
* the field is a corpus row plus a fix, never a hand-carved exemption; the
|
|
26
|
-
* `--pilot` tier exists for a measurement week.
|
|
26
|
+
* `--pilot` tier exists for a measurement week. The second measurement, for a
|
|
27
|
+
* CHANGE to this module: `operations-local/transport-shield/replay-transcripts.mjs`
|
|
28
|
+
* replays every Bash command in the session transcripts on the machine it runs
|
|
29
|
+
* on through two builds and prints each verdict that changes — thousands of
|
|
30
|
+
* real commands against the few dozen here; a change ships with its replay
|
|
31
|
+
* read (mmnto-ai/totem#3098: three changes over 4,936 commands, each explained).
|
|
27
32
|
*
|
|
28
33
|
* Out of scope by design, disclosed: a bare backslash outside the four named
|
|
29
34
|
* contexts (a heredoc body, a sed -i expression, an inline node/python body, a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport-shield.d.ts","sourceRoot":"","sources":["../src/transport-shield.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,iBAAiB,CAAC;AAElE
|
|
1
|
+
{"version":3,"file":"transport-shield.d.ts","sourceRoot":"","sources":["../src/transport-shield.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,iBAAiB,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8EG;AAEH,eAAO,MAAM,sBAAsB,qBAAqB,CAAC;AAEzD,sFAAsF;AACtF,eAAO,MAAM,uBAAuB,mCAAmC,CAAC;AAExE,wFAAwF;AACxF,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C,+DAA+D;AAC/D,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,YAAY,CAAC;AAElD,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,sFAAsF;IACtF,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,kBAAkB,GAC1B,gBAAgB,GAChB,kBAAkB,GAClB,iBAAiB,GACjB,cAAc,GACd,oBAAoB,GACpB,wBAAwB,CAAC;AAE7B,MAAM,WAAW,cAAc;IAC7B,wGAAwG;IACxG,QAAQ,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,kBAAkB,CAAC;IACvB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,mFAAmF;IACnF,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,OAAO,EAAE,sBAAsB,GAAG,cAAc,GAAG,IAAI,CAAC;CAC9D;AAID;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,sBAAsB,CA6BpF;AAID,MAAM,WAAW,WAAW;IAC1B,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,MAAM,EAAE,OAAO,CAAC;IAChB,gGAAgG;IAChG,SAAS,EAAE,OAAO,CAAC;IACnB,oFAAoF;IACpF,IAAI,EAAE,MAAM,CAAC;IACb,wFAAwF;IACxF,YAAY,EAAE,OAAO,CAAC;IACtB,4DAA4D;IAC5D,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAKD;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAkDD;;;;;;;;;;;;;;;;;GAiBG;AAEH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,WAAgB,GAAG,WAAW,EAAE,CA8JnF;AAwDD,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,qEAAqE;IACrE,GAAG,EAAE,MAAM,CAAC;CACb;AAID;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,WAAgB,GAAG,YAAY,EAAE,CAgJrF;AAwZD;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,gBAAgB,CAoX7D,CAAC;AAeH;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,aAsCtC,CAAC"}
|
package/dist/transport-shield.js
CHANGED
|
@@ -23,7 +23,12 @@ import { TotemError } from './errors.js';
|
|
|
23
23
|
* row — `diff -b`, `curl -b`, `grep gh -b`, a Windows path as a sed operand,
|
|
24
24
|
* `<<` inside a quoted argument, a here-string). A deny on a benign command in
|
|
25
25
|
* the field is a corpus row plus a fix, never a hand-carved exemption; the
|
|
26
|
-
* `--pilot` tier exists for a measurement week.
|
|
26
|
+
* `--pilot` tier exists for a measurement week. The second measurement, for a
|
|
27
|
+
* CHANGE to this module: `operations-local/transport-shield/replay-transcripts.mjs`
|
|
28
|
+
* replays every Bash command in the session transcripts on the machine it runs
|
|
29
|
+
* on through two builds and prints each verdict that changes — thousands of
|
|
30
|
+
* real commands against the few dozen here; a change ships with its replay
|
|
31
|
+
* read (mmnto-ai/totem#3098: three changes over 4,936 commands, each explained).
|
|
27
32
|
*
|
|
28
33
|
* Out of scope by design, disclosed: a bare backslash outside the four named
|
|
29
34
|
* contexts (a heredoc body, a sed -i expression, an inline node/python body, a
|
|
@@ -523,6 +528,14 @@ export function tokenizeShell(command, opts = {}) {
|
|
|
523
528
|
i += 1;
|
|
524
529
|
continue;
|
|
525
530
|
}
|
|
531
|
+
// A backtick is a character here, as it always was: a backtick substitution is
|
|
532
|
+
// NOT kept whole as a word. Three scoped reads on mmnto-ai/totem#3098 each found
|
|
533
|
+
// the next edge of pairing a run of backslashes with a backtick under the Bash
|
|
534
|
+
// tool's transport, which halves typed pairs in some contexts and not others, so
|
|
535
|
+
// the shared tokenizer models none of it and keeps splitting at `;`, `&&` and
|
|
536
|
+
// `|` inside a span, which is fail-closed for every row: a command after an
|
|
537
|
+
// operator is always its own segment. The one row that must read a backtick
|
|
538
|
+
// BODY (msys-body-slash) locates spans on the whole command text itself.
|
|
526
539
|
if ((ch === '$' || ch === '<' || ch === '>') && command[i + 1] === '(') {
|
|
527
540
|
// Keep a command or process substitution whole inside the word, its
|
|
528
541
|
// parentheses balanced OUTSIDE quotes (a `)` inside `"…"` is text): it is
|
|
@@ -570,26 +583,66 @@ const WRAPPERS = new Set([
|
|
|
570
583
|
'builtin',
|
|
571
584
|
'xargs',
|
|
572
585
|
]);
|
|
586
|
+
/** Shell reserved words that can stand before a program in a segment: `{ gh …; }`, `if gh …`, `then gh …`. */
|
|
587
|
+
const RESERVED_BEFORE_PROGRAM = new Set([
|
|
588
|
+
'{',
|
|
589
|
+
'if',
|
|
590
|
+
'then',
|
|
591
|
+
'else',
|
|
592
|
+
'elif',
|
|
593
|
+
'do',
|
|
594
|
+
'while',
|
|
595
|
+
'until',
|
|
596
|
+
'!',
|
|
597
|
+
'time',
|
|
598
|
+
]);
|
|
573
599
|
/**
|
|
574
|
-
* The index of the segment's PROGRAM when it is `program` (a bare name
|
|
575
|
-
*
|
|
576
|
-
*
|
|
577
|
-
*
|
|
600
|
+
* The index of the segment's PROGRAM when it is `program` (a bare name, a path
|
|
601
|
+
* ending in it, or either with a Windows `.exe` suffix in any letter case and
|
|
602
|
+
* with either separator), after any `VAR=VALUE` assignments, known wrappers,
|
|
603
|
+
* the shell reserved words that can stand before a program, a function header
|
|
604
|
+
* (`f() {`, `function f {`) and `time`'s `-p`; -1 when the program is something else — a later
|
|
605
|
+
* mention of the name (`grep gh …`, `git log --grep sed …`) is an argument,
|
|
606
|
+
* never an invocation. Shared by every row that names a program, so a shape
|
|
607
|
+
* added here is read by all of them.
|
|
578
608
|
*/
|
|
579
609
|
function programIndex(tokens, program) {
|
|
580
610
|
let i = 0;
|
|
581
|
-
// Assignments and
|
|
611
|
+
// Assignments, wrappers and reserved words interleave: `env VAR=x prog`,
|
|
612
|
+
// `VAR=x sudo prog`, `then VAR=x prog`.
|
|
582
613
|
while (i < tokens.length) {
|
|
583
614
|
const t = tokens[i];
|
|
584
|
-
|
|
615
|
+
// A function header: `function f { …` or `f() { …` — the tokenizer reads
|
|
616
|
+
// grouping parentheses as delimiters that carry no token, so `f() {` arrives
|
|
617
|
+
// as the name followed by `{`.
|
|
618
|
+
if (t === 'function') {
|
|
619
|
+
i += 2;
|
|
620
|
+
continue;
|
|
621
|
+
}
|
|
622
|
+
if (/^[A-Za-z_][A-Za-z0-9_]*=/.test(t) ||
|
|
623
|
+
WRAPPERS.has(t) ||
|
|
624
|
+
RESERVED_BEFORE_PROGRAM.has(t) ||
|
|
625
|
+
(t !== program && /^[A-Za-z_][A-Za-z0-9_]*$/.test(t) && tokens[i + 1] === '{') ||
|
|
626
|
+
(t === '-p' && tokens[i - 1] === 'time')) {
|
|
585
627
|
i += 1;
|
|
628
|
+
}
|
|
586
629
|
else
|
|
587
630
|
break;
|
|
588
631
|
}
|
|
589
632
|
const t = tokens[i];
|
|
590
633
|
if (t === undefined)
|
|
591
634
|
return -1;
|
|
592
|
-
|
|
635
|
+
if (t === program || t.endsWith('/' + program))
|
|
636
|
+
return i;
|
|
637
|
+
// The Windows spelling: `gh.exe`, `GH.EXE`, a drive-letter path with either
|
|
638
|
+
// separator — the file system that runs it is case-insensitive, so the stem is
|
|
639
|
+
// compared the same way.
|
|
640
|
+
const lower = t.toLowerCase();
|
|
641
|
+
if (!lower.endsWith('.exe'))
|
|
642
|
+
return -1;
|
|
643
|
+
const stem = lower.slice(0, -4);
|
|
644
|
+
const p = program.toLowerCase();
|
|
645
|
+
return stem === p || stem.endsWith('/' + p) || stem.endsWith('\\' + p) ? i : -1;
|
|
593
646
|
}
|
|
594
647
|
/**
|
|
595
648
|
* Every occurrence of an option with its value and the flag AS WRITTEN:
|
|
@@ -772,12 +825,26 @@ function segmentExportsOptOut(tokens) {
|
|
|
772
825
|
* subshell `( … )` or a pipeline element is taken as reaching later segments
|
|
773
826
|
* though the shell would not apply it (the tokenizer carries no subshell scope).
|
|
774
827
|
*/
|
|
775
|
-
function msysSegments(text) {
|
|
828
|
+
function msysSegments(text, withPrefixOptOut = false, coveredRanges) {
|
|
776
829
|
const out = [];
|
|
777
830
|
let exported = false;
|
|
778
831
|
let allExport = false;
|
|
779
832
|
let assigned = false;
|
|
833
|
+
// `export MSYS_NO_PATHCONV` with no value marks the NAME: a later assignment
|
|
834
|
+
// then lands in the environment, and a substitution in that statement sees it.
|
|
835
|
+
let exportAttr = false;
|
|
836
|
+
// The offset of each segment in `text`, with the export state in effect BEFORE
|
|
837
|
+
// it, for a caller that locates a span on the whole text and needs to know
|
|
838
|
+
// whether an earlier export already covers it (`export MSYS_NO_PATHCONV=1;
|
|
839
|
+
// u=\`gh …\`` is the cure applied, and a body inside the covered statement
|
|
840
|
+
// must not be read as munged — Greptile on the 3098 round's second pass).
|
|
841
|
+
let cursor = 0;
|
|
780
842
|
for (const seg of tokenizeShell(text)) {
|
|
843
|
+
const start = text.indexOf(seg.raw, cursor);
|
|
844
|
+
if (start !== -1) {
|
|
845
|
+
cursor = start + seg.raw.length;
|
|
846
|
+
coveredRanges?.push({ start, end: cursor, covered: exported });
|
|
847
|
+
}
|
|
781
848
|
const t = seg.tokens;
|
|
782
849
|
if (t[0] === 'set' && (t[1] === '-a' || t[1] === '+a')) {
|
|
783
850
|
allExport = t[1] === '-a';
|
|
@@ -786,28 +853,112 @@ function msysSegments(text) {
|
|
|
786
853
|
if (t[0] === 'unset' && t.includes(MSYS_OPT_OUT_NAME)) {
|
|
787
854
|
exported = false;
|
|
788
855
|
assigned = false;
|
|
856
|
+
exportAttr = false;
|
|
789
857
|
continue;
|
|
790
858
|
}
|
|
791
859
|
if (t.length > 0 && t.every((x) => ASSIGNMENT.test(x)) && t.some(isOptOutAssignment)) {
|
|
792
860
|
assigned = true;
|
|
793
|
-
if (allExport)
|
|
861
|
+
if (allExport || exportAttr)
|
|
794
862
|
exported = true;
|
|
863
|
+
// An assignment-only statement exports nothing (unless the name already
|
|
864
|
+
// carries the attribute), so a substitution inside it (`MSYS_NO_PATHCONV=1
|
|
865
|
+
// u=$(gh …)`) runs WITHOUT the opt-out (measured 2026-10-16: the body posted
|
|
866
|
+
// the Git install path). A caller that scans substitution bodies asks for such
|
|
867
|
+
// segments and gets them flagged. Disclosed over-allow, unchanged: under
|
|
868
|
+
// `set -a` a substitution that precedes the opt-out assignment in the same
|
|
869
|
+
// statement, or is its value, runs before it.
|
|
870
|
+
if (withPrefixOptOut && !exported)
|
|
871
|
+
out.push({ ...seg, optOut: true });
|
|
795
872
|
continue;
|
|
796
873
|
}
|
|
797
|
-
if (t[0] === 'export' && t.includes(MSYS_OPT_OUT_NAME)
|
|
798
|
-
|
|
874
|
+
if (t[0] === 'export' && t.includes(MSYS_OPT_OUT_NAME)) {
|
|
875
|
+
// The statement's own substitutions run BEFORE the export applies (bash expands
|
|
876
|
+
// the builtin's arguments first), so `export MSYS_NO_PATHCONV u=$(gh …)` runs
|
|
877
|
+
// gh without the opt-out unless an earlier export already covers it.
|
|
878
|
+
if (withPrefixOptOut && !exported && !(assigned && exportAttr)) {
|
|
879
|
+
out.push({ ...seg, optOut: true });
|
|
880
|
+
}
|
|
881
|
+
exportAttr = true;
|
|
882
|
+
if (assigned)
|
|
883
|
+
exported = true;
|
|
799
884
|
continue;
|
|
800
885
|
}
|
|
801
886
|
if (segmentExportsOptOut(t)) {
|
|
887
|
+
// Same ordering: `export MSYS_NO_PATHCONV=1 u=$(gh …)` and `declare -x …`
|
|
888
|
+
// expand the substitution first and export after, so the statement is
|
|
889
|
+
// flagged for the callers that scan substitution bodies (Greptile on the
|
|
890
|
+
// 3098 round, measured: the body posted the converted path); later
|
|
891
|
+
// segments are covered.
|
|
892
|
+
if (withPrefixOptOut && !exported)
|
|
893
|
+
out.push({ ...seg, optOut: true });
|
|
802
894
|
exported = true;
|
|
803
895
|
continue;
|
|
804
896
|
}
|
|
805
|
-
if (exported
|
|
897
|
+
if (exported)
|
|
806
898
|
continue;
|
|
899
|
+
if (segmentOptsOut(t)) {
|
|
900
|
+
// The prefix reaches the segment's own program only: a substitution inside
|
|
901
|
+
// its arguments (`MSYS_NO_PATHCONV=1 echo $(gh …)`) runs first, without it.
|
|
902
|
+
if (withPrefixOptOut)
|
|
903
|
+
out.push({ ...seg, optOut: true });
|
|
904
|
+
continue;
|
|
905
|
+
}
|
|
807
906
|
out.push(seg);
|
|
808
907
|
}
|
|
809
908
|
return out;
|
|
810
909
|
}
|
|
910
|
+
/**
|
|
911
|
+
* The text with every unquoted comment (`# …` to the end of its line, at the
|
|
912
|
+
* start or after whitespace, `;`, `&`, `|` or `(`) replaced by spaces, length
|
|
913
|
+
* preserved. Run on single-quote-blanked text; a `#` inside double quotes,
|
|
914
|
+
* inside a `${ … }` expansion, or after a backslash is a character, not a
|
|
915
|
+
* comment. A `#` right after an operator `)` is NOT blanked here, although the
|
|
916
|
+
* tokenizer reads it as a comment: a `$( … )#…` continues its word, and the
|
|
917
|
+
* locator cannot tell the two `)` apart, so that text stays in scope
|
|
918
|
+
* (fail-closed, an over-deny the previous row shared).
|
|
919
|
+
*/
|
|
920
|
+
function blankComments(text) {
|
|
921
|
+
let out = '';
|
|
922
|
+
let inDouble = false;
|
|
923
|
+
let inComment = false;
|
|
924
|
+
let brace = 0;
|
|
925
|
+
for (let i = 0; i < text.length; i += 1) {
|
|
926
|
+
const ch = text[i];
|
|
927
|
+
if (inComment) {
|
|
928
|
+
if (ch === '\n') {
|
|
929
|
+
inComment = false;
|
|
930
|
+
out += ch;
|
|
931
|
+
}
|
|
932
|
+
else
|
|
933
|
+
out += ' ';
|
|
934
|
+
continue;
|
|
935
|
+
}
|
|
936
|
+
if (ch === '\\' && i + 1 < text.length) {
|
|
937
|
+
out += ch + text[i + 1];
|
|
938
|
+
i += 1;
|
|
939
|
+
continue;
|
|
940
|
+
}
|
|
941
|
+
if (ch === '"') {
|
|
942
|
+
inDouble = !inDouble;
|
|
943
|
+
out += ch;
|
|
944
|
+
continue;
|
|
945
|
+
}
|
|
946
|
+
if (ch === '$' && text[i + 1] === '{')
|
|
947
|
+
brace += 1;
|
|
948
|
+
else if (ch === '}' && brace > 0)
|
|
949
|
+
brace -= 1;
|
|
950
|
+
if (ch === '#' &&
|
|
951
|
+
!inDouble &&
|
|
952
|
+
brace === 0 &&
|
|
953
|
+
(i === 0 || ' \t\n;&|('.includes(text[i - 1]))) {
|
|
954
|
+
inComment = true;
|
|
955
|
+
out += ' ';
|
|
956
|
+
continue;
|
|
957
|
+
}
|
|
958
|
+
out += ch;
|
|
959
|
+
}
|
|
960
|
+
return out;
|
|
961
|
+
}
|
|
811
962
|
// ─── The table ─────────────────────────────────────────────────────────────
|
|
812
963
|
/**
|
|
813
964
|
* The pattern table, in evaluation order. Deny rows first, warn rows after.
|
|
@@ -838,27 +989,185 @@ export const TRANSPORT_PATTERNS = Object.freeze([
|
|
|
838
989
|
find(p) {
|
|
839
990
|
// Scoped to segments whose PROGRAM is `gh`, the one program whose --body / -b
|
|
840
991
|
// takes a free-text body that MSYS path-converts (`-b` means something else on
|
|
841
|
-
// diff, curl, cp, sort, du, grep)
|
|
842
|
-
//
|
|
992
|
+
// diff, curl, cp, sort, du, grep), and whose `api` and `workflow run`
|
|
993
|
+
// subcommands take field options (`-F`/`--field` typed, `-f`/`--raw-field` raw,
|
|
994
|
+
// plus the glued `-fX` cobra accepts) as `key=value` pairs. Measured 2026-10-16
|
|
995
|
+
// under the Bash tool, a native program's argv (mmnto-ai/totem#2696, the forms
|
|
996
|
+
// the --body row did not cover): MSYS converts a slash that follows `=`, `="`
|
|
997
|
+
// or `=(` anywhere BEFORE the argument's first whitespace (`body=/gemini review`
|
|
998
|
+
// arrives as `body=C:/Program Files/Git/gemini review`, `body=k=/v` as
|
|
999
|
+
// `body=k=V:/`, `body="/x"` and `body=(/x)` converted, `body=a=/b c=/d` with
|
|
1000
|
+
// only its first `=/` converted) and leaves a `=/` after a space alone
|
|
1001
|
+
// (`body=see PATH=/usr/bin` unchanged). A typed `-F key=@/path` is a file
|
|
1002
|
+
// reference converted to the right Windows path, which gh then reads, so it is
|
|
1003
|
+
// allowed; a raw `-f key=@/path` is a string that now carries the wrong literal.
|
|
1004
|
+
// A value that is a variable or a substitution is decided after expansion, where
|
|
1005
|
+
// this reader cannot see: a disclosed over-allow. The cure's MSYS_NO_PATHCONV=1
|
|
1006
|
+
// is honoured per segment, as the assignment the shell would apply.
|
|
1007
|
+
//
|
|
1008
|
+
// The gh call can sit inside a command substitution: the munged trigger of
|
|
1009
|
+
// 2026-10-16 was posted from `u1=$(gh pr comment … --body '/gemini review')`,
|
|
1010
|
+
// which no token scan of the outer segment reaches. So each segment's `$( … )`
|
|
1011
|
+
// bodies, and the level's backtick bodies on its whole text, are scanned the
|
|
1012
|
+
// same way, located on the single-quote- and comment-blanked text (a `$(`
|
|
1013
|
+
// inside single quotes or a comment is text the shell never runs, and so is an
|
|
1014
|
+
// opener escaped with a backslash in a double-quoted body) and sliced from the
|
|
1015
|
+
// text itself, at most four levels deep. A segment the opt-out prefix covers still has its substitution
|
|
1016
|
+
// bodies scanned, because the shell runs them BEFORE the prefix applies and an
|
|
1017
|
+
// assignment-only statement exports nothing (read 2 F1, measured: a
|
|
1018
|
+
// `MSYS_NO_PATHCONV=1 u=$(gh …)` posted the Git install path). Disclosed
|
|
1019
|
+
// over-allows: a `$( … )` inside an UNQUOTED heredoc body, which bash expands,
|
|
1020
|
+
// is hidden by the heredoc blanking; a process substitution `<( … )` and ANSI-C
|
|
1021
|
+
// `$'…'` quoting are not read.
|
|
843
1022
|
if (!msysApplies(p))
|
|
844
1023
|
return null;
|
|
845
|
-
const
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
1024
|
+
const written = (h) => h.glued === true || h.flag.endsWith('=') ? `${h.flag}${h.value}` : `${h.flag} ${h.value}`;
|
|
1025
|
+
// An opener preceded by EXACTLY one backslash is escaped: literal text. Not
|
|
1026
|
+
// the odd-run rule bash would apply to the text as written, because the Bash
|
|
1027
|
+
// tool halves each backslash pair before bash runs the command (measured, read
|
|
1028
|
+
// 3: four backslashes as typed reach the hook as four and bash as two), so bash
|
|
1029
|
+
// sees ceil(n/2) of them. One backslash is literal under both readings; two or
|
|
1030
|
+
// more are read as running under at least one of them, and the row stays
|
|
1031
|
+
// fail-closed there (a run of two is an over-deny on this transport, disclosed).
|
|
1032
|
+
const run = (text, at) => {
|
|
1033
|
+
let n = 0;
|
|
1034
|
+
for (let k = at - 1; k >= 0 && text[k] === '\\'; k -= 1)
|
|
1035
|
+
n += 1;
|
|
1036
|
+
return n;
|
|
1037
|
+
};
|
|
1038
|
+
const escaped = (text, at) => run(text, at) === 1;
|
|
1039
|
+
// A CLOSE is paired by the transport's rule (n mod 4 of 1 or 2 is escaped on
|
|
1040
|
+
// the Bash tool on win32, this row's only transport): an early close hides what
|
|
1041
|
+
// follows, so fail-closed does not apply to it (read 5 F1).
|
|
1042
|
+
const escapedClose = (text, at) => {
|
|
1043
|
+
const n = run(text, at);
|
|
1044
|
+
return n % 4 === 1 || n % 4 === 2;
|
|
1045
|
+
};
|
|
1046
|
+
const munged = (value, typed) => {
|
|
1047
|
+
const ws = value.search(/[ \t\r\n]/);
|
|
1048
|
+
const head = ws === -1 ? value : value.slice(0, ws);
|
|
1049
|
+
const eq = head.indexOf('=');
|
|
1050
|
+
if (eq === -1)
|
|
1051
|
+
return false;
|
|
1052
|
+
if (typed && head.slice(eq + 1).startsWith('@'))
|
|
1053
|
+
return false;
|
|
1054
|
+
return (head.includes('=/') ||
|
|
1055
|
+
head.includes('="/') ||
|
|
1056
|
+
head.includes('=(/') ||
|
|
1057
|
+
(!typed && head.includes('=@/')));
|
|
1058
|
+
};
|
|
1059
|
+
const takesFields = (rest) => rest[0] === 'api' || (rest[0] === 'workflow' && rest[1] === 'run');
|
|
1060
|
+
const scan = (text, depth) => {
|
|
1061
|
+
for (const seg of msysSegments(text, true)) {
|
|
1062
|
+
const at = seg.optOut === true ? -1 : programIndex(seg.tokens, 'gh');
|
|
1063
|
+
if (at !== -1) {
|
|
1064
|
+
const rest = seg.tokens.slice(at + 1);
|
|
1065
|
+
// `--body X`, `--body=X`, `-b X`, and the glued `-bX` cobra accepts
|
|
1066
|
+
// (measured: `-b/x` reached a native program as `-bX:/`).
|
|
1067
|
+
// (the `-b=X` spelling pflag also accepts loses its `=` on the way to gh)
|
|
1068
|
+
const gluedBody = rest
|
|
1069
|
+
.filter((t) => t.startsWith('-b') && t.length > 2 && !t.startsWith('--'))
|
|
1070
|
+
.map((t) => ({ flag: '-b', value: t.slice(2).replace(/^=/, ''), glued: true }));
|
|
1071
|
+
const body = [...optionsAsWritten(rest, '--body', '-b'), ...gluedBody].find((h) => h.value.startsWith('/'));
|
|
1072
|
+
if (body !== undefined) {
|
|
1073
|
+
return {
|
|
1074
|
+
fragment: written(body),
|
|
1075
|
+
detail: 'a gh --body value beginning with / is path-converted by MSYS on win32 (the /gemini review that posted as a Program Files path)',
|
|
1076
|
+
};
|
|
1077
|
+
}
|
|
1078
|
+
if (takesFields(rest)) {
|
|
1079
|
+
const glued = rest
|
|
1080
|
+
.filter((t) => (t.startsWith('-f') || t.startsWith('-F')) &&
|
|
1081
|
+
t.length > 2 &&
|
|
1082
|
+
!t.startsWith('--'))
|
|
1083
|
+
.map((t) => ({
|
|
1084
|
+
flag: t.slice(0, 2),
|
|
1085
|
+
value: t.slice(2),
|
|
1086
|
+
glued: true,
|
|
1087
|
+
typed: t[1] === 'F',
|
|
1088
|
+
}));
|
|
1089
|
+
const field = [
|
|
1090
|
+
...optionsAsWritten(rest, '--field', '-F').map((h) => ({ ...h, typed: true })),
|
|
1091
|
+
...optionsAsWritten(rest, '--raw-field', '-f').map((h) => ({ ...h, typed: false })),
|
|
1092
|
+
...glued,
|
|
1093
|
+
].find((h) => munged(h.value, h.typed));
|
|
1094
|
+
if (field !== undefined) {
|
|
1095
|
+
return {
|
|
1096
|
+
fragment: written(field),
|
|
1097
|
+
detail: 'a gh field value (api, workflow run) carrying =/ before its first whitespace is path-converted by MSYS on win32 (a -f body=/gemini review posts the Git install path exactly as --body did; a typed -F key=@/path file reference converts to the right Windows path and is allowed)',
|
|
1098
|
+
};
|
|
1099
|
+
}
|
|
1100
|
+
}
|
|
1101
|
+
}
|
|
1102
|
+
if (depth >= 4)
|
|
1103
|
+
continue;
|
|
1104
|
+
const located = blankComments(blankSingleQuoted(seg.raw));
|
|
1105
|
+
let cursor = 0;
|
|
1106
|
+
while (cursor < located.length) {
|
|
1107
|
+
const open = located.indexOf('$(', cursor);
|
|
1108
|
+
if (open === -1)
|
|
1109
|
+
break;
|
|
1110
|
+
if (escaped(located, open)) {
|
|
1111
|
+
cursor = open + 2;
|
|
1112
|
+
continue;
|
|
1113
|
+
}
|
|
1114
|
+
const end = substitutionEnd(located, open + 1);
|
|
1115
|
+
const inner = seg.raw.slice(open + 2, located[end - 1] === ')' ? end - 1 : end);
|
|
1116
|
+
const hit = scan(inner, depth + 1);
|
|
1117
|
+
if (hit !== null)
|
|
1118
|
+
return hit;
|
|
1119
|
+
cursor = end;
|
|
1120
|
+
}
|
|
859
1121
|
}
|
|
860
|
-
|
|
861
|
-
|
|
1122
|
+
if (depth >= 4)
|
|
1123
|
+
return null;
|
|
1124
|
+
// Backtick bodies are located on the WHOLE text of this level, not per
|
|
1125
|
+
// segment: the tokenizer reads a backtick as a character and splits at `;`
|
|
1126
|
+
// inside a span, so a span's two backticks can sit in different segments
|
|
1127
|
+
// (`u=\`gh … --body /x; echo done\``, the chained form from the 3098 bot
|
|
1128
|
+
// round). The pairing is run TWICE, with an opener read escaped by bash's
|
|
1129
|
+
// rule (exactly one backslash) and by the Bash tool's measured halving rule
|
|
1130
|
+
// (a run of one or two, and every four after), and either pass's hit denies:
|
|
1131
|
+
// a single pairing that misreads one opener shifts every later backtick and
|
|
1132
|
+
// loses the body of the next real span (read 7 F1), while the union can only
|
|
1133
|
+
// add denies. Inside backticks bash drops the backslash of `\$`, a
|
|
1134
|
+
// backslash-backtick and `\\` before running the body, so each body is
|
|
1135
|
+
// unescaped, then scanned. Disclosed over-allow: a `"` inside a single-quoted
|
|
1136
|
+
// string inside a span inside double quotes flips the blanker's quote state
|
|
1137
|
+
// (read 7 F2; main misses it too).
|
|
1138
|
+
// A span inside a statement an EARLIER export already covers inherits the
|
|
1139
|
+
// opt-out (`export MSYS_NO_PATHCONV=1; u=\`gh …\`` is the cure applied) and
|
|
1140
|
+
// is not read; a span inside the export statement itself, or before it,
|
|
1141
|
+
// runs without the opt-out and is.
|
|
1142
|
+
const ranges = [];
|
|
1143
|
+
msysSegments(text, true, ranges);
|
|
1144
|
+
const coveredAt = (at) => ranges.some((r) => r.covered && at >= r.start && at < r.end);
|
|
1145
|
+
const whole = blankComments(blankSingleQuoted(text));
|
|
1146
|
+
for (const openerEscaped of [escaped, escapedClose]) {
|
|
1147
|
+
let tick = whole.indexOf('`');
|
|
1148
|
+
while (tick !== -1) {
|
|
1149
|
+
if (openerEscaped(whole, tick)) {
|
|
1150
|
+
tick = whole.indexOf('`', tick + 1);
|
|
1151
|
+
continue;
|
|
1152
|
+
}
|
|
1153
|
+
let close = whole.indexOf('`', tick + 1);
|
|
1154
|
+
while (close !== -1 && escapedClose(whole, close)) {
|
|
1155
|
+
close = whole.indexOf('`', close + 1);
|
|
1156
|
+
}
|
|
1157
|
+
if (close === -1)
|
|
1158
|
+
break;
|
|
1159
|
+
if (!coveredAt(tick)) {
|
|
1160
|
+
const body = text.slice(tick + 1, close).replace(/\\([$`\\])/g, '$1');
|
|
1161
|
+
const hit = scan(body, depth + 1);
|
|
1162
|
+
if (hit !== null)
|
|
1163
|
+
return hit;
|
|
1164
|
+
}
|
|
1165
|
+
tick = whole.indexOf('`', close + 1);
|
|
1166
|
+
}
|
|
1167
|
+
}
|
|
1168
|
+
return null;
|
|
1169
|
+
};
|
|
1170
|
+
return scan(blankHeredocBodies(p.command, findHeredocs(p.command)), 0);
|
|
862
1171
|
},
|
|
863
1172
|
},
|
|
864
1173
|
{
|
|
@@ -956,10 +1265,14 @@ export const TRANSPORT_PATTERNS = Object.freeze([
|
|
|
956
1265
|
if (!msysApplies(p))
|
|
957
1266
|
return null;
|
|
958
1267
|
// Bodies and single-quoted text blanked first: a `$(` inside either is
|
|
959
|
-
// literal. Judged per segment, so the opt-out applies where the shell applies
|
|
1268
|
+
// literal. Judged per segment, so the opt-out applies where the shell applies
|
|
1269
|
+
// it — and a segment the prefix covers is still read, because the shell runs
|
|
1270
|
+
// the substitution inside it BEFORE the prefix applies (the same class as the
|
|
1271
|
+
// msys-body-slash row's read 2 F1).
|
|
960
1272
|
const blanked = blankSingleQuoted(blankHeredocBodies(p.command, findHeredocs(p.command)));
|
|
961
|
-
|
|
962
|
-
|
|
1273
|
+
// The spans of `$( … )` in a text, as [start of body, end of body) pairs.
|
|
1274
|
+
const spans = (text) => {
|
|
1275
|
+
const out = [];
|
|
963
1276
|
let cursor = 0;
|
|
964
1277
|
while (cursor < text.length) {
|
|
965
1278
|
const open = text.indexOf('$(', cursor);
|
|
@@ -967,18 +1280,57 @@ export const TRANSPORT_PATTERNS = Object.freeze([
|
|
|
967
1280
|
break;
|
|
968
1281
|
// Balanced outside quotes: a `)` inside `"…"` never closes the subshell.
|
|
969
1282
|
const end = substitutionEnd(text, open + 1);
|
|
970
|
-
|
|
971
|
-
const hit = REV_PATH_TOKEN.exec(inner);
|
|
972
|
-
if (hit !== null && !hit[2].includes('//')) {
|
|
973
|
-
return {
|
|
974
|
-
fragment: hit[2],
|
|
975
|
-
detail: 'a <rev>:<path> argument inside $( … ) is path-converted by MSYS on win32',
|
|
976
|
-
};
|
|
977
|
-
}
|
|
1283
|
+
out.push([open + 2, text[end - 1] === ')' ? end - 1 : end]);
|
|
978
1284
|
cursor = end;
|
|
979
1285
|
}
|
|
980
|
-
|
|
981
|
-
|
|
1286
|
+
return out;
|
|
1287
|
+
};
|
|
1288
|
+
// A body judged per ITS segments: an opt-out inside the substitution
|
|
1289
|
+
// (`$(MSYS_NO_PATHCONV=1 git show …)`) applies to that segment's own command
|
|
1290
|
+
// and to nothing nested in it, which runs first — so each segment's direct
|
|
1291
|
+
// arguments are read with its nested spans blanked, and the nested spans are
|
|
1292
|
+
// read on their own, whatever the enclosing prefix says (Greptile on the 3098
|
|
1293
|
+
// round: the nested warning had been lost). Read to 256 levels: deeper than
|
|
1294
|
+
// any real command, and short of the stack a few thousand levels would blow
|
|
1295
|
+
// (read 5 F2: an uncapped recursion threw at about five thousand, which the
|
|
1296
|
+
// wrapper would have read as a refusal).
|
|
1297
|
+
const scan = (text, depth) => {
|
|
1298
|
+
if (depth > 256) {
|
|
1299
|
+
// Beyond the cap the row cannot say, and a warn row that cannot say warns
|
|
1300
|
+
// (main warned at any depth; read 6 F3).
|
|
1301
|
+
return {
|
|
1302
|
+
fragment: '$( … ) nested beyond 256 levels',
|
|
1303
|
+
detail: 'a $( … ) nest deeper than this row reads; a <rev>:<path> inside it would be path-converted by MSYS on win32',
|
|
1304
|
+
};
|
|
1305
|
+
}
|
|
1306
|
+
for (const seg of msysSegments(text, true)) {
|
|
1307
|
+
for (const [from, to] of spans(seg.raw)) {
|
|
1308
|
+
// A heredoc body inside the substitution is text (read 7 F4: a quoted
|
|
1309
|
+
// `<<'EOF'` body carrying a rev:path had warned), blanked as at the top.
|
|
1310
|
+
const inner = blankHeredocBodies(seg.raw.slice(from, to), findHeredocs(seg.raw.slice(from, to)));
|
|
1311
|
+
for (const innerSeg of msysSegments(inner, true)) {
|
|
1312
|
+
if (innerSeg.optOut === true)
|
|
1313
|
+
continue;
|
|
1314
|
+
let direct = innerSeg.raw;
|
|
1315
|
+
for (const [a, b] of spans(direct)) {
|
|
1316
|
+
direct = direct.slice(0, a) + ' '.repeat(b - a) + direct.slice(b);
|
|
1317
|
+
}
|
|
1318
|
+
const hit = REV_PATH_TOKEN.exec(direct);
|
|
1319
|
+
if (hit !== null && !hit[2].includes('//')) {
|
|
1320
|
+
return {
|
|
1321
|
+
fragment: hit[2],
|
|
1322
|
+
detail: 'a <rev>:<path> argument inside $( … ) is path-converted by MSYS on win32',
|
|
1323
|
+
};
|
|
1324
|
+
}
|
|
1325
|
+
}
|
|
1326
|
+
const nested = scan(inner, depth + 1);
|
|
1327
|
+
if (nested !== null)
|
|
1328
|
+
return nested;
|
|
1329
|
+
}
|
|
1330
|
+
}
|
|
1331
|
+
return null;
|
|
1332
|
+
};
|
|
1333
|
+
return scan(blanked, 0);
|
|
982
1334
|
},
|
|
983
1335
|
},
|
|
984
1336
|
]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport-shield.js","sourceRoot":"","sources":["../src/transport-shield.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transport-shield.js","sourceRoot":"","sources":["../src/transport-shield.ts"],"names":[],"mappings":"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"}
|
|
@@ -56,6 +56,118 @@ describe('transport-shield — the charter corpus (positive rows are refused)',
|
|
|
56
56
|
it('denies the slash body inside a later segment of a chained command', () => {
|
|
57
57
|
expectDeny('git fetch origin && gh pr comment 5 --body "/gemini review"', 'msys-body-slash', 'win32');
|
|
58
58
|
});
|
|
59
|
+
it('denies a gh api field value beginning with / on win32 (the -f body= form the --body row did not cover)', () => {
|
|
60
|
+
const v = expectDeny("gh api repos/mmnto-ai/totem/issues/5/comments -f 'body=/gemini review'", 'msys-body-slash', 'win32');
|
|
61
|
+
expect(v.provenance.matched).toBe('-f body=/gemini review');
|
|
62
|
+
expect(v.reason).toContain('MSYS_NO_PATHCONV=1');
|
|
63
|
+
expectDeny('gh api repos/o/r/issues/5/comments --field body=/x', 'msys-body-slash', 'win32');
|
|
64
|
+
expectDeny('gh api repos/o/r/issues/5/comments --field=body=/x', 'msys-body-slash', 'win32');
|
|
65
|
+
expectDeny('gh api repos/o/r/issues/5/comments -F body=/x', 'msys-body-slash', 'win32');
|
|
66
|
+
expectDeny('gh api repos/o/r/issues/5/comments --raw-field body=/x', 'msys-body-slash', 'win32');
|
|
67
|
+
// Any key: MSYS converts after the =, whatever the key names.
|
|
68
|
+
expectDeny('gh api -X POST repos/o/r/issues -f title=/x', 'msys-body-slash', 'win32');
|
|
69
|
+
// A / after ANY = in the value, not only the first (measured: body=k=/v arrives as
|
|
70
|
+
// body=k=V:/), and cobra's glued short form (-fbody=/x arrives as -fbody=X:/).
|
|
71
|
+
expectDeny('gh api repos/o/r/issues/5/comments -f body=k=/v', 'msys-body-slash', 'win32');
|
|
72
|
+
const g = expectDeny('gh api repos/o/r/issues/5/comments -fbody=/x', 'msys-body-slash', 'win32');
|
|
73
|
+
expect(g.provenance.matched).toBe('-fbody=/x');
|
|
74
|
+
// The field form in a later segment of a chained command.
|
|
75
|
+
expectDeny('git fetch origin && gh api repos/o/r/issues/5/comments -f body=/x', 'msys-body-slash', 'win32');
|
|
76
|
+
// Measured: MSYS converts a slash after `="` and `=(` as well; a raw -f key=@/path is
|
|
77
|
+
// a string that now carries the wrong literal; of a multi-word value only the span
|
|
78
|
+
// before the first whitespace converts, so the first =/ of `a=/b c=/d` is enough.
|
|
79
|
+
expectDeny('gh api repos/o/r/issues/5/comments -f \'body="/gemini review"\'', 'msys-body-slash', 'win32');
|
|
80
|
+
expectDeny("gh api repos/o/r/issues/5/comments -f 'body=(/x)'", 'msys-body-slash', 'win32');
|
|
81
|
+
expectDeny('gh api repos/o/r/issues/5/comments -f body=@/tmp/b.md', 'msys-body-slash', 'win32');
|
|
82
|
+
expectDeny("gh api repos/o/r/issues/5/comments -f 'body=a=/b c=/d'", 'msys-body-slash', 'win32');
|
|
83
|
+
// gh workflow run takes the same field flags; gh.exe is the Windows spelling.
|
|
84
|
+
expectDeny('gh workflow run ci.yml -f path=/x', 'msys-body-slash', 'win32');
|
|
85
|
+
expectDeny('gh.exe api repos/o/r/issues/5/comments -f body=/x', 'msys-body-slash', 'win32');
|
|
86
|
+
});
|
|
87
|
+
it('denies the gh call inside a command substitution, a backtick, a brace group or after a reserved word (the shape the 2026-10-16 trigger was posted from)', () => {
|
|
88
|
+
const v = expectDeny('L=x.md && echo word >> "$L" && u1=$(gh pr comment 1560 -R o/r --body \'/gemini review\') && echo "GCA trigger: $u1"', 'msys-body-slash', 'win32');
|
|
89
|
+
expect(v.provenance.matched).toBe('--body /gemini review');
|
|
90
|
+
expectDeny("u=$(gh pr comment 5 --body '/gemini review')", 'msys-body-slash', 'win32');
|
|
91
|
+
expectDeny("echo $(gh pr comment 5 --body '/gemini review')", 'msys-body-slash', 'win32');
|
|
92
|
+
expectDeny("u=`gh pr comment 5 --body '/gemini review'`", 'msys-body-slash', 'win32');
|
|
93
|
+
expectDeny("{ gh pr comment 5 --body '/gemini review'; }", 'msys-body-slash', 'win32');
|
|
94
|
+
expectDeny("if true; then gh pr comment 5 --body '/gemini review'; fi", 'msys-body-slash', 'win32');
|
|
95
|
+
expectDeny('u=$(gh api repos/o/r/issues/5/comments -f body=/x)', 'msys-body-slash', 'win32');
|
|
96
|
+
expectDeny('x=$(y=$(gh pr comment 5 --body /x))', 'msys-body-slash', 'win32');
|
|
97
|
+
// The opt-out prefix covers the segment's own program only: the substitution inside
|
|
98
|
+
// runs first, without it, and an assignment-only statement exports nothing
|
|
99
|
+
// (measured: MSYS_NO_PATHCONV=1 u1=$(…) posted the Git install path).
|
|
100
|
+
expectDeny("MSYS_NO_PATHCONV=1 u1=$(gh pr comment 1560 -R o/r --body '/gemini review') && echo ok", 'msys-body-slash', 'win32');
|
|
101
|
+
expectDeny('MSYS_NO_PATHCONV=1 echo $(gh pr comment 5 --body /y)', 'msys-body-slash', 'win32');
|
|
102
|
+
expectDeny('env MSYS_NO_PATHCONV=1 echo $(gh pr comment 5 --body /y)', 'msys-body-slash', 'win32');
|
|
103
|
+
expectDeny('MSYS_NO_PATHCONV=1 gh pr comment 5 --body "$(gh pr comment 6 --body /y)"', 'msys-body-slash', 'win32');
|
|
104
|
+
// An unescaped substitution inside a double-quoted body runs.
|
|
105
|
+
expectDeny('gh pr comment 5 --body "$(gh pr comment 6 --body /y)"', 'msys-body-slash', 'win32');
|
|
106
|
+
// More spellings the shell runs: GH.EXE, a quoted Windows path, a function body,
|
|
107
|
+
// time -p, and the glued -b/x short body (measured: -b/x arrives as -bX:/).
|
|
108
|
+
expectDeny('GH.EXE pr comment 5 --body /x', 'msys-body-slash', 'win32');
|
|
109
|
+
expectDeny("'C:\\Program Files\\GitHub CLI\\gh.exe' pr comment 5 --body /x", 'msys-body-slash', 'win32');
|
|
110
|
+
expectDeny('f() { gh pr comment 5 --body /x; }; f', 'msys-body-slash', 'win32');
|
|
111
|
+
expectDeny('time -p gh pr comment 5 --body /x', 'msys-body-slash', 'win32');
|
|
112
|
+
expectDeny('gh pr comment 5 -b/x', 'msys-body-slash', 'win32');
|
|
113
|
+
expectDeny('gh pr comment 5 -b=/x', 'msys-body-slash', 'win32');
|
|
114
|
+
// Backslash runs of two or more before an opener are read as running (the Bash
|
|
115
|
+
// tool halves each pair before bash sees the command: three as typed reach bash
|
|
116
|
+
// as two, and the substitution runs — read 3 F1); only exactly one is literal.
|
|
117
|
+
expectDeny('echo \\\\$(gh pr comment 5 --body /x)', 'msys-body-slash', 'win32');
|
|
118
|
+
expectDeny('echo \\\\\\$(gh pr comment 5 --body /x)', 'msys-body-slash', 'win32');
|
|
119
|
+
expectDeny('echo "\\\\\\$(gh pr comment 5 --body /x)"', 'msys-body-slash', 'win32');
|
|
120
|
+
expectDeny('echo \\\\\\\\$(gh pr comment 5 --body /x)', 'msys-body-slash', 'win32');
|
|
121
|
+
expectDeny('u=\\\\\\`gh pr comment 5 --body /x\\\\\\`', 'msys-body-slash', 'win32');
|
|
122
|
+
// Inside backticks bash drops the backslash of \$ before running the body.
|
|
123
|
+
expectDeny('u=`echo \\$(gh pr comment 5 --body /x)`', 'msys-body-slash', 'win32');
|
|
124
|
+
// A # inside a ${ … } expansion is word text, not a comment.
|
|
125
|
+
expectDeny('echo ${x:- #$(gh pr comment 5 --body /x)}', 'msys-body-slash', 'win32');
|
|
126
|
+
// A backtick body that carries a ; or && is read by the row on the whole command
|
|
127
|
+
// text, whatever segments the tokenizer cut it into (the Greptile P1 on the 3098
|
|
128
|
+
// round: the chained form).
|
|
129
|
+
expectDeny('u=`gh pr comment 5 --body /x; echo done`', 'msys-body-slash', 'win32');
|
|
130
|
+
expectDeny('echo `gh pr comment 5 --body /x` && echo done', 'msys-body-slash', 'win32');
|
|
131
|
+
// An export statement expands its own substitutions BEFORE it exports (the second
|
|
132
|
+
// Greptile P1): the opt-out reaches later statements only.
|
|
133
|
+
expectDeny('export MSYS_NO_PATHCONV=1 u=$(gh pr comment 5 --body /x)', 'msys-body-slash', 'win32');
|
|
134
|
+
expectDeny('declare -x MSYS_NO_PATHCONV=1 u=$(gh pr comment 5 --body /x)', 'msys-body-slash', 'win32');
|
|
135
|
+
// A backtick body ending in a run of backslashes: the row pairs the close by the
|
|
136
|
+
// measured rule (one or two escaped, three or four close — reads 4 and 5), and the
|
|
137
|
+
// shared tokenizer splits at the `;` whatever the pairing, so the gh after the span
|
|
138
|
+
// is its own segment and read either way.
|
|
139
|
+
expectDeny('echo `echo \\`; gh pr comment 5 --body /x; echo `echo z`', 'msys-body-slash', 'win32');
|
|
140
|
+
expectDeny('echo `echo \\\\`; gh pr comment 5 --body /x; echo `echo z`', 'msys-body-slash', 'win32');
|
|
141
|
+
expectDeny('echo `echo \\\\\\`; gh pr comment 5 --body /x; echo `echo z`', 'msys-body-slash', 'win32');
|
|
142
|
+
expectDeny('echo `echo \\\\\\\\`; gh pr comment 5 --body /x; echo `echo z`', 'msys-body-slash', 'win32');
|
|
143
|
+
// The same hole reached the sed row through the shared tokenizer.
|
|
144
|
+
expectDeny('echo `echo \\\\\\\\`; sed -i "s/a/\\\\\\\\b/" f; echo `echo z`', 'sed-i-escape');
|
|
145
|
+
// The row pairs a close by the transport's measured rule (read 5 F1: on the Bash
|
|
146
|
+
// tool on win32 a run of two is ESCAPED, each typed pair being halved); the shared
|
|
147
|
+
// tokenizer reads a backtick as a character and splits at the `;`, so the gh or
|
|
148
|
+
// sed after the span is its own segment whatever the pairing. The minimal shape,
|
|
149
|
+
// at two and at five backslashes, through both rows.
|
|
150
|
+
expectDeny("x=`echo 'q\\\\`'` ; gh pr comment 5 --body /x", 'msys-body-slash', 'win32');
|
|
151
|
+
expectDeny('x=`echo \'q\\\\`\'` ; sed -i "s/a/\\\\b/" f', 'sed-i-escape', 'win32');
|
|
152
|
+
expectDeny("echo `echo 'q\\\\\\\\\\`' r` ; gh pr comment 5 --body /x; echo `echo z`", 'msys-body-slash', 'win32');
|
|
153
|
+
// Off win32 the shared tokenizer reads the backtick as a character and splits at
|
|
154
|
+
// the `;`, so the sed is its own segment and denied — main's verdict, and an
|
|
155
|
+
// over-deny there (bash closes at two and the stray quote swallows the rest, so
|
|
156
|
+
// nothing runs): fail-closed by design after the retreat of the span rule.
|
|
157
|
+
expectDeny('x=`echo \'q\\\\`\'` ; sed -i "s/a/\\\\b/" f', 'sed-i-escape', 'linux');
|
|
158
|
+
// A literal backtick behind a typed run of two (or five, or six) read as an opener
|
|
159
|
+
// would pair with the next real opener and lose the real span's body (read 7 F1);
|
|
160
|
+
// the second pairing pass reads it by the transport's rule, and either pass denies.
|
|
161
|
+
expectDeny('echo \\\\` ; u=`gh pr comment 5 --body /x`', 'msys-body-slash', 'win32');
|
|
162
|
+
expectDeny('echo \\\\\\\\\\` ; u=`gh pr comment 5 --body /x`', 'msys-body-slash', 'win32');
|
|
163
|
+
expectDeny('echo \\\\` ; echo "`echo a; gh pr comment 5 --body /x`"', 'msys-body-slash', 'win32');
|
|
164
|
+
expectDeny('echo "\\\\` `true && gh pr comment 5 --body /x`"', 'msys-body-slash', 'win32');
|
|
165
|
+
expectDeny('echo \\` ; u=`gh pr comment 5 --body /x`', 'msys-body-slash', 'win32');
|
|
166
|
+
// A backtick body inside the export statement itself, or before the export, runs
|
|
167
|
+
// without the opt-out (the second Greptile pass on the 3098 round).
|
|
168
|
+
expectDeny('export MSYS_NO_PATHCONV=1 u=`gh pr comment 5 --body /x`', 'msys-body-slash', 'win32');
|
|
169
|
+
expectDeny('u=`gh pr comment 5 --body /x`; export MSYS_NO_PATHCONV=1', 'msys-body-slash', 'win32');
|
|
170
|
+
});
|
|
59
171
|
it('denies sed -i whose expression carries a backslash', () => {
|
|
60
172
|
const v = expectDeny("sed -i 's/\\(a\\)/x/' file.txt", 'sed-i-escape');
|
|
61
173
|
expect(v.reason).toContain('Edit tool');
|
|
@@ -103,6 +215,47 @@ describe('transport-shield — the charter corpus (negative rows are allowed)',
|
|
|
103
215
|
expectAllow('gh pr comment 5 --body "/gemini review"', 'linux');
|
|
104
216
|
expectAllow('gh pr comment 5 --body "/gemini review"', 'darwin');
|
|
105
217
|
});
|
|
218
|
+
it('allows the gh api field forms MSYS does not munge into a wrong value', () => {
|
|
219
|
+
// A file reference converts to the right Windows path — the intended conversion.
|
|
220
|
+
expectAllow('gh api repos/o/r/issues/5/comments -F body=@/tmp/body.md', 'win32');
|
|
221
|
+
// An @-prefixed body, a slash-less value, and the JSON --input route.
|
|
222
|
+
expectAllow("gh api repos/o/r/issues/5/comments -f 'body=@coderabbitai review'", 'win32');
|
|
223
|
+
expectAllow('gh api repos/o/r/issues -f state=open', 'win32');
|
|
224
|
+
expectAllow('gh api repos/o/r/issues/5/comments --input body.json', 'win32');
|
|
225
|
+
// Off the api subcommand, -f is some other flag (gh pr create --fill).
|
|
226
|
+
expectAllow('gh pr create -f --title x', 'win32');
|
|
227
|
+
// The opt-out, the PowerShell tool, and a non-win32 platform.
|
|
228
|
+
expectAllow('MSYS_NO_PATHCONV=1 gh api repos/o/r/issues/5/comments -f body=/x', 'win32');
|
|
229
|
+
expectAllow('gh api repos/o/r/issues/5/comments -f body=/x', 'win32', 'PowerShell');
|
|
230
|
+
expectAllow('gh api repos/o/r/issues/5/comments -f body=/x', 'linux');
|
|
231
|
+
// MSYS stops converting at the first whitespace: a =/ later in a multi-word body
|
|
232
|
+
// is untouched (measured: 'body=see PATH=/usr/bin' arrives unchanged).
|
|
233
|
+
expectAllow("gh api repos/o/r/issues/5/comments -f 'body=see PATH=/usr/bin'", 'win32');
|
|
234
|
+
expectAllow("gh api repos/o/r/issues/5/comments -f 'body=Use --prefix=/usr in the build'", 'win32');
|
|
235
|
+
expectAllow("gh api repos/o/r/issues/5/comments -f 'body=x y=/z'", 'win32');
|
|
236
|
+
// A typed file reference whose path carries =/ still converts to the right path.
|
|
237
|
+
expectAllow("gh api repos/o/r/issues/5/comments -F 'body=@/tmp/a=/b'", 'win32');
|
|
238
|
+
// gh workflow run with a slash-less value; a $( inside single quotes is literal.
|
|
239
|
+
expectAllow('gh workflow run ci.yml -f ref=main', 'win32');
|
|
240
|
+
expectAllow("gh pr comment 5 --body 'see $(gh x --body /y)'", 'win32');
|
|
241
|
+
// The opt-out inside the substitution applies where the shell applies it, and an
|
|
242
|
+
// export reaches it.
|
|
243
|
+
expectAllow("u=$(MSYS_NO_PATHCONV=1 gh pr comment 5 --body '/gemini review')", 'win32');
|
|
244
|
+
expectAllow("export MSYS_NO_PATHCONV=1; u=$(gh pr comment 5 --body '/gemini review')", 'win32');
|
|
245
|
+
expectAllow("u=$(export MSYS_NO_PATHCONV=1; gh pr comment 5 --body '/gemini review')", 'win32');
|
|
246
|
+
// Literal text the shell never runs: an escaped opener in a double-quoted body, and
|
|
247
|
+
// a comment (read 2 F2: the previous row allowed these and a fold must not deny them).
|
|
248
|
+
expectAllow('gh pr comment 5 --body "Posted via \\`gh pr comment 5 --body /gemini review\\` which munged"', 'win32');
|
|
249
|
+
expectAllow('gh pr comment 5 --body "The \\$(gh api x -f body=/y) form"', 'win32');
|
|
250
|
+
expectAllow('echo hi # $(gh pr comment 5 --body /x)', 'win32');
|
|
251
|
+
// The export attribute on the bare name makes a later assignment reach the
|
|
252
|
+
// substitution (read 3 F6a; measured: the body posted unconverted).
|
|
253
|
+
expectAllow('export MSYS_NO_PATHCONV; MSYS_NO_PATHCONV=1 u=$(gh pr comment 5 --body /x)', 'win32');
|
|
254
|
+
// A backtick body inside a statement an earlier export covers inherits the opt-out:
|
|
255
|
+
// the gate's own cure, applied (the second Greptile pass on the 3098 round).
|
|
256
|
+
expectAllow('export MSYS_NO_PATHCONV=1; u=`gh pr comment 5 --body /x`', 'win32');
|
|
257
|
+
expectAllow('export MSYS_NO_PATHCONV=1 && echo `gh pr comment 5 --body /x`', 'win32');
|
|
258
|
+
});
|
|
106
259
|
it('allows sed -n (not in place) and a plain in-place substitution', () => {
|
|
107
260
|
expectAllow("sed -n '1,5p' file");
|
|
108
261
|
expectAllow("sed -i 's/a/b/' file");
|
|
@@ -136,13 +289,31 @@ describe('transport-shield — the PowerShell tool (the tool-agnostic rows pinne
|
|
|
136
289
|
});
|
|
137
290
|
});
|
|
138
291
|
describe('transport-shield — the warn rows (allow + advisory)', () => {
|
|
139
|
-
it('warns on a <rev>:<path> inside $( … ) on win32 without MSYS_NO_PATHCONV=1, and allows it with the prefix', () => {
|
|
292
|
+
it('warns on a <rev>:<path> inside $( … ) on win32 without MSYS_NO_PATHCONV=1, and allows it with the prefix where the shell applies it', () => {
|
|
140
293
|
const v = run('echo $(git show origin/main:.totem/x.md)', 'win32');
|
|
141
294
|
expect(v.disposition).toBe('warn');
|
|
142
295
|
expect(v.provenance.ref).toBe('msys-rev-path-subshell');
|
|
143
296
|
expect(v.provenance.matched).toBe('origin/main:.totem/x.md');
|
|
144
297
|
expect(v.reason).toContain('MSYS_NO_PATHCONV=1');
|
|
145
|
-
|
|
298
|
+
// A prefix on the OUTER command never reaches the substitution, which runs
|
|
299
|
+
// first (measured 2026-10-16: the body was converted); the prefix inside it, or
|
|
300
|
+
// an export before it, does.
|
|
301
|
+
expect(run('MSYS_NO_PATHCONV=1 echo $(git show origin/main:.totem/x.md)', 'win32').disposition).toBe('warn');
|
|
302
|
+
expect(run('MSYS_NO_PATHCONV=1 u=$(git show origin/main:.totem/x.md)', 'win32').disposition).toBe('warn');
|
|
303
|
+
expectAllow('echo $(MSYS_NO_PATHCONV=1 git show origin/main:.totem/x.md)', 'win32');
|
|
304
|
+
expectAllow('export MSYS_NO_PATHCONV=1; echo $(git show origin/main:.totem/x.md)', 'win32');
|
|
305
|
+
// A prefix inside the body covers that body's own command, never a substitution
|
|
306
|
+
// nested in it, which runs first (the Greptile P2 on the 3098 round).
|
|
307
|
+
expect(run('echo $(MSYS_NO_PATHCONV=1 echo $(git show origin/main:.totem/x.md))', 'win32')
|
|
308
|
+
.disposition).toBe('warn');
|
|
309
|
+
expectAllow('echo $(echo $(MSYS_NO_PATHCONV=1 git show origin/main:.totem/x.md))', 'win32');
|
|
310
|
+
// A quoted heredoc body inside the substitution is text, not an argument.
|
|
311
|
+
expectAllow("echo $( cat <<'EOF'\norigin/main:.totem/x.md\nEOF\n )", 'win32');
|
|
312
|
+
// Past the recursion cap the row warns rather than allows (read 6 F3, read 7 F3).
|
|
313
|
+
const deep = 'echo $('.repeat(300) + 'git show HEAD:.totem/a' + ')'.repeat(300);
|
|
314
|
+
const capped = run(deep, 'win32');
|
|
315
|
+
expect(capped.disposition).toBe('warn');
|
|
316
|
+
expect(capped.provenance.ref).toBe('msys-rev-path-subshell');
|
|
146
317
|
});
|
|
147
318
|
it('does not warn on the rev:path shape off win32 or outside a subshell', () => {
|
|
148
319
|
expectAllow('echo $(git show origin/main:.totem/x.md)', 'linux');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport-shield.test.js","sourceRoot":"","sources":["../src/transport-shield.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transport-shield.test.js","sourceRoot":"","sources":["../src/transport-shield.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mmnto/totem",
|
|
3
|
-
"version": "2.16.
|
|
3
|
+
"version": "2.16.4",
|
|
4
4
|
"description": "Core engine for Totem, the local-first toolkit that keeps AI-agent work queryable, enforceable, and derivable as plain files in your codebase",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|