projscan 4.9.3 → 4.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +49 -8
- package/dist/analyzers/securityCheck.js +33 -15
- package/dist/analyzers/securityCheck.js.map +1 -1
- package/dist/analyzers/supplyChainCheck.js +9 -2
- package/dist/analyzers/supplyChainCheck.js.map +1 -1
- package/dist/cli/commands/assess.d.ts +3 -0
- package/dist/cli/commands/assess.js +143 -0
- package/dist/cli/commands/assess.js.map +1 -0
- package/dist/cli/commands/bugHunt.js +3 -1
- package/dist/cli/commands/bugHunt.js.map +1 -1
- package/dist/cli/commands/ci.js +29 -13
- package/dist/cli/commands/ci.js.map +1 -1
- package/dist/cli/commands/dogfood.js +2 -0
- package/dist/cli/commands/dogfood.js.map +1 -1
- package/dist/cli/commands/feedback.js +21 -2
- package/dist/cli/commands/feedback.js.map +1 -1
- package/dist/cli/commands/init.js +3 -0
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/route.js +3 -2
- package/dist/cli/commands/route.js.map +1 -1
- package/dist/cli/commands/simulate.d.ts +3 -0
- package/dist/cli/commands/simulate.js +125 -0
- package/dist/cli/commands/simulate.js.map +1 -0
- package/dist/cli/registerCommands.js +4 -0
- package/dist/cli/registerCommands.js.map +1 -1
- package/dist/core/adoption.js +50 -21
- package/dist/core/adoption.js.map +1 -1
- package/dist/core/agentBrief.js +2 -1
- package/dist/core/agentBrief.js.map +1 -1
- package/dist/core/assess.d.ts +9 -0
- package/dist/core/assess.js +119 -0
- package/dist/core/assess.js.map +1 -0
- package/dist/core/bugHunt.js +51 -22
- package/dist/core/bugHunt.js.map +1 -1
- package/dist/core/bugHuntHotspotFindings.js +2 -1
- package/dist/core/bugHuntHotspotFindings.js.map +1 -1
- package/dist/core/ciGate.d.ts +10 -0
- package/dist/core/ciGate.js +21 -0
- package/dist/core/ciGate.js.map +1 -0
- package/dist/core/dogfood.d.ts +1 -0
- package/dist/core/dogfood.js +42 -20
- package/dist/core/dogfood.js.map +1 -1
- package/dist/core/dogfoodDiscovery.d.ts +8 -0
- package/dist/core/dogfoodDiscovery.js +119 -0
- package/dist/core/dogfoodDiscovery.js.map +1 -0
- package/dist/core/feedback.js +73 -5
- package/dist/core/feedback.js.map +1 -1
- package/dist/core/fileInspectionReport.js +37 -0
- package/dist/core/fileInspectionReport.js.map +1 -1
- package/dist/core/intentRouterArchitectureKeywordWeights.d.ts +1 -0
- package/dist/core/intentRouterArchitectureKeywordWeights.js +69 -0
- package/dist/core/intentRouterArchitectureKeywordWeights.js.map +1 -0
- package/dist/core/intentRouterCatalog.js +85 -31
- package/dist/core/intentRouterCatalog.js.map +1 -1
- package/dist/core/intentRouterDependencyKeywordWeights.d.ts +1 -0
- package/dist/core/intentRouterDependencyKeywordWeights.js +100 -0
- package/dist/core/intentRouterDependencyKeywordWeights.js.map +1 -0
- package/dist/core/intentRouterFileImpactKeywordWeights.d.ts +1 -0
- package/dist/core/intentRouterFileImpactKeywordWeights.js +92 -0
- package/dist/core/intentRouterFileImpactKeywordWeights.js.map +1 -0
- package/dist/core/intentRouterKeywordEarlyGuards.js +8 -3
- package/dist/core/intentRouterKeywordEarlyGuards.js.map +1 -1
- package/dist/core/intentRouterKeywordSearchGuards.js +28 -24
- package/dist/core/intentRouterKeywordSearchGuards.js.map +1 -1
- package/dist/core/intentRouterKeywordToolGuards.js +43 -0
- package/dist/core/intentRouterKeywordToolGuards.js.map +1 -1
- package/dist/core/intentRouterKeywordWeights.js +40 -1222
- package/dist/core/intentRouterKeywordWeights.js.map +1 -1
- package/dist/core/intentRouterOperationalKeywordWeights.d.ts +1 -0
- package/dist/core/intentRouterOperationalKeywordWeights.js +203 -0
- package/dist/core/intentRouterOperationalKeywordWeights.js.map +1 -0
- package/dist/core/intentRouterPlanningSignals.js +4 -1
- package/dist/core/intentRouterPlanningSignals.js.map +1 -1
- package/dist/core/intentRouterPrDiffKeywords.d.ts +4 -0
- package/dist/core/intentRouterPrDiffKeywords.js +64 -0
- package/dist/core/intentRouterPrDiffKeywords.js.map +1 -0
- package/dist/core/intentRouterPrDiffSignals.js +6 -0
- package/dist/core/intentRouterPrDiffSignals.js.map +1 -1
- package/dist/core/intentRouterProductImprovementSignals.d.ts +1 -0
- package/dist/core/intentRouterProductImprovementSignals.js +48 -0
- package/dist/core/intentRouterProductImprovementSignals.js.map +1 -0
- package/dist/core/intentRouterRegressionKeywordMatches.js +3 -0
- package/dist/core/intentRouterRegressionKeywordMatches.js.map +1 -1
- package/dist/core/intentRouterRegressionKeywordWeights.d.ts +1 -0
- package/dist/core/intentRouterRegressionKeywordWeights.js +118 -0
- package/dist/core/intentRouterRegressionKeywordWeights.js.map +1 -0
- package/dist/core/intentRouterReleaseSignals.d.ts +1 -0
- package/dist/core/intentRouterReleaseSignals.js +47 -0
- package/dist/core/intentRouterReleaseSignals.js.map +1 -1
- package/dist/core/intentRouterReviewSignals.d.ts +1 -0
- package/dist/core/intentRouterReviewSignals.js +23 -1
- package/dist/core/intentRouterReviewSignals.js.map +1 -1
- package/dist/core/intentRouterSearchKeywordWeights.d.ts +1 -0
- package/dist/core/intentRouterSearchKeywordWeights.js +407 -0
- package/dist/core/intentRouterSearchKeywordWeights.js.map +1 -0
- package/dist/core/intentRouterSecurityKeywordWeights.d.ts +1 -0
- package/dist/core/intentRouterSecurityKeywordWeights.js +50 -0
- package/dist/core/intentRouterSecurityKeywordWeights.js.map +1 -0
- package/dist/core/intentRouterTrustFeedbackKeywordWeights.d.ts +1 -0
- package/dist/core/intentRouterTrustFeedbackKeywordWeights.js +222 -0
- package/dist/core/intentRouterTrustFeedbackKeywordWeights.js.map +1 -0
- package/dist/core/intentRouterUnderstandSignals.js +1 -0
- package/dist/core/intentRouterUnderstandSignals.js.map +1 -1
- package/dist/core/intentRouterWorkSignals.js +3 -0
- package/dist/core/intentRouterWorkSignals.js.map +1 -1
- package/dist/core/intentRouterWorkflowKeywordWeights.d.ts +1 -0
- package/dist/core/intentRouterWorkflowKeywordWeights.js +124 -0
- package/dist/core/intentRouterWorkflowKeywordWeights.js.map +1 -0
- package/dist/core/issueEngine.js +46 -2
- package/dist/core/issueEngine.js.map +1 -1
- package/dist/core/memory.d.ts +2 -0
- package/dist/core/memory.js +33 -1
- package/dist/core/memory.js.map +1 -1
- package/dist/core/preflightChangedFiles.d.ts +3 -0
- package/dist/core/preflightChangedFiles.js +13 -0
- package/dist/core/preflightChangedFiles.js.map +1 -1
- package/dist/core/preflightEvidence.d.ts +3 -0
- package/dist/core/preflightEvidence.js +3 -0
- package/dist/core/preflightEvidence.js.map +1 -1
- package/dist/core/privacy.d.ts +2 -0
- package/dist/core/privacy.js +10 -0
- package/dist/core/privacy.js.map +1 -1
- package/dist/core/proofCards.d.ts +10 -0
- package/dist/core/proofCards.js +222 -0
- package/dist/core/proofCards.js.map +1 -0
- package/dist/core/qualityScorecard.js +25 -13
- package/dist/core/qualityScorecard.js.map +1 -1
- package/dist/core/riskDelta.d.ts +19 -0
- package/dist/core/riskDelta.js +77 -0
- package/dist/core/riskDelta.js.map +1 -0
- package/dist/core/simulate.d.ts +6 -0
- package/dist/core/simulate.js +298 -0
- package/dist/core/simulate.js.map +1 -0
- package/dist/core/startEvidence.js +26 -1
- package/dist/core/startEvidence.js.map +1 -1
- package/dist/core/startFixedRouteCriteria.js +5 -0
- package/dist/core/startFixedRouteCriteria.js.map +1 -1
- package/dist/core/startInputs.d.ts +3 -0
- package/dist/core/startMissionPolicy.d.ts +1 -1
- package/dist/core/startMissionPolicy.js +18 -7
- package/dist/core/startMissionPolicy.js.map +1 -1
- package/dist/core/startMode.js +17 -4
- package/dist/core/startMode.js.map +1 -1
- package/dist/core/startReportBuilder.js +1 -1
- package/dist/core/startReportBuilder.js.map +1 -1
- package/dist/core/startReviewGate.js +26 -4
- package/dist/core/startReviewGate.js.map +1 -1
- package/dist/core/startRouteActions.js +6 -0
- package/dist/core/startRouteActions.js.map +1 -1
- package/dist/core/understand.js +60 -13
- package/dist/core/understand.js.map +1 -1
- package/dist/core/workplan.js +99 -17
- package/dist/core/workplan.js.map +1 -1
- package/dist/mcp/toolCatalog.js +4 -0
- package/dist/mcp/toolCatalog.js.map +1 -1
- package/dist/mcp/tools/assess.d.ts +2 -0
- package/dist/mcp/tools/assess.js +42 -0
- package/dist/mcp/tools/assess.js.map +1 -0
- package/dist/mcp/tools/simulate.d.ts +2 -0
- package/dist/mcp/tools/simulate.js +32 -0
- package/dist/mcp/tools/simulate.js.map +1 -0
- package/dist/projscan-sbom.cdx.json +6 -6
- package/dist/publicCore.d.ts +2 -0
- package/dist/publicCore.js +2 -0
- package/dist/publicCore.js.map +1 -1
- package/dist/reporters/ciIssueDetails.d.ts +10 -0
- package/dist/reporters/ciIssueDetails.js +37 -0
- package/dist/reporters/ciIssueDetails.js.map +1 -0
- package/dist/reporters/consoleCiReporter.d.ts +2 -1
- package/dist/reporters/consoleCiReporter.js +26 -9
- package/dist/reporters/consoleCiReporter.js.map +1 -1
- package/dist/reporters/consoleFileReporter.js +10 -0
- package/dist/reporters/consoleFileReporter.js.map +1 -1
- package/dist/reporters/consoleHealthReporter.js +3 -1
- package/dist/reporters/consoleHealthReporter.js.map +1 -1
- package/dist/reporters/jsonReporter.d.ts +2 -1
- package/dist/reporters/jsonReporter.js +17 -10
- package/dist/reporters/jsonReporter.js.map +1 -1
- package/dist/reporters/markdownFileReporter.js +11 -0
- package/dist/reporters/markdownFileReporter.js.map +1 -1
- package/dist/reporters/markdownHealthReporter.d.ts +2 -1
- package/dist/reporters/markdownHealthReporter.js +5 -5
- package/dist/reporters/markdownHealthReporter.js.map +1 -1
- package/dist/reporters/scoreBreakdownReporter.d.ts +2 -0
- package/dist/reporters/scoreBreakdownReporter.js +24 -0
- package/dist/reporters/scoreBreakdownReporter.js.map +1 -0
- package/dist/tool-manifest.json +52 -3
- package/dist/types/analysis.d.ts +21 -1
- package/dist/types/assess.d.ts +91 -0
- package/dist/types/assess.js +2 -0
- package/dist/types/assess.js.map +1 -0
- package/dist/types/bugHunt.d.ts +3 -0
- package/dist/types/config.d.ts +9 -0
- package/dist/types/dogfood.d.ts +15 -1
- package/dist/types/inspection.d.ts +3 -0
- package/dist/types/preflight.d.ts +3 -0
- package/dist/types/simulate.d.ts +41 -0
- package/dist/types/simulate.js +2 -0
- package/dist/types/simulate.js.map +1 -0
- package/dist/types/startMissionControl.d.ts +3 -0
- package/dist/types/startMissionReview.d.ts +2 -0
- package/dist/types/workplan.d.ts +1 -0
- package/dist/types.d.ts +2 -0
- package/dist/utils/ciFailOn.d.ts +5 -0
- package/dist/utils/ciFailOn.js +12 -0
- package/dist/utils/ciFailOn.js.map +1 -0
- package/dist/utils/config.js +3 -1
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/configBasics.d.ts +2 -0
- package/dist/utils/configBasics.js +21 -0
- package/dist/utils/configBasics.js.map +1 -1
- package/dist/utils/configIssueRules.js +64 -0
- package/dist/utils/configIssueRules.js.map +1 -1
- package/dist/utils/formatSupport.d.ts +2 -0
- package/dist/utils/formatSupport.js +2 -0
- package/dist/utils/formatSupport.js.map +1 -1
- package/dist/utils/scoreCalculator.js +77 -16
- package/dist/utils/scoreCalculator.js.map +1 -1
- package/docs/GUIDE.md +55 -7
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -24,8 +24,9 @@ Use projscan when an agent asks one of these questions:
|
|
|
24
24
|
- Which files should I read before changing this feature?
|
|
25
25
|
- Which proof commands should I run before handoff?
|
|
26
26
|
- Which risks need fixes, reviewer attention, or release sign-off?
|
|
27
|
+
- What is actually risky, and what should I fix first?
|
|
27
28
|
|
|
28
|
-
projscan runs core scans on your machine. It respects `.gitignore`, keeps `.env` values out of scans unless you opt in, and exposes the same evidence through a CLI and a
|
|
29
|
+
projscan runs core scans on your machine. It respects `.gitignore`, keeps `.env` values out of scans unless you opt in, and exposes the same evidence through a CLI and a 47-tool MCP server. The language layer uses 11 AST adapters covering 12 named languages.
|
|
29
30
|
|
|
30
31
|
## Install
|
|
31
32
|
|
|
@@ -89,6 +90,20 @@ You get read-only readiness evidence. projscan reports fixes and sign-off gates;
|
|
|
89
90
|
|
|
90
91
|
Success criteria: release review separates concrete defects from human approval gates before anyone tags or publishes.
|
|
91
92
|
|
|
93
|
+
### Weekly proof-first assessment
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
projscan assess --goal "make this repo safer to ship this week"
|
|
97
|
+
projscan assess --mode fix-first --format markdown
|
|
98
|
+
projscan simulate --plan "split bugHunt.ts into ranking, evidence, and output modules"
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
You get Proof Cards: each recommendation carries local evidence, impact, a safe change shape, verification commands, feedback or suppression guidance, and a risk delta. Add `--baseline previous-assess.json` to compare the current risk delta against a prior run. `assess` composes existing quality, bug-hunt, and preflight evidence; it does not release, tag, publish, or deploy.
|
|
102
|
+
|
|
103
|
+
Use the risk delta simulator before a refactor or extraction. It predicts likely touched files, affected tests, contract surfaces, rollout steps, proof commands, and before/after risk from local evidence. It is read-only: it does not edit files, run the plan, release, tag, publish, or deploy.
|
|
104
|
+
|
|
105
|
+
Success criteria: the team sees the one or two highest-value fixes, why they matter, how to prove them, and whether ship-readiness still needs caution or review.
|
|
106
|
+
|
|
92
107
|
## Mission Control
|
|
93
108
|
|
|
94
109
|
`projscan start --intent "<goal>"` turns a plain-language goal into an execution plan:
|
|
@@ -128,13 +143,13 @@ npm run docs:screenshots
|
|
|
128
143
|
npm run docs:demos
|
|
129
144
|
```
|
|
130
145
|
|
|
131
|
-
## 4.
|
|
146
|
+
## 4.11.0 Notes
|
|
132
147
|
|
|
133
|
-
4.
|
|
148
|
+
4.11.0 is the proof-first engineering command center release:
|
|
134
149
|
|
|
135
|
-
-
|
|
136
|
-
-
|
|
137
|
-
-
|
|
150
|
+
- `projscan assess` turns quality, bug-hunt, and preflight evidence into Proof Cards with fix-first guidance and risk delta.
|
|
151
|
+
- `projscan simulate --plan "<change plan>"` predicts likely files, tests, contracts, rollout, proof commands, and before/after risk before editing.
|
|
152
|
+
- MCP now exposes 47 tools, including `projscan_assess` and `projscan_simulate`.
|
|
138
153
|
|
|
139
154
|
## MCP Setup
|
|
140
155
|
|
|
@@ -174,6 +189,8 @@ npx -y projscan mcp --watch
|
|
|
174
189
|
| Who imports this file? | `projscan semantic-graph --query importers --file src/auth/jwt.ts --format json` |
|
|
175
190
|
| What breaks if I rename this symbol? | `projscan impact --symbol buildCodeGraph --format json` |
|
|
176
191
|
| What should I fix first? | `projscan bug-hunt --format json` |
|
|
192
|
+
| What is risky and worth fixing this week? | `projscan assess --goal "make this repo safer to ship this week"` |
|
|
193
|
+
| Is this refactor worth doing? | `projscan simulate --plan "split bugHunt.ts into ranking, evidence, and output modules"` |
|
|
177
194
|
| Which files have high risk and low coverage? | `projscan coverage --format json` |
|
|
178
195
|
| What should my agent do next? | `projscan workplan --format json` |
|
|
179
196
|
| Which proof belongs in this PR? | `projscan evidence-pack --pr-comment` |
|
|
@@ -186,6 +203,8 @@ npx -y projscan mcp --watch
|
|
|
186
203
|
| `projscan start` | first-60-seconds orientation, routing, and Mission Control |
|
|
187
204
|
| `projscan understand` | cited repo map, runtime flows, public contracts, and change readiness |
|
|
188
205
|
| `projscan preflight` | proceed, caution, or block gate for edit, commit, or merge |
|
|
206
|
+
| `projscan assess` | proof-first assessment with Proof Cards, risk delta, and fix-first guidance |
|
|
207
|
+
| `projscan simulate` | risk delta simulator for a proposed change plan before editing |
|
|
189
208
|
| `projscan evidence-pack` | PR-ready proof with risks, owners, and next commands |
|
|
190
209
|
| `projscan bug-hunt` | ranked fix queue from health, hotspots, session, and preflight evidence |
|
|
191
210
|
| `projscan workplan` | ordered agent tasks with proof and handoff text |
|
|
@@ -238,6 +257,7 @@ Create a `.projscanrc.json` when repo defaults should live in source control:
|
|
|
238
257
|
```json
|
|
239
258
|
{
|
|
240
259
|
"minScore": 80,
|
|
260
|
+
"failOn": "warning",
|
|
241
261
|
"baseRef": "origin/main",
|
|
242
262
|
"ignore": ["**/fixtures/**", "**/generated/**"],
|
|
243
263
|
"scan": {
|
|
@@ -246,6 +266,9 @@ Create a `.projscanrc.json` when repo defaults should live in source control:
|
|
|
246
266
|
"offline": false
|
|
247
267
|
},
|
|
248
268
|
"disableRules": ["large-*"],
|
|
269
|
+
"suppress": {
|
|
270
|
+
"hardcoded-secret": ["src/firebase.ts"]
|
|
271
|
+
},
|
|
249
272
|
"severityOverrides": {
|
|
250
273
|
"missing-prettier": "info"
|
|
251
274
|
},
|
|
@@ -258,6 +281,13 @@ Create a `.projscanrc.json` when repo defaults should live in source control:
|
|
|
258
281
|
}
|
|
259
282
|
```
|
|
260
283
|
|
|
284
|
+
Use `suppress` for a known false positive in a specific path without disabling
|
|
285
|
+
the rule everywhere. For one line, add an inline directive next to the value:
|
|
286
|
+
|
|
287
|
+
```ts
|
|
288
|
+
const firebaseKey = "AIza..." // projscan-ignore-line hardcoded-secret -- Firebase web keys are public identifiers
|
|
289
|
+
```
|
|
290
|
+
|
|
261
291
|
Config docs live in [docs/GUIDE.md](docs/GUIDE.md#configuration-projscanrc).
|
|
262
292
|
|
|
263
293
|
## CI
|
|
@@ -267,9 +297,20 @@ Use `projscan ci` to gate pull requests:
|
|
|
267
297
|
```bash
|
|
268
298
|
projscan ci --min-score 80
|
|
269
299
|
projscan ci --changed-only
|
|
300
|
+
projscan ci --format json
|
|
270
301
|
projscan ci --format sarif > projscan.sarif
|
|
271
302
|
```
|
|
272
303
|
|
|
304
|
+
`ci --format json` keeps `ci.issues[]` annotation-ready: each issue includes
|
|
305
|
+
`ruleId`, `severity`, `message`, `location`, `locations`, and `remediation`
|
|
306
|
+
when projscan has that data.
|
|
307
|
+
`doctor --format json` and `ci --format json` also include `scoreBreakdown`,
|
|
308
|
+
which shows the base score, severity weights, category penalties, total penalty,
|
|
309
|
+
final score, and grade.
|
|
310
|
+
By default, `ci` only fails a below-threshold score when there is a warning or
|
|
311
|
+
error. Set `"failOn": "info"` for legacy strictness or `"failOn": "error"` for
|
|
312
|
+
error-only blocking.
|
|
313
|
+
|
|
273
314
|
GitHub Actions example:
|
|
274
315
|
|
|
275
316
|
```yaml
|
|
@@ -353,7 +394,7 @@ Supply-chain scanners may flag package strings or APIs used by `git`, `npm audit
|
|
|
353
394
|
|
|
354
395
|
## Install Notes
|
|
355
396
|
|
|
356
|
-
`projscan@4.
|
|
397
|
+
`projscan@4.11.0` has seven direct runtime dependencies:
|
|
357
398
|
|
|
358
399
|
- `@babel/parser`
|
|
359
400
|
- `@babel/types`
|
|
@@ -363,7 +404,7 @@ Supply-chain scanners may flag package strings or APIs used by `git`, `npm audit
|
|
|
363
404
|
- `ora`
|
|
364
405
|
- `web-tree-sitter`
|
|
365
406
|
|
|
366
|
-
If npm prints `allow-scripts` warnings during a global install, check which package names it lists. projscan core does not need `node-gyp` grammar builds at runtime in 4.
|
|
407
|
+
If npm prints `allow-scripts` warnings during a global install, check which package names it lists. projscan core does not need `node-gyp` grammar builds at runtime in 4.11.0. Open an issue with the warning text if npm reports install scripts from `projscan@latest`, or run `projscan feedback intake --text "<warning text>" --format json` to turn it into a focused setup-trust task.
|
|
367
408
|
|
|
368
409
|
The grammar packages are build-time sources, not global-install dependencies. Published grammar assets include `tree-sitter-python.wasm` and `tree-sitter-c_sharp.wasm`.
|
|
369
410
|
|
|
@@ -35,11 +35,13 @@ const MAX_FILE_SIZE = 512 * 1024; // 512 KB
|
|
|
35
35
|
const SECRET_PATTERNS = [
|
|
36
36
|
{ name: 'AWS Access Key', pattern: /AKIA[0-9A-Z]{16}/ },
|
|
37
37
|
{ name: 'GitHub Token', pattern: /gh[ps]_[A-Za-z0-9_]{36,}/ },
|
|
38
|
+
{ name: 'Stripe Secret Key', pattern: /sk_(?:live|test)_[A-Za-z0-9]{24,}/ },
|
|
39
|
+
{ name: 'Stripe Webhook Secret', pattern: /whsec_[A-Za-z0-9]{24,}/ },
|
|
38
40
|
{ name: 'Slack Token', pattern: /xox[bpras]-[A-Za-z0-9-]+/ },
|
|
39
41
|
{ name: 'Private Key', pattern: /-----BEGIN (?:RSA |EC |DSA )?PRIVATE KEY-----/ },
|
|
40
42
|
{
|
|
41
43
|
name: 'Generic Secret',
|
|
42
|
-
pattern: /(?:password|secret|api_key|apikey|token|auth)\s*[=:]\s*['"][^'"]{8,}['"]/i,
|
|
44
|
+
pattern: /(?:password|secret|api_key|apikey|token|auth)\s*[=:]\s*['"]([^'"]{8,})['"]/i,
|
|
43
45
|
},
|
|
44
46
|
];
|
|
45
47
|
function isEnvLikeFile(relativePath) {
|
|
@@ -127,10 +129,15 @@ export async function check(rootPath, files, options = {}) {
|
|
|
127
129
|
async function scanFileForSecrets(file) {
|
|
128
130
|
try {
|
|
129
131
|
const content = await fs.readFile(file.absolutePath, 'utf-8');
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
132
|
+
const lines = content.split(/\r?\n/);
|
|
133
|
+
for (let index = 0; index < lines.length; index += 1) {
|
|
134
|
+
const line = lines[index] ?? '';
|
|
135
|
+
if (isCommentOnlyLine(line))
|
|
136
|
+
continue;
|
|
137
|
+
for (const { name, pattern } of SECRET_PATTERNS) {
|
|
138
|
+
const match = pattern.exec(line);
|
|
139
|
+
if (!match || isBenignSecretMatch(name, match, line, content))
|
|
140
|
+
continue;
|
|
134
141
|
return {
|
|
135
142
|
id: 'hardcoded-secret',
|
|
136
143
|
title: `Potential ${name} detected in ${file.relativePath}`,
|
|
@@ -138,7 +145,7 @@ async function scanFileForSecrets(file) {
|
|
|
138
145
|
severity: 'error',
|
|
139
146
|
category: 'security',
|
|
140
147
|
fixAvailable: false,
|
|
141
|
-
locations: [{ file: file.relativePath, line }],
|
|
148
|
+
locations: [{ file: file.relativePath, line: index + 1 }],
|
|
142
149
|
};
|
|
143
150
|
}
|
|
144
151
|
}
|
|
@@ -148,14 +155,25 @@ async function scanFileForSecrets(file) {
|
|
|
148
155
|
}
|
|
149
156
|
return null;
|
|
150
157
|
}
|
|
151
|
-
function
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
158
|
+
function isBenignSecretMatch(name, match, line, content) {
|
|
159
|
+
const value = match[1] ?? match[0];
|
|
160
|
+
if (value.includes('{{') || value.includes('}}'))
|
|
161
|
+
return true;
|
|
162
|
+
if (name === 'Generic Secret' && isFirebaseWebApiKey(line, value, content))
|
|
163
|
+
return true;
|
|
164
|
+
return false;
|
|
165
|
+
}
|
|
166
|
+
function isFirebaseWebApiKey(line, value, content) {
|
|
167
|
+
return (/\bapiKey\b/i.test(line) &&
|
|
168
|
+
value.startsWith('AIza') &&
|
|
169
|
+
/\bfirebase(?:app)?\b/i.test(content));
|
|
170
|
+
}
|
|
171
|
+
function isCommentOnlyLine(line) {
|
|
172
|
+
const trimmed = line.trim();
|
|
173
|
+
return (trimmed.startsWith('//') ||
|
|
174
|
+
trimmed.startsWith('#') ||
|
|
175
|
+
trimmed.startsWith('*') ||
|
|
176
|
+
trimmed.startsWith('/*') ||
|
|
177
|
+
trimmed.startsWith('<!--'));
|
|
160
178
|
}
|
|
161
179
|
//# sourceMappingURL=securityCheck.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"securityCheck.js","sourceRoot":"","sources":["../../src/analyzers/securityCheck.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG1F,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;AAC1C,MAAM,iBAAiB,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AAE/D,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AACzE,MAAM,sBAAsB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAEhE,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IACnC,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,aAAa;IACb,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;CACP,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,SAAS;AAE3C,MAAM,eAAe,GAAwC;IAC3D,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,kBAAkB,EAAE;IACvD,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,0BAA0B,EAAE;IAC7D,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,0BAA0B,EAAE;IAC5D,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,+CAA+C,EAAE;IACjF;QACE,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"securityCheck.js","sourceRoot":"","sources":["../../src/analyzers/securityCheck.ts"],"names":[],"mappings":"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"}
|
|
@@ -166,6 +166,8 @@ async function scanPackageManifest(file, issues, seen) {
|
|
|
166
166
|
for (const [scriptName, rawCommand] of Object.entries(manifest.scripts)) {
|
|
167
167
|
if (!LIFECYCLE_SCRIPTS.has(scriptName))
|
|
168
168
|
continue;
|
|
169
|
+
if (isFirstPartyPrepareScript(file, scriptName))
|
|
170
|
+
continue;
|
|
169
171
|
const command = typeof rawCommand === 'string' ? rawCommand : String(rawCommand);
|
|
170
172
|
if (!shouldFlagLifecycleScript(scriptName, command))
|
|
171
173
|
continue;
|
|
@@ -342,8 +344,10 @@ function isGithubCommitDependency(spec) {
|
|
|
342
344
|
/^git@github\.com:.+/i.test(withoutRef));
|
|
343
345
|
}
|
|
344
346
|
function isPackageManifest(file) {
|
|
345
|
-
return
|
|
346
|
-
|
|
347
|
+
return path.basename(file.relativePath) === 'package.json';
|
|
348
|
+
}
|
|
349
|
+
function isFirstPartyPrepareScript(file, scriptName) {
|
|
350
|
+
return scriptName === 'prepare' && !pathSegments(file.relativePath).includes('node_modules');
|
|
347
351
|
}
|
|
348
352
|
function isPackageLock(file) {
|
|
349
353
|
return path.basename(file.relativePath) === 'package-lock.json';
|
|
@@ -374,6 +378,9 @@ function safeId(value) {
|
|
|
374
378
|
function normalizePath(value) {
|
|
375
379
|
return value.split(path.sep).join('/');
|
|
376
380
|
}
|
|
381
|
+
function pathSegments(value) {
|
|
382
|
+
return normalizePath(value).split('/');
|
|
383
|
+
}
|
|
377
384
|
async function readJson(filePath, maxBytes) {
|
|
378
385
|
const content = await readText(filePath, maxBytes);
|
|
379
386
|
if (!content)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supplyChainCheck.js","sourceRoot":"","sources":["../../src/analyzers/supplyChainCheck.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"supplyChainCheck.js","sourceRoot":"","sources":["../../src/analyzers/supplyChainCheck.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import fs from 'node:fs/promises';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { assertFormatSupported, getRootPath, maybeCompactBanner, program, setupLogLevel, } from '../_shared.js';
|
|
4
|
+
import { computeAssess } from '../../core/assess.js';
|
|
5
|
+
const ASSESS_MODES = ['standard', 'fix-first', 'ship-readiness'];
|
|
6
|
+
export function registerAssess() {
|
|
7
|
+
program
|
|
8
|
+
.command('assess')
|
|
9
|
+
.description('Run a proof-first codebase assessment with evidence-backed Proof Cards')
|
|
10
|
+
.option('--goal <text>', 'plain-language assessment goal')
|
|
11
|
+
.option('--mode <mode>', 'assessment mode: standard, fix-first, ship-readiness', parseMode)
|
|
12
|
+
.option('--max-cards <count>', 'maximum Proof Cards to return', parsePositiveInt)
|
|
13
|
+
.option('--baseline <path>', 'prior assess JSON file to compare risk delta against')
|
|
14
|
+
.action(async (cmdOpts) => {
|
|
15
|
+
setupLogLevel();
|
|
16
|
+
maybeCompactBanner();
|
|
17
|
+
const format = assertFormatSupported('assess');
|
|
18
|
+
try {
|
|
19
|
+
const report = await computeAssess(getRootPath(), {
|
|
20
|
+
goal: cmdOpts.goal,
|
|
21
|
+
mode: cmdOpts.mode,
|
|
22
|
+
maxCards: cmdOpts.maxCards,
|
|
23
|
+
...(cmdOpts.baseline
|
|
24
|
+
? {
|
|
25
|
+
baselineReport: await readAssessBaseline(cmdOpts.baseline),
|
|
26
|
+
baselinePath: cmdOpts.baseline,
|
|
27
|
+
}
|
|
28
|
+
: {}),
|
|
29
|
+
});
|
|
30
|
+
if (format === 'json') {
|
|
31
|
+
console.log(JSON.stringify(report, null, 2));
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
if (format === 'markdown') {
|
|
35
|
+
console.log(renderAssessMarkdown(report));
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
printAssessConsole(report);
|
|
39
|
+
}
|
|
40
|
+
catch (err) {
|
|
41
|
+
console.error(chalk.red(err instanceof Error ? err.message : String(err)));
|
|
42
|
+
process.exit(1);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
function printAssessConsole(report) {
|
|
47
|
+
const color = report.verdict === 'blocked' ? chalk.red : report.verdict === 'watch' ? chalk.yellow : chalk.green;
|
|
48
|
+
console.log(color(`Projscan Assess: ${report.verdict}`));
|
|
49
|
+
console.log(report.summary);
|
|
50
|
+
console.log('');
|
|
51
|
+
console.log(chalk.bold('Fix First'));
|
|
52
|
+
console.log(report.fixFirst ? `- ${report.fixFirst.finding}` : '- Preserve the baseline');
|
|
53
|
+
console.log('');
|
|
54
|
+
console.log(chalk.bold('Verification'));
|
|
55
|
+
for (const command of report.answers.testsThatProveIt)
|
|
56
|
+
console.log(`- ${command}`);
|
|
57
|
+
}
|
|
58
|
+
export function renderAssessMarkdown(report) {
|
|
59
|
+
const lines = [];
|
|
60
|
+
lines.push('# Projscan Assess');
|
|
61
|
+
lines.push('');
|
|
62
|
+
lines.push(`- **Verdict:** ${report.verdict}`);
|
|
63
|
+
lines.push(`- **Mode:** ${report.mode}`);
|
|
64
|
+
lines.push(`- **Goal:** ${report.goal}`);
|
|
65
|
+
lines.push(`- **Summary:** ${report.summary}`);
|
|
66
|
+
if (report.baselineComparison)
|
|
67
|
+
lines.push(`- **Baseline:** ${report.baselineComparison.summary}`);
|
|
68
|
+
lines.push('');
|
|
69
|
+
lines.push('## Answers');
|
|
70
|
+
lines.push('');
|
|
71
|
+
lines.push(`- **Actually risky:** ${report.answers.actuallyRisky}`);
|
|
72
|
+
lines.push(`- **Why risky:** ${report.answers.whyRisky}`);
|
|
73
|
+
lines.push(`- **Fix first:** ${report.answers.fixFirst}`);
|
|
74
|
+
lines.push(`- **Safest change:** ${report.answers.safestChange}`);
|
|
75
|
+
lines.push(`- **Risk removed:** ${report.answers.riskRemoved}`);
|
|
76
|
+
lines.push(`- **Ship now:** ${report.answers.shipNow}`);
|
|
77
|
+
lines.push('');
|
|
78
|
+
lines.push('## Proof Cards');
|
|
79
|
+
lines.push('');
|
|
80
|
+
for (const card of report.proofCards)
|
|
81
|
+
renderProofCard(lines, card);
|
|
82
|
+
if (report.proofCards.length === 0)
|
|
83
|
+
lines.push('- No proof-backed actions outrank baseline verification.');
|
|
84
|
+
lines.push('');
|
|
85
|
+
lines.push('## Verification');
|
|
86
|
+
lines.push('');
|
|
87
|
+
for (const command of report.answers.testsThatProveIt)
|
|
88
|
+
lines.push(`- \`${command}\``);
|
|
89
|
+
lines.push('');
|
|
90
|
+
lines.push('## Next Commands');
|
|
91
|
+
lines.push('');
|
|
92
|
+
for (const command of report.commands)
|
|
93
|
+
lines.push(`- \`${command}\``);
|
|
94
|
+
return lines.join('\n');
|
|
95
|
+
}
|
|
96
|
+
function renderProofCard(lines, card) {
|
|
97
|
+
lines.push(`### ${card.finding}`);
|
|
98
|
+
lines.push('');
|
|
99
|
+
lines.push(`- **Priority:** ${card.priority}`);
|
|
100
|
+
lines.push(`- **Confidence:** ${card.confidence}`);
|
|
101
|
+
lines.push(`- **Why it matters:** ${card.whyItMatters}`);
|
|
102
|
+
if (card.files.length > 0)
|
|
103
|
+
lines.push(`- **Files:** ${card.files.join(', ')}`);
|
|
104
|
+
lines.push(`- **Recommended fix:** ${card.recommendedFix.summary}`);
|
|
105
|
+
lines.push(`- **Safe change:** ${card.recommendedFix.safeChangeShape}`);
|
|
106
|
+
lines.push(`- **Risk delta:** ${card.riskDelta.delta}`);
|
|
107
|
+
lines.push('- **Evidence:**');
|
|
108
|
+
for (const evidence of card.evidence) {
|
|
109
|
+
const file = evidence.file ? ` (${evidence.file})` : '';
|
|
110
|
+
lines.push(` - ${evidence.source}: ${evidence.detail}${file}`);
|
|
111
|
+
}
|
|
112
|
+
lines.push('- **Commands:**');
|
|
113
|
+
for (const command of card.verification.commands)
|
|
114
|
+
lines.push(` - \`${command}\``);
|
|
115
|
+
lines.push('');
|
|
116
|
+
}
|
|
117
|
+
function parseMode(value) {
|
|
118
|
+
if (ASSESS_MODES.includes(value))
|
|
119
|
+
return value;
|
|
120
|
+
throw new Error(`mode must be one of: ${ASSESS_MODES.join(', ')}`);
|
|
121
|
+
}
|
|
122
|
+
function parsePositiveInt(value) {
|
|
123
|
+
const parsed = Number.parseInt(value, 10);
|
|
124
|
+
if (!Number.isFinite(parsed) || parsed <= 0) {
|
|
125
|
+
throw new Error('value must be a positive integer');
|
|
126
|
+
}
|
|
127
|
+
return parsed;
|
|
128
|
+
}
|
|
129
|
+
async function readAssessBaseline(filePath) {
|
|
130
|
+
try {
|
|
131
|
+
const parsed = JSON.parse(await fs.readFile(filePath, 'utf-8'));
|
|
132
|
+
if (parsed.schemaVersion !== 1 ||
|
|
133
|
+
!parsed.riskDelta ||
|
|
134
|
+
typeof parsed.riskDelta.projectedScore !== 'number') {
|
|
135
|
+
throw new Error('invalid assess baseline shape');
|
|
136
|
+
}
|
|
137
|
+
return parsed;
|
|
138
|
+
}
|
|
139
|
+
catch (err) {
|
|
140
|
+
throw new Error(`Could not read assess baseline ${filePath}: ${err instanceof Error ? err.message : 'invalid JSON'}`, { cause: err });
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=assess.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assess.js","sourceRoot":"","sources":["../../../src/cli/commands/assess.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,7 +49,9 @@ function printFindingSection(report) {
|
|
|
49
49
|
printFinding(finding);
|
|
50
50
|
return;
|
|
51
51
|
}
|
|
52
|
-
const reviewSignals = report.verdict === 'review'
|
|
52
|
+
const reviewSignals = report.verdict === 'review'
|
|
53
|
+
? (report.reviewQueue ?? report.topSuspects).filter(isReviewSignal)
|
|
54
|
+
: [];
|
|
53
55
|
if (reviewSignals.length === 0)
|
|
54
56
|
return;
|
|
55
57
|
console.log(chalk.bold('Review Signals'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bugHunt.js","sourceRoot":"","sources":["../../../src/cli/commands/bugHunt.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"bugHunt.js","sourceRoot":"","sources":["../../../src/cli/commands/bugHunt.ts"],"names":[],"mappings":"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"}
|