guardrail-cli 2.4.13 → 2.5.1

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 (244) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +548 -521
  3. package/dist/commands/autopilot-decision.d.ts +24 -0
  4. package/dist/commands/autopilot-decision.d.ts.map +1 -0
  5. package/dist/commands/autopilot-decision.js +304 -0
  6. package/dist/commands/autopilot-decision.js.map +1 -0
  7. package/dist/commands/autopilot.d.ts +33 -0
  8. package/dist/commands/autopilot.d.ts.map +1 -0
  9. package/dist/commands/autopilot.js +1539 -0
  10. package/dist/commands/autopilot.js.map +1 -0
  11. package/dist/commands/baseline.d.ts.map +1 -1
  12. package/dist/commands/baseline.js.map +1 -1
  13. package/dist/commands/cache.d.ts.map +1 -1
  14. package/dist/commands/cache.js +3 -1
  15. package/dist/commands/cache.js.map +1 -1
  16. package/dist/commands/context.d.ts +8 -0
  17. package/dist/commands/context.d.ts.map +1 -0
  18. package/dist/commands/context.js +340 -0
  19. package/dist/commands/context.js.map +1 -0
  20. package/dist/commands/debug.d.ts +78 -0
  21. package/dist/commands/debug.d.ts.map +1 -0
  22. package/dist/commands/debug.js +381 -0
  23. package/dist/commands/debug.js.map +1 -0
  24. package/dist/commands/evidence.d.ts.map +1 -1
  25. package/dist/commands/evidence.js +23 -7
  26. package/dist/commands/evidence.js.map +1 -1
  27. package/dist/commands/index.d.ts +5 -0
  28. package/dist/commands/index.d.ts.map +1 -1
  29. package/dist/commands/index.js +16 -1
  30. package/dist/commands/index.js.map +1 -1
  31. package/dist/commands/preview.d.ts +54 -0
  32. package/dist/commands/preview.d.ts.map +1 -0
  33. package/dist/commands/preview.js +352 -0
  34. package/dist/commands/preview.js.map +1 -0
  35. package/dist/commands/quality/check.d.ts +31 -0
  36. package/dist/commands/quality/check.d.ts.map +1 -0
  37. package/dist/commands/quality/check.js +242 -0
  38. package/dist/commands/quality/check.js.map +1 -0
  39. package/dist/commands/quality/index.d.ts +8 -0
  40. package/dist/commands/quality/index.d.ts.map +1 -0
  41. package/dist/commands/quality/index.js +14 -0
  42. package/dist/commands/quality/index.js.map +1 -0
  43. package/dist/commands/quality/setup-quality.d.ts +23 -0
  44. package/dist/commands/quality/setup-quality.d.ts.map +1 -0
  45. package/dist/commands/quality/setup-quality.js +452 -0
  46. package/dist/commands/quality/setup-quality.js.map +1 -0
  47. package/dist/commands/quality/tidy.d.ts +41 -0
  48. package/dist/commands/quality/tidy.d.ts.map +1 -0
  49. package/dist/commands/quality/tidy.js +466 -0
  50. package/dist/commands/quality/tidy.js.map +1 -0
  51. package/dist/commands/quality/utils.d.ts +73 -0
  52. package/dist/commands/quality/utils.d.ts.map +1 -0
  53. package/dist/commands/quality/utils.js +158 -0
  54. package/dist/commands/quality/utils.js.map +1 -0
  55. package/dist/commands/scan-secrets.d.ts.map +1 -1
  56. package/dist/commands/scan-secrets.js +35 -18
  57. package/dist/commands/scan-secrets.js.map +1 -1
  58. package/dist/commands/scan-vulnerabilities-enhanced.d.ts +1 -0
  59. package/dist/commands/scan-vulnerabilities-enhanced.d.ts.map +1 -1
  60. package/dist/commands/scan-vulnerabilities-enhanced.js +40 -14
  61. package/dist/commands/scan-vulnerabilities-enhanced.js.map +1 -1
  62. package/dist/commands/scan-vulnerabilities-osv.d.ts +1 -1
  63. package/dist/commands/scan-vulnerabilities-osv.d.ts.map +1 -1
  64. package/dist/commands/scan-vulnerabilities-osv.js +76 -45
  65. package/dist/commands/scan-vulnerabilities-osv.js.map +1 -1
  66. package/dist/commands/scan-vulnerabilities.d.ts.map +1 -1
  67. package/dist/commands/scan-vulnerabilities.js +82 -21
  68. package/dist/commands/scan-vulnerabilities.js.map +1 -1
  69. package/dist/commands/secrets-allowlist.d.ts.map +1 -1
  70. package/dist/commands/secrets-allowlist.js +12 -11
  71. package/dist/commands/secrets-allowlist.js.map +1 -1
  72. package/dist/fix/analytics.d.ts +121 -0
  73. package/dist/fix/analytics.d.ts.map +1 -0
  74. package/dist/fix/analytics.js +289 -0
  75. package/dist/fix/analytics.js.map +1 -0
  76. package/dist/fix/applicator.d.ts +21 -2
  77. package/dist/fix/applicator.d.ts.map +1 -1
  78. package/dist/fix/applicator.js +109 -6
  79. package/dist/fix/applicator.js.map +1 -1
  80. package/dist/fix/audit.d.ts +61 -0
  81. package/dist/fix/audit.d.ts.map +1 -0
  82. package/dist/fix/audit.js +149 -0
  83. package/dist/fix/audit.js.map +1 -0
  84. package/dist/fix/backup.d.ts +12 -2
  85. package/dist/fix/backup.d.ts.map +1 -1
  86. package/dist/fix/backup.js +53 -4
  87. package/dist/fix/backup.js.map +1 -1
  88. package/dist/fix/config.d.ts +78 -0
  89. package/dist/fix/config.d.ts.map +1 -0
  90. package/dist/fix/config.js +200 -0
  91. package/dist/fix/config.js.map +1 -0
  92. package/dist/fix/engine.d.ts.map +1 -1
  93. package/dist/fix/engine.js +5 -5
  94. package/dist/fix/engine.js.map +1 -1
  95. package/dist/fix/impact.d.ts +74 -0
  96. package/dist/fix/impact.d.ts.map +1 -0
  97. package/dist/fix/impact.js +281 -0
  98. package/dist/fix/impact.js.map +1 -0
  99. package/dist/fix/index.d.ts +3 -0
  100. package/dist/fix/index.d.ts.map +1 -1
  101. package/dist/fix/index.js +7 -1
  102. package/dist/fix/index.js.map +1 -1
  103. package/dist/fix/interactive.d.ts.map +1 -1
  104. package/dist/fix/interactive.js +9 -4
  105. package/dist/fix/interactive.js.map +1 -1
  106. package/dist/fix/learning.d.ts +109 -0
  107. package/dist/fix/learning.d.ts.map +1 -0
  108. package/dist/fix/learning.js +296 -0
  109. package/dist/fix/learning.js.map +1 -0
  110. package/dist/fix/metrics.d.ts +106 -0
  111. package/dist/fix/metrics.d.ts.map +1 -0
  112. package/dist/fix/metrics.js +138 -0
  113. package/dist/fix/metrics.js.map +1 -0
  114. package/dist/fix/parallel.d.ts +69 -0
  115. package/dist/fix/parallel.d.ts.map +1 -0
  116. package/dist/fix/parallel.js +203 -0
  117. package/dist/fix/parallel.js.map +1 -0
  118. package/dist/fix/report.d.ts +40 -0
  119. package/dist/fix/report.d.ts.map +1 -0
  120. package/dist/fix/report.js +212 -0
  121. package/dist/fix/report.js.map +1 -0
  122. package/dist/fix/strategy.d.ts +53 -0
  123. package/dist/fix/strategy.d.ts.map +1 -0
  124. package/dist/fix/strategy.js +143 -0
  125. package/dist/fix/strategy.js.map +1 -0
  126. package/dist/fix/templates.d.ts +58 -0
  127. package/dist/fix/templates.d.ts.map +1 -0
  128. package/dist/fix/templates.js +259 -0
  129. package/dist/fix/templates.js.map +1 -0
  130. package/dist/fix/testing.d.ts +68 -0
  131. package/dist/fix/testing.d.ts.map +1 -0
  132. package/dist/fix/testing.js +245 -0
  133. package/dist/fix/testing.js.map +1 -0
  134. package/dist/fix/validation.d.ts +71 -0
  135. package/dist/fix/validation.d.ts.map +1 -0
  136. package/dist/fix/validation.js +267 -0
  137. package/dist/fix/validation.js.map +1 -0
  138. package/dist/fix/visualization.d.ts +73 -0
  139. package/dist/fix/visualization.d.ts.map +1 -0
  140. package/dist/fix/visualization.js +243 -0
  141. package/dist/fix/visualization.js.map +1 -0
  142. package/dist/formatters/sarif-enhanced.d.ts.map +1 -1
  143. package/dist/formatters/sarif-enhanced.js +15 -7
  144. package/dist/formatters/sarif-enhanced.js.map +1 -1
  145. package/dist/formatters/sarif-v2.d.ts.map +1 -1
  146. package/dist/formatters/sarif-v2.js +82 -46
  147. package/dist/formatters/sarif-v2.js.map +1 -1
  148. package/dist/formatters/sarif.d.ts.map +1 -1
  149. package/dist/formatters/sarif.js +49 -22
  150. package/dist/formatters/sarif.js.map +1 -1
  151. package/dist/index.js +2544 -410
  152. package/dist/index.js.map +1 -1
  153. package/dist/init/ci-generator.d.ts.map +1 -1
  154. package/dist/init/ci-generator.js +186 -180
  155. package/dist/init/ci-generator.js.map +1 -1
  156. package/dist/init/detect-framework.d.ts.map +1 -1
  157. package/dist/init/detect-framework.js +19 -9
  158. package/dist/init/detect-framework.js.map +1 -1
  159. package/dist/init/hooks-installer.d.ts.map +1 -1
  160. package/dist/init/hooks-installer.js +74 -65
  161. package/dist/init/hooks-installer.js.map +1 -1
  162. package/dist/init/index.d.ts +3 -3
  163. package/dist/init/index.d.ts.map +1 -1
  164. package/dist/init/index.js.map +1 -1
  165. package/dist/init/templates.d.ts +10 -10
  166. package/dist/init/templates.d.ts.map +1 -1
  167. package/dist/init/templates.js +9 -4
  168. package/dist/init/templates.js.map +1 -1
  169. package/dist/reality/reality-runner.d.ts.map +1 -1
  170. package/dist/reality/reality-runner.js +23 -7
  171. package/dist/reality/reality-runner.js.map +1 -1
  172. package/dist/runtime/auth-utils.d.ts.map +1 -1
  173. package/dist/runtime/auth-utils.js.map +1 -1
  174. package/dist/runtime/cli-errors.d.ts +38 -0
  175. package/dist/runtime/cli-errors.d.ts.map +1 -0
  176. package/dist/runtime/cli-errors.js +354 -0
  177. package/dist/runtime/cli-errors.js.map +1 -0
  178. package/dist/runtime/client.d.ts.map +1 -1
  179. package/dist/runtime/client.js +27 -10
  180. package/dist/runtime/client.js.map +1 -1
  181. package/dist/runtime/creds.d.ts +5 -0
  182. package/dist/runtime/creds.d.ts.map +1 -1
  183. package/dist/runtime/creds.js +6 -1
  184. package/dist/runtime/creds.js.map +1 -1
  185. package/dist/runtime/exit-codes.d.ts +32 -4
  186. package/dist/runtime/exit-codes.d.ts.map +1 -1
  187. package/dist/runtime/exit-codes.js +42 -14
  188. package/dist/runtime/exit-codes.js.map +1 -1
  189. package/dist/runtime/owner-mode.d.ts +48 -0
  190. package/dist/runtime/owner-mode.d.ts.map +1 -0
  191. package/dist/runtime/owner-mode.js +284 -0
  192. package/dist/runtime/owner-mode.js.map +1 -0
  193. package/dist/runtime/semver.d.ts.map +1 -1
  194. package/dist/runtime/semver.js +5 -2
  195. package/dist/runtime/semver.js.map +1 -1
  196. package/dist/scanner/baseline.d.ts.map +1 -1
  197. package/dist/scanner/baseline.js +3 -3
  198. package/dist/scanner/baseline.js.map +1 -1
  199. package/dist/scanner/incremental.d.ts.map +1 -1
  200. package/dist/scanner/incremental.js +3 -3
  201. package/dist/scanner/incremental.js.map +1 -1
  202. package/dist/scanner/index.d.ts +8 -0
  203. package/dist/scanner/index.d.ts.map +1 -0
  204. package/dist/scanner/index.js +15 -0
  205. package/dist/scanner/index.js.map +1 -0
  206. package/dist/scanner/parallel.d.ts.map +1 -1
  207. package/dist/scanner/parallel.js +29 -8
  208. package/dist/scanner/parallel.js.map +1 -1
  209. package/dist/scanner/placeholder-detector.d.ts +56 -0
  210. package/dist/scanner/placeholder-detector.d.ts.map +1 -0
  211. package/dist/scanner/placeholder-detector.js +220 -0
  212. package/dist/scanner/placeholder-detector.js.map +1 -0
  213. package/dist/scanner/route-detector.d.ts +100 -0
  214. package/dist/scanner/route-detector.d.ts.map +1 -0
  215. package/dist/scanner/route-detector.js +455 -0
  216. package/dist/scanner/route-detector.js.map +1 -0
  217. package/dist/scanner/scoring.d.ts +67 -0
  218. package/dist/scanner/scoring.d.ts.map +1 -0
  219. package/dist/scanner/scoring.js +284 -0
  220. package/dist/scanner/scoring.js.map +1 -0
  221. package/dist/ship-baseline.d.ts +56 -0
  222. package/dist/ship-baseline.d.ts.map +1 -0
  223. package/dist/ship-baseline.js +194 -0
  224. package/dist/ship-baseline.js.map +1 -0
  225. package/dist/ship-config.d.ts +91 -0
  226. package/dist/ship-config.d.ts.map +1 -0
  227. package/dist/ship-config.js +133 -0
  228. package/dist/ship-config.js.map +1 -0
  229. package/dist/ship-data-loader.d.ts +70 -0
  230. package/dist/ship-data-loader.d.ts.map +1 -0
  231. package/dist/ship-data-loader.js +301 -0
  232. package/dist/ship-data-loader.js.map +1 -0
  233. package/dist/ui/frame.d.ts.map +1 -1
  234. package/dist/ui/frame.js +3 -1
  235. package/dist/ui/frame.js.map +1 -1
  236. package/dist/utils/ai-helpers.d.ts +72 -0
  237. package/dist/utils/ai-helpers.d.ts.map +1 -0
  238. package/dist/utils/ai-helpers.js +339 -0
  239. package/dist/utils/ai-helpers.js.map +1 -0
  240. package/dist/utils/validation.d.ts +34 -0
  241. package/dist/utils/validation.d.ts.map +1 -0
  242. package/dist/utils/validation.js +160 -0
  243. package/dist/utils/validation.js.map +1 -0
  244. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"ci-generator.d.ts","sourceRoot":"","sources":["../../src/init/ci-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,CAAC;CACxD;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAsMD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,GAAG,iBAAiB,CAqCjF;AAED,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,GAAG,IAAI,CAchH"}
1
+ {"version":3,"file":"ci-generator.d.ts","sourceRoot":"","sources":["../../src/init/ci-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,CAAC;CACxD;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAmND,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,kBAAkB,GAC1B,iBAAiB,CAqCnB;AAED,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,GAClB,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,GAAG,IAAI,CAcpD"}
@@ -12,191 +12,197 @@ function generateGitHubActionsWorkflow(config) {
12
12
  const useSarif = config.output.format === 'sarif' || config.output.sarifUpload;
13
13
  const runCompliance = config.scans.compliance.enabled;
14
14
  const runSbom = config.scans.sbom?.enabled;
15
- const workflow = `name: Guardrail Security Scan
16
-
17
- on:
18
- push:
19
- branches: [main, master, develop]
20
- pull_request:
21
- branches: [main, master, develop]
22
- workflow_dispatch:
23
-
24
- permissions:
25
- contents: read
26
- security-events: write
27
- actions: read
28
-
29
- jobs:
30
- guardrail-scan:
31
- name: Security Scan
32
- runs-on: ubuntu-latest
33
- steps:
34
- - name: Checkout code
35
- uses: actions/checkout@v4
36
- with:
37
- fetch-depth: 0
38
-
39
- - name: Setup Node.js
40
- uses: actions/setup-node@v4
41
- with:
42
- node-version: '20'
43
- cache: 'npm'
44
-
45
- - name: Install dependencies
46
- run: npm ci --ignore-scripts
47
-
48
- - name: Install Guardrail CLI
49
- run: npm install -g guardrail-cli
50
-
51
- - name: Run Secrets Scan
52
- id: secrets
53
- run: |
54
- guardrail scan:secrets \\
55
- --path . \\
56
- --format ${useSarif ? 'sarif' : 'json'} \\
57
- ${useSarif ? '--output secrets-results.sarif' : '--output secrets-results.json'} \\
58
- --exit-code
59
- env:
60
- GUARDRAIL_API_KEY: \${{ secrets.GUARDRAIL_API_KEY }}
61
- continue-on-error: true
62
-
63
- - name: Run Vulnerability Scan
64
- id: vulns
65
- run: |
66
- guardrail scan:vulnerabilities \\
67
- --path . \\
68
- --format ${useSarif ? 'sarif' : 'json'} \\
69
- ${useSarif ? '--output vuln-results.sarif' : '--output vuln-results.json'} \\
70
- --exit-code
71
- env:
72
- GUARDRAIL_API_KEY: \${{ secrets.GUARDRAIL_API_KEY }}
73
- continue-on-error: true
74
- ${runCompliance ? `
75
- - name: Run Compliance Scan
76
- id: compliance
77
- run: |
78
- guardrail scan:compliance \\
79
- --path . \\
80
- --framework ${config.scans.compliance.frameworks?.[0] || 'soc2'} \\
81
- --format json \\
82
- --output compliance-results.json \\
83
- --exit-code
84
- env:
85
- GUARDRAIL_API_KEY: \${{ secrets.GUARDRAIL_API_KEY }}
86
- continue-on-error: true
87
- ` : ''}${runSbom ? `
88
- - name: Generate SBOM
89
- id: sbom
90
- run: |
91
- guardrail sbom:generate \\
92
- --path . \\
93
- --format cyclonedx \\
94
- --output sbom.json
95
- env:
96
- GUARDRAIL_API_KEY: \${{ secrets.GUARDRAIL_API_KEY }}
97
- continue-on-error: true
98
- ` : ''}
99
- - name: Run Ship Check
100
- id: ship
101
- run: |
102
- guardrail ship \\
103
- --path . \\
104
- --format json \\
105
- --output ship-results.json
106
- env:
107
- GUARDRAIL_API_KEY: \${{ secrets.GUARDRAIL_API_KEY }}
108
- continue-on-error: true
109
- ${useSarif ? `
110
- - name: Upload Secrets SARIF to GitHub Security
111
- uses: github/codeql-action/upload-sarif@v3
112
- if: always() && hashFiles('secrets-results.sarif') != ''
113
- with:
114
- sarif_file: secrets-results.sarif
115
- category: guardrail-secrets
116
-
117
- - name: Upload Vulnerability SARIF to GitHub Security
118
- uses: github/codeql-action/upload-sarif@v3
119
- if: always() && hashFiles('vuln-results.sarif') != ''
120
- with:
121
- sarif_file: vuln-results.sarif
122
- category: guardrail-vulnerabilities
123
- ` : ''}
124
- - name: Upload Scan Artifacts
125
- uses: actions/upload-artifact@v4
126
- if: always()
127
- with:
128
- name: guardrail-results
129
- path: |
130
- *-results.json
131
- *-results.sarif
132
- sbom.json
133
- retention-days: 30
134
-
135
- - name: Check Scan Results
136
- run: |
137
- echo "=== Guardrail Security Scan Summary ==="
138
-
139
- if [ -f ship-results.json ]; then
140
- VERDICT=$(cat ship-results.json | jq -r '.verdict // "unknown"')
141
- SCORE=$(cat ship-results.json | jq -r '.score // "N/A"')
142
- echo "Ship Status: $VERDICT (Score: $SCORE)"
143
- fi
144
-
145
- # Fail the workflow if critical issues were found
146
- FAILED=false
147
-
148
- if [ "\${{ steps.secrets.outcome }}" == "failure" ]; then
149
- echo "❌ Secrets scan found issues"
150
- FAILED=true
151
- else
152
- echo "✅ Secrets scan passed"
153
- fi
154
-
155
- if [ "\${{ steps.vulns.outcome }}" == "failure" ]; then
156
- echo "❌ Vulnerability scan found issues"
157
- FAILED=true
158
- else
159
- echo "✅ Vulnerability scan passed"
160
- fi
161
-
162
- if [ "$FAILED" == "true" ]; then
163
- echo ""
164
- echo "Security issues detected. Please review the scan results."
165
- exit 1
166
- fi
167
-
168
- echo ""
169
- echo "All security checks passed! ✅"
15
+ const workflow = `name: Guardrail Security Scan
16
+
17
+ on:
18
+ push:
19
+ branches: [main, master, develop]
20
+ pull_request:
21
+ branches: [main, master, develop]
22
+ workflow_dispatch:
23
+
24
+ permissions:
25
+ contents: read
26
+ security-events: write
27
+ actions: read
28
+
29
+ jobs:
30
+ guardrail-scan:
31
+ name: Security Scan
32
+ runs-on: ubuntu-latest
33
+ steps:
34
+ - name: Checkout code
35
+ uses: actions/checkout@v4
36
+ with:
37
+ fetch-depth: 0
38
+
39
+ - name: Setup Node.js
40
+ uses: actions/setup-node@v4
41
+ with:
42
+ node-version: '20'
43
+ cache: 'npm'
44
+
45
+ - name: Install dependencies
46
+ run: npm ci --ignore-scripts
47
+
48
+ - name: Install Guardrail CLI
49
+ run: npm install -g guardrail-cli
50
+
51
+ - name: Run Secrets Scan
52
+ id: secrets
53
+ run: |
54
+ guardrail scan:secrets \\
55
+ --path . \\
56
+ --format ${useSarif ? 'sarif' : 'json'} \\
57
+ ${useSarif ? '--output secrets-results.sarif' : '--output secrets-results.json'} \\
58
+ --exit-code
59
+ env:
60
+ GUARDRAIL_API_KEY: \${{ secrets.GUARDRAIL_API_KEY }}
61
+ continue-on-error: true
62
+
63
+ - name: Run Vulnerability Scan
64
+ id: vulns
65
+ run: |
66
+ guardrail scan:vulnerabilities \\
67
+ --path . \\
68
+ --format ${useSarif ? 'sarif' : 'json'} \\
69
+ ${useSarif ? '--output vuln-results.sarif' : '--output vuln-results.json'} \\
70
+ --exit-code
71
+ env:
72
+ GUARDRAIL_API_KEY: \${{ secrets.GUARDRAIL_API_KEY }}
73
+ continue-on-error: true
74
+ ${runCompliance
75
+ ? `
76
+ - name: Run Compliance Scan
77
+ id: compliance
78
+ run: |
79
+ guardrail scan:compliance \\
80
+ --path . \\
81
+ --framework ${config.scans.compliance.frameworks?.[0] || 'soc2'} \\
82
+ --format json \\
83
+ --output compliance-results.json \\
84
+ --exit-code
85
+ env:
86
+ GUARDRAIL_API_KEY: \${{ secrets.GUARDRAIL_API_KEY }}
87
+ continue-on-error: true
88
+ `
89
+ : ''}${runSbom
90
+ ? `
91
+ - name: Generate SBOM
92
+ id: sbom
93
+ run: |
94
+ guardrail sbom:generate \\
95
+ --path . \\
96
+ --format cyclonedx \\
97
+ --output sbom.json
98
+ env:
99
+ GUARDRAIL_API_KEY: \${{ secrets.GUARDRAIL_API_KEY }}
100
+ continue-on-error: true
101
+ `
102
+ : ''}
103
+ - name: Run Ship Check
104
+ id: ship
105
+ run: |
106
+ guardrail ship \\
107
+ --path . \\
108
+ --format json \\
109
+ --output ship-results.json
110
+ env:
111
+ GUARDRAIL_API_KEY: \${{ secrets.GUARDRAIL_API_KEY }}
112
+ continue-on-error: true
113
+ ${useSarif
114
+ ? `
115
+ - name: Upload Secrets SARIF to GitHub Security
116
+ uses: github/codeql-action/upload-sarif@v3
117
+ if: always() && hashFiles('secrets-results.sarif') != ''
118
+ with:
119
+ sarif_file: secrets-results.sarif
120
+ category: guardrail-secrets
121
+
122
+ - name: Upload Vulnerability SARIF to GitHub Security
123
+ uses: github/codeql-action/upload-sarif@v3
124
+ if: always() && hashFiles('vuln-results.sarif') != ''
125
+ with:
126
+ sarif_file: vuln-results.sarif
127
+ category: guardrail-vulnerabilities
128
+ `
129
+ : ''}
130
+ - name: Upload Scan Artifacts
131
+ uses: actions/upload-artifact@v4
132
+ if: always()
133
+ with:
134
+ name: guardrail-results
135
+ path: |
136
+ *-results.json
137
+ *-results.sarif
138
+ sbom.json
139
+ retention-days: 30
140
+
141
+ - name: Check Scan Results
142
+ run: |
143
+ echo "=== Guardrail Security Scan Summary ==="
144
+
145
+ if [ -f ship-results.json ]; then
146
+ VERDICT=$(cat ship-results.json | jq -r '.verdict // "unknown"')
147
+ SCORE=$(cat ship-results.json | jq -r '.score // "N/A"')
148
+ echo "Ship Status: $VERDICT (Score: $SCORE)"
149
+ fi
150
+
151
+ # Fail the workflow if critical issues were found
152
+ FAILED=false
153
+
154
+ if [ "\${{ steps.secrets.outcome }}" == "failure" ]; then
155
+ echo " Secrets scan found issues"
156
+ FAILED=true
157
+ else
158
+ echo "✅ Secrets scan passed"
159
+ fi
160
+
161
+ if [ "\${{ steps.vulns.outcome }}" == "failure" ]; then
162
+ echo " Vulnerability scan found issues"
163
+ FAILED=true
164
+ else
165
+ echo "✅ Vulnerability scan passed"
166
+ fi
167
+
168
+ if [ "$FAILED" == "true" ]; then
169
+ echo ""
170
+ echo "Security issues detected. Please review the scan results."
171
+ exit 1
172
+ fi
173
+
174
+ echo ""
175
+ echo "All security checks passed! ✅"
170
176
  `;
171
177
  return workflow;
172
178
  }
173
179
  function generateGitLabCI(config) {
174
180
  const runCompliance = config.scans.compliance.enabled;
175
- return `stages:
176
- - security
177
-
178
- guardrail-scan:
179
- stage: security
180
- image: node:20-alpine
181
- before_script:
182
- - npm ci --ignore-scripts
183
- - npm install -g guardrail-cli
184
- script:
185
- - guardrail scan:secrets --path . --format json --output secrets-results.json --exit-code || true
186
- - guardrail scan:vulnerabilities --path . --format json --output vuln-results.json --exit-code || true
187
- ${runCompliance ? ` - guardrail scan:compliance --path . --framework ${config.scans.compliance.frameworks?.[0] || 'soc2'} --format json --output compliance-results.json || true` : ''}
188
- - guardrail ship --path . --format json --output ship-results.json
189
- artifacts:
190
- paths:
191
- - "*-results.json"
192
- reports:
193
- sast: secrets-results.json
194
- expire_in: 30 days
195
- variables:
196
- GUARDRAIL_API_KEY: $GUARDRAIL_API_KEY
197
- rules:
198
- - if: $CI_PIPELINE_SOURCE == "merge_request_event"
199
- - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
181
+ return `stages:
182
+ - security
183
+
184
+ guardrail-scan:
185
+ stage: security
186
+ image: node:20-alpine
187
+ before_script:
188
+ - npm ci --ignore-scripts
189
+ - npm install -g guardrail-cli
190
+ script:
191
+ - guardrail scan:secrets --path . --format json --output secrets-results.json --exit-code || true
192
+ - guardrail scan:vulnerabilities --path . --format json --output vuln-results.json --exit-code || true
193
+ ${runCompliance ? ` - guardrail scan:compliance --path . --framework ${config.scans.compliance.frameworks?.[0] || 'soc2'} --format json --output compliance-results.json || true` : ''}
194
+ - guardrail ship --path . --format json --output ship-results.json
195
+ artifacts:
196
+ paths:
197
+ - "*-results.json"
198
+ reports:
199
+ sast: secrets-results.json
200
+ expire_in: 30 days
201
+ variables:
202
+ GUARDRAIL_API_KEY: $GUARDRAIL_API_KEY
203
+ rules:
204
+ - if: $CI_PIPELINE_SOURCE == "merge_request_event"
205
+ - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
200
206
  `;
201
207
  }
202
208
  function generateCIWorkflow(options) {
@@ -1 +1 @@
1
- {"version":3,"file":"ci-generator.js","sourceRoot":"","sources":["../../src/init/ci-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ci-generator.js","sourceRoot":"","sources":["../../src/init/ci-generator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"detect-framework.d.ts","sourceRoot":"","sources":["../../src/init/detect-framework.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,MAAM,iBAAiB,GACzB,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,SAAS,GACT,OAAO,GACP,YAAY,GACZ,SAAS,CAAC;AAEd,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,iBAAiB,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACtC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;CACzB;AA+QD,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,wBAAwB,CAsC7E;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,iBAAiB,GAAG,MAAM,CAWxE"}
1
+ {"version":3,"file":"detect-framework.d.ts","sourceRoot":"","sources":["../../src/init/detect-framework.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,MAAM,iBAAiB,GACzB,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,SAAS,GACT,OAAO,GACP,YAAY,GACZ,SAAS,CAAC;AAEd,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,iBAAiB,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACtC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;CACzB;AA6UD,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,wBAAwB,CA2C7E;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,iBAAiB,GAAG,MAAM,CAWxE"}
@@ -32,7 +32,7 @@ function hasFile(projectPath, ...patterns) {
32
32
  const filePattern = pattern.split('/').pop()?.replace('*', '') || '';
33
33
  try {
34
34
  const files = (0, fs_1.readdirSync)(dir);
35
- if (files.some(f => f.includes(filePattern.replace('*', '')))) {
35
+ if (files.some((f) => f.includes(filePattern.replace('*', '')))) {
36
36
  return true;
37
37
  }
38
38
  }
@@ -63,7 +63,7 @@ function hasFilePattern(projectPath, dir, pattern) {
63
63
  return false;
64
64
  try {
65
65
  const files = (0, fs_1.readdirSync)(dirPath);
66
- return files.some(f => pattern.test(f));
66
+ return files.some((f) => pattern.test(f));
67
67
  }
68
68
  catch {
69
69
  return false;
@@ -80,7 +80,8 @@ function detectNextJS(projectPath, pkg) {
80
80
  signals.push('next.config.* file found');
81
81
  confidence = 'high';
82
82
  }
83
- if (hasDirectory(projectPath, 'app') && hasFile(projectPath, 'app/layout.tsx', 'app/layout.js', 'app/page.tsx', 'app/page.js')) {
83
+ if (hasDirectory(projectPath, 'app') &&
84
+ hasFile(projectPath, 'app/layout.tsx', 'app/layout.js', 'app/page.tsx', 'app/page.js')) {
84
85
  signals.push('Next.js app directory structure detected');
85
86
  if (confidence !== 'high')
86
87
  confidence = 'medium';
@@ -89,7 +90,10 @@ function detectNextJS(projectPath, pkg) {
89
90
  const pagesPath = (0, path_1.join)(projectPath, 'pages');
90
91
  try {
91
92
  const files = (0, fs_1.readdirSync)(pagesPath);
92
- if (files.some(f => f.endsWith('.tsx') || f.endsWith('.jsx') || f === '_app.js' || f === '_app.tsx')) {
93
+ if (files.some((f) => f.endsWith('.tsx') ||
94
+ f.endsWith('.jsx') ||
95
+ f === '_app.js' ||
96
+ f === '_app.tsx')) {
93
97
  signals.push('Next.js pages directory structure detected');
94
98
  if (confidence !== 'high')
95
99
  confidence = 'medium';
@@ -124,7 +128,8 @@ function detectExpress(projectPath, pkg) {
124
128
  if (confidence !== 'high')
125
129
  confidence = 'medium';
126
130
  }
127
- if (hasDirectory(projectPath, 'routes') || hasDirectory(projectPath, 'src/routes')) {
131
+ if (hasDirectory(projectPath, 'routes') ||
132
+ hasDirectory(projectPath, 'src/routes')) {
128
133
  signals.push('routes directory detected');
129
134
  if (confidence !== 'high')
130
135
  confidence = 'low';
@@ -177,7 +182,8 @@ function detectFastify(projectPath, pkg) {
177
182
  signals.push('fastify dependency found in package.json');
178
183
  confidence = 'high';
179
184
  }
180
- if (hasDependency(pkg, '@fastify/autoload') || hasDependency(pkg, 'fastify-plugin')) {
185
+ if (hasDependency(pkg, '@fastify/autoload') ||
186
+ hasDependency(pkg, 'fastify-plugin')) {
181
187
  signals.push('Fastify ecosystem packages detected');
182
188
  if (confidence !== 'high')
183
189
  confidence = 'medium';
@@ -195,7 +201,8 @@ function detectFastify(projectPath, pkg) {
195
201
  function detectRemix(projectPath, pkg) {
196
202
  const signals = [];
197
203
  let confidence = 'low';
198
- if (hasDependency(pkg, '@remix-run/node') || hasDependency(pkg, '@remix-run/react')) {
204
+ if (hasDependency(pkg, '@remix-run/node') ||
205
+ hasDependency(pkg, '@remix-run/react')) {
199
206
  signals.push('@remix-run packages found in package.json');
200
207
  confidence = 'high';
201
208
  }
@@ -236,7 +243,8 @@ function detectViteReact(projectPath, pkg) {
236
243
  confidence = 'medium';
237
244
  }
238
245
  }
239
- if (hasDependency(pkg, '@vitejs/plugin-react') || hasDependency(pkg, '@vitejs/plugin-react-swc')) {
246
+ if (hasDependency(pkg, '@vitejs/plugin-react') ||
247
+ hasDependency(pkg, '@vitejs/plugin-react-swc')) {
240
248
  signals.push('Vite React plugin detected');
241
249
  confidence = 'high';
242
250
  }
@@ -265,7 +273,9 @@ function detectFramework(projectPath) {
265
273
  for (const detector of detectors) {
266
274
  const result = detector(projectPath, pkg);
267
275
  if (result) {
268
- if (!bestMatch || confidenceOrder[result.confidence] > confidenceOrder[bestMatch.confidence]) {
276
+ if (!bestMatch ||
277
+ confidenceOrder[result.confidence] >
278
+ confidenceOrder[bestMatch.confidence]) {
269
279
  bestMatch = result;
270
280
  }
271
281
  if (result.confidence === 'high') {
@@ -1 +1 @@
1
- {"version":3,"file":"detect-framework.js","sourceRoot":"","sources":["../../src/init/detect-framework.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detect-framework.js","sourceRoot":"","sources":["../../src/init/detect-framework.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hooks-installer.d.ts","sourceRoot":"","sources":["../../src/init/hooks-installer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,UAAU,CAAC;AAE9C,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;IACnB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAgMD,wBAAgB,YAAY,CAAC,OAAO,EAAE,qBAAqB,GAAG,oBAAoB,CAqHjF;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,CAkBpE"}
1
+ {"version":3,"file":"hooks-installer.d.ts","sourceRoot":"","sources":["../../src/init/hooks-installer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,UAAU,CAAC;AAE9C,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;IACnB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA6ND,wBAAgB,YAAY,CAC1B,OAAO,EAAE,qBAAqB,GAC7B,oBAAoB,CAwHtB;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,CAkBpE"}