Commit ada6028
Round 3 fixes: SIGKILL, workflow commands, npm env, case-insensitive sanitization
Security:
- Fix SIGKILL fallback: always send after grace period, store/clear inner timer
- Sanitize stdout/stderr to prevent workflow command injection (:: prefix)
- Pass minimal env to npm install (was leaking all secrets to install scripts)
- Case-insensitive pr-data tag stripping in sanitizePRField (was /g, now /gi)
Robustness:
- Validate uncertainEntries and skippedPRs are arrays (coerce non-arrays to [])
Tests (37 passing):
- Add non-array uncertainEntries/skippedPRs coercion test
- Add case-variant pr-data tag sanitization test
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>1 parent 57963d2 commit ada6028
9 files changed
Lines changed: 83 additions & 23 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
124 | 124 | | |
125 | 125 | | |
126 | 126 | | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
127 | 141 | | |
128 | 142 | | |
129 | 143 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
164 | 164 | | |
165 | 165 | | |
166 | 166 | | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
167 | 187 | | |
168 | 188 | | |
169 | 189 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29983 | 29983 | | |
29984 | 29984 | | |
29985 | 29985 | | |
29986 | | - | |
| 29986 | + | |
29987 | 29987 | | |
29988 | 29988 | | |
29989 | 29989 | | |
| |||
30038 | 30038 | | |
30039 | 30039 | | |
30040 | 30040 | | |
| 30041 | + | |
30041 | 30042 | | |
30042 | 30043 | | |
30043 | 30044 | | |
30044 | 30045 | | |
30045 | 30046 | | |
30046 | 30047 | | |
30047 | 30048 | | |
30048 | | - | |
30049 | | - | |
30050 | | - | |
| 30049 | + | |
| 30050 | + | |
| 30051 | + | |
30051 | 30052 | | |
| 30053 | + | |
| 30054 | + | |
| 30055 | + | |
| 30056 | + | |
30052 | 30057 | | |
30053 | 30058 | | |
| 30059 | + | |
| 30060 | + | |
30054 | 30061 | | |
30055 | 30062 | | |
30056 | 30063 | | |
30057 | | - | |
| 30064 | + | |
30058 | 30065 | | |
30059 | 30066 | | |
30060 | 30067 | | |
30061 | 30068 | | |
30062 | | - | |
| 30069 | + | |
30063 | 30070 | | |
30064 | 30071 | | |
30065 | 30072 | | |
| 30073 | + | |
| 30074 | + | |
30066 | 30075 | | |
30067 | 30076 | | |
30068 | 30077 | | |
| |||
30078 | 30087 | | |
30079 | 30088 | | |
30080 | 30089 | | |
| 30090 | + | |
| 30091 | + | |
30081 | 30092 | | |
30082 | 30093 | | |
30083 | 30094 | | |
| |||
30332 | 30343 | | |
30333 | 30344 | | |
30334 | 30345 | | |
30335 | | - | |
30336 | | - | |
30337 | | - | |
| 30346 | + | |
| 30347 | + | |
| 30348 | + | |
| 30349 | + | |
| 30350 | + | |
30338 | 30351 | | |
30339 | 30352 | | |
30340 | 30353 | | |
| |||
30666 | 30679 | | |
30667 | 30680 | | |
30668 | 30681 | | |
30669 | | - | |
| 30682 | + | |
30670 | 30683 | | |
30671 | 30684 | | |
30672 | 30685 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
32 | | - | |
| 32 | + | |
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| |||
100 | 100 | | |
101 | 101 | | |
102 | 102 | | |
| 103 | + | |
103 | 104 | | |
104 | 105 | | |
105 | 106 | | |
| |||
109 | 110 | | |
110 | 111 | | |
111 | 112 | | |
112 | | - | |
113 | | - | |
114 | | - | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
115 | 120 | | |
116 | 121 | | |
117 | 122 | | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
118 | 127 | | |
119 | 128 | | |
120 | 129 | | |
121 | | - | |
| 130 | + | |
122 | 131 | | |
123 | 132 | | |
124 | 133 | | |
125 | 134 | | |
126 | 135 | | |
127 | | - | |
| 136 | + | |
128 | 137 | | |
129 | 138 | | |
130 | 139 | | |
131 | 140 | | |
| 141 | + | |
132 | 142 | | |
133 | 143 | | |
134 | 144 | | |
| |||
152 | 162 | | |
153 | 163 | | |
154 | 164 | | |
| 165 | + | |
155 | 166 | | |
156 | 167 | | |
157 | 168 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
51 | | - | |
52 | | - | |
53 | | - | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
54 | 56 | | |
55 | 57 | | |
56 | 58 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
170 | 170 | | |
171 | 171 | | |
172 | 172 | | |
173 | | - | |
| 173 | + | |
174 | 174 | | |
175 | 175 | | |
176 | 176 | | |
| |||
0 commit comments