Commit 004c293
authored
fix: support SSL_CERT_FILE for TLS certificate configuration (#1124)
* fix: support SSL_CERT_FILE for TLS certificate configuration
Node.js only reads NODE_EXTRA_CA_CERTS at process startup, so setting
SSL_CERT_FILE (which the CLI maps to NODE_EXTRA_CA_CERTS internally)
had no effect on the parent process's TLS connections. This caused
"unable to get local issuer certificate" errors for users behind
corporate proxies with SSL inspection (e.g. Cloudflare).
The fix manually reads the certificate file and passes the combined
CA certificates (root + extra) to HTTPS agents:
- SDK calls: HttpsAgent or HttpsProxyAgent with ca option
- Direct fetch calls: falls back to node:https.request with custom agent
- Child processes (Coana CLI): already worked via constants.processEnv
* fix: harden SSL_CERT_FILE support with Content-Length, redirects, and broader coverage
- Set Content-Length header for POST bodies in httpsRequest path to avoid
chunked transfer encoding divergence from fetch()
- Follow 3xx redirects in httpsRequest path to match fetch() behavior
- Route all fetch calls through apiFetch (GitHub API, npm registry)
- Add debug logging when certificate file read fails
* fix: strip sensitive headers on cross-origin redirects in apiFetch
The _httpsRequestFetch redirect handler forwarded all headers (including
Authorization, Cookie, Proxy-Authorization) to redirect targets
regardless of origin. Per the Fetch spec, these sensitive headers must
be stripped on cross-origin redirects to prevent credential leaks.
This is especially relevant for GitHub API calls that may redirect to
CDN hosts for file downloads.1 parent 51d1eb7 commit 004c293
File tree
6 files changed
+994
-12
lines changed- src
- commands/scan
- utils
6 files changed
+994
-12
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| 19 | + | |
19 | 20 | | |
20 | 21 | | |
21 | 22 | | |
| |||
402 | 403 | | |
403 | 404 | | |
404 | 405 | | |
405 | | - | |
| 406 | + | |
406 | 407 | | |
407 | 408 | | |
408 | 409 | | |
| |||
466 | 467 | | |
467 | 468 | | |
468 | 469 | | |
469 | | - | |
| 470 | + | |
470 | 471 | | |
471 | 472 | | |
472 | 473 | | |
| |||
567 | 568 | | |
568 | 569 | | |
569 | 570 | | |
570 | | - | |
| 571 | + | |
571 | 572 | | |
572 | 573 | | |
573 | 574 | | |
| |||
679 | 680 | | |
680 | 681 | | |
681 | 682 | | |
682 | | - | |
| 683 | + | |
683 | 684 | | |
684 | 685 | | |
685 | 686 | | |
| |||
743 | 744 | | |
744 | 745 | | |
745 | 746 | | |
746 | | - | |
| 747 | + | |
747 | 748 | | |
748 | 749 | | |
749 | 750 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
| 23 | + | |
22 | 24 | | |
23 | 25 | | |
24 | 26 | | |
| |||
37 | 39 | | |
38 | 40 | | |
39 | 41 | | |
40 | | - | |
| 42 | + | |
41 | 43 | | |
42 | 44 | | |
43 | 45 | | |
| |||
48 | 50 | | |
49 | 51 | | |
50 | 52 | | |
| 53 | + | |
51 | 54 | | |
52 | 55 | | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
53 | 196 | | |
54 | 197 | | |
55 | 198 | | |
| |||
287 | 430 | | |
288 | 431 | | |
289 | 432 | | |
290 | | - | |
| 433 | + | |
291 | 434 | | |
292 | 435 | | |
293 | 436 | | |
| |||
480 | 623 | | |
481 | 624 | | |
482 | 625 | | |
483 | | - | |
| 626 | + | |
484 | 627 | | |
485 | 628 | | |
486 | 629 | | |
| |||
0 commit comments