@neurcode-ai/cli 0.9.31 → 0.9.33
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 +22 -0
- package/dist/commands/apply.d.ts.map +1 -1
- package/dist/commands/apply.js +45 -3
- package/dist/commands/apply.js.map +1 -1
- package/dist/commands/map.d.ts.map +1 -1
- package/dist/commands/map.js +78 -1
- package/dist/commands/map.js.map +1 -1
- package/dist/commands/plan-slo.d.ts +7 -0
- package/dist/commands/plan-slo.d.ts.map +1 -0
- package/dist/commands/plan-slo.js +205 -0
- package/dist/commands/plan-slo.js.map +1 -0
- package/dist/commands/plan.d.ts.map +1 -1
- package/dist/commands/plan.js +665 -29
- package/dist/commands/plan.js.map +1 -1
- package/dist/commands/repo.d.ts +3 -0
- package/dist/commands/repo.d.ts.map +1 -0
- package/dist/commands/repo.js +166 -0
- package/dist/commands/repo.js.map +1 -0
- package/dist/commands/session.js +2 -2
- package/dist/commands/session.js.map +1 -1
- package/dist/commands/ship.d.ts.map +1 -1
- package/dist/commands/ship.js +29 -0
- package/dist/commands/ship.js.map +1 -1
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +261 -9
- package/dist/commands/verify.js.map +1 -1
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -1
- package/dist/services/mapper/ProjectScanner.d.ts +76 -2
- package/dist/services/mapper/ProjectScanner.d.ts.map +1 -1
- package/dist/services/mapper/ProjectScanner.js +545 -40
- package/dist/services/mapper/ProjectScanner.js.map +1 -1
- package/dist/services/security/SecurityGuard.d.ts +21 -2
- package/dist/services/security/SecurityGuard.d.ts.map +1 -1
- package/dist/services/security/SecurityGuard.js +130 -27
- package/dist/services/security/SecurityGuard.js.map +1 -1
- package/dist/utils/ROILogger.js +1 -1
- package/dist/utils/ROILogger.js.map +1 -1
- package/dist/utils/gitignore.d.ts.map +1 -1
- package/dist/utils/gitignore.js +7 -21
- package/dist/utils/gitignore.js.map +1 -1
- package/dist/utils/governance.d.ts +2 -0
- package/dist/utils/governance.d.ts.map +1 -1
- package/dist/utils/governance.js +2 -0
- package/dist/utils/governance.js.map +1 -1
- package/dist/utils/plan-slo.d.ts +73 -0
- package/dist/utils/plan-slo.d.ts.map +1 -0
- package/dist/utils/plan-slo.js +271 -0
- package/dist/utils/plan-slo.js.map +1 -0
- package/dist/utils/project-root.d.ts +5 -4
- package/dist/utils/project-root.d.ts.map +1 -1
- package/dist/utils/project-root.js +82 -7
- package/dist/utils/project-root.js.map +1 -1
- package/dist/utils/repo-links.d.ts +17 -0
- package/dist/utils/repo-links.d.ts.map +1 -0
- package/dist/utils/repo-links.js +136 -0
- package/dist/utils/repo-links.js.map +1 -0
- package/package.json +13 -12
- package/LICENSE +0 -201
- package/dist/critical_violation.d.ts +0 -2
- package/dist/critical_violation.d.ts.map +0 -1
- package/dist/critical_violation.js +0 -12
- package/dist/critical_violation.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectScanner.js","sourceRoot":"","sources":["../../../src/services/mapper/ProjectScanner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ProjectScanner.js","sourceRoot":"","sources":["../../../src/services/mapper/ProjectScanner.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,11 +27,22 @@ export interface HallucinationScanResult {
|
|
|
27
27
|
hasHallucinations: boolean;
|
|
28
28
|
blocked: boolean;
|
|
29
29
|
}
|
|
30
|
+
interface FileScanOptions {
|
|
31
|
+
maxFiles?: number;
|
|
32
|
+
maxFileBytes?: number;
|
|
33
|
+
maxTotalBytes?: number;
|
|
34
|
+
maxAstFiles?: number;
|
|
35
|
+
}
|
|
30
36
|
/**
|
|
31
37
|
* Security Guard for local secret detection and hallucination detection
|
|
32
38
|
*/
|
|
33
39
|
export declare class SecurityGuard {
|
|
34
40
|
private readonly REDACTION_PLACEHOLDER;
|
|
41
|
+
private readonly DEFAULT_MAX_SCAN_FILES;
|
|
42
|
+
private readonly DEFAULT_MAX_FILE_BYTES;
|
|
43
|
+
private readonly DEFAULT_MAX_TOTAL_BYTES;
|
|
44
|
+
private readonly DEFAULT_MAX_AST_FILES;
|
|
45
|
+
private readonly SKIP_FILE_EXTENSIONS;
|
|
35
46
|
private readonly patterns;
|
|
36
47
|
private readonly sensitiveVarNames;
|
|
37
48
|
private readonly safePackageList;
|
|
@@ -66,11 +77,18 @@ export declare class SecurityGuard {
|
|
|
66
77
|
/**
|
|
67
78
|
* Scan TypeScript/JavaScript files using AST analysis
|
|
68
79
|
*/
|
|
69
|
-
|
|
80
|
+
private normalizeRelativePath;
|
|
81
|
+
private resolvePathWithinRoot;
|
|
82
|
+
private shouldSkipScanFileByExtension;
|
|
83
|
+
private readPositiveIntEnv;
|
|
84
|
+
scanFile(filePath: string, rootDir?: string, options?: {
|
|
85
|
+
allowAst?: boolean;
|
|
86
|
+
maxFileBytes?: number;
|
|
87
|
+
}): Promise<SecretDetection[]>;
|
|
70
88
|
/**
|
|
71
89
|
* Scan multiple files
|
|
72
90
|
*/
|
|
73
|
-
scanFiles(filePaths: string[], rootDir?: string): Promise<ScanResult>;
|
|
91
|
+
scanFiles(filePaths: string[], rootDir?: string, options?: FileScanOptions): Promise<ScanResult>;
|
|
74
92
|
/**
|
|
75
93
|
* Scan intent string for secrets
|
|
76
94
|
*/
|
|
@@ -87,4 +105,5 @@ export declare class SecurityGuard {
|
|
|
87
105
|
maskedFiles?: Map<string, string>;
|
|
88
106
|
}>;
|
|
89
107
|
}
|
|
108
|
+
export {};
|
|
90
109
|
//# sourceMappingURL=SecurityGuard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SecurityGuard.d.ts","sourceRoot":"","sources":["../../../src/services/security/SecurityGuard.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,SAAS,GAAG,cAAc,GAAG,cAAc,GAAG,gBAAgB,GAAG,aAAa,CAAC;IACrF,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE,sBAAsB,EAAE,CAAC;IACzC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA4B;
|
|
1
|
+
{"version":3,"file":"SecurityGuard.d.ts","sourceRoot":"","sources":["../../../src/services/security/SecurityGuard.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,SAAS,GAAG,cAAc,GAAG,cAAc,GAAG,gBAAgB,GAAG,aAAa,CAAC;IACrF,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE,sBAAsB,EAAE,CAAC;IACzC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,eAAe;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA4B;IAClE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAO;IAC9C,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAc;IACrD,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAmB;IAC3D,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAM;IAC5C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAMlC;IAGH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAYvB;IAGF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAQhC;IAIF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAwB7B;IAEH;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAe,GAAG,eAAe,EAAE;IAyDpE;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAoF7B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAiC/B;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAuF9B;;;;;;OAMG;IACG,qBAAqB,CACzB,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,MAAe,EACzB,OAAO,GAAE,MAAsB,EAC/B,OAAO,CAAC,EAAE;QAAE,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAE,GAC1C,OAAO,CAAC,uBAAuB,CAAC;IA2FnC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,qBAAqB;IAoB7B,OAAO,CAAC,6BAA6B;IAKrC,OAAO,CAAC,kBAAkB;IAQpB,QAAQ,CACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,MAAsB,EAC/B,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GACtD,OAAO,CAAC,eAAe,EAAE,CAAC;IA+F7B;;OAEG;IACG,SAAS,CACb,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,GAAE,MAAsB,EAC/B,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,UAAU,CAAC;IAgDtB;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;IAQtC;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM;IAgBhE;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,MAAsB,GAAG,OAAO,CAAC,UAAU,GAAG;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;CAyD5K"}
|
|
@@ -49,6 +49,17 @@ const path_1 = require("path");
|
|
|
49
49
|
*/
|
|
50
50
|
class SecurityGuard {
|
|
51
51
|
REDACTION_PLACEHOLDER = '[REDACTED_BY_NEURCODE]';
|
|
52
|
+
DEFAULT_MAX_SCAN_FILES = 120;
|
|
53
|
+
DEFAULT_MAX_FILE_BYTES = 256 * 1024;
|
|
54
|
+
DEFAULT_MAX_TOTAL_BYTES = 6 * 1024 * 1024;
|
|
55
|
+
DEFAULT_MAX_AST_FILES = 12;
|
|
56
|
+
SKIP_FILE_EXTENSIONS = new Set([
|
|
57
|
+
'png', 'jpg', 'jpeg', 'gif', 'bmp', 'ico', 'svg', 'webp',
|
|
58
|
+
'mp3', 'mp4', 'mov', 'wav', 'ogg',
|
|
59
|
+
'pdf', 'zip', 'gz', 'tar', '7z', 'rar',
|
|
60
|
+
'woff', 'woff2', 'ttf', 'otf', 'eot',
|
|
61
|
+
'exe', 'dll', 'so', 'dylib',
|
|
62
|
+
]);
|
|
52
63
|
// High-performance regex patterns for common secrets
|
|
53
64
|
patterns = {
|
|
54
65
|
// AWS Access Keys (AKIA followed by 16 base32 characters)
|
|
@@ -423,23 +434,77 @@ class SecurityGuard {
|
|
|
423
434
|
/**
|
|
424
435
|
* Scan TypeScript/JavaScript files using AST analysis
|
|
425
436
|
*/
|
|
426
|
-
|
|
437
|
+
normalizeRelativePath(filePath) {
|
|
438
|
+
return filePath.replace(/\\/g, '/').replace(/^\.\/+/, '').trim();
|
|
439
|
+
}
|
|
440
|
+
resolvePathWithinRoot(rootDir, filePath) {
|
|
441
|
+
const root = (0, path_1.resolve)(rootDir);
|
|
442
|
+
const normalizedInput = this.normalizeRelativePath(filePath);
|
|
443
|
+
if (!normalizedInput)
|
|
444
|
+
return null;
|
|
445
|
+
const fullPath = (0, path_1.resolve)(root, normalizedInput);
|
|
446
|
+
const rel = (0, path_1.relative)(root, fullPath);
|
|
447
|
+
if (!rel || rel === '.' || rel.startsWith('..') || (0, path_1.isAbsolute)(rel)) {
|
|
448
|
+
return null;
|
|
449
|
+
}
|
|
450
|
+
return {
|
|
451
|
+
fullPath,
|
|
452
|
+
relativePath: this.normalizeRelativePath(rel),
|
|
453
|
+
};
|
|
454
|
+
}
|
|
455
|
+
shouldSkipScanFileByExtension(filePath) {
|
|
456
|
+
const ext = filePath.split('.').pop()?.toLowerCase() || '';
|
|
457
|
+
return this.SKIP_FILE_EXTENSIONS.has(ext);
|
|
458
|
+
}
|
|
459
|
+
readPositiveIntEnv(name, fallback) {
|
|
460
|
+
const raw = process.env[name];
|
|
461
|
+
if (!raw || !raw.trim())
|
|
462
|
+
return fallback;
|
|
463
|
+
const parsed = Number(raw);
|
|
464
|
+
if (!Number.isFinite(parsed) || parsed <= 0)
|
|
465
|
+
return fallback;
|
|
466
|
+
return Math.floor(parsed);
|
|
467
|
+
}
|
|
468
|
+
async scanFile(filePath, rootDir = process.cwd(), options) {
|
|
427
469
|
const detections = [];
|
|
428
|
-
const
|
|
429
|
-
|
|
470
|
+
const allowAst = options?.allowAst === true;
|
|
471
|
+
const maxFileBytes = Math.max(1, options?.maxFileBytes || this.DEFAULT_MAX_FILE_BYTES);
|
|
472
|
+
const resolvedPath = this.resolvePathWithinRoot(rootDir, filePath);
|
|
473
|
+
if (!resolvedPath) {
|
|
474
|
+
return detections;
|
|
475
|
+
}
|
|
476
|
+
const { fullPath, relativePath } = resolvedPath;
|
|
430
477
|
if (!(0, fs_1.existsSync)(fullPath)) {
|
|
431
478
|
return detections;
|
|
432
479
|
}
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
480
|
+
let fileStat;
|
|
481
|
+
try {
|
|
482
|
+
fileStat = (0, fs_1.lstatSync)(fullPath);
|
|
483
|
+
}
|
|
484
|
+
catch {
|
|
485
|
+
return detections;
|
|
486
|
+
}
|
|
487
|
+
if (!fileStat.isFile() || fileStat.isSymbolicLink() || fileStat.size > maxFileBytes) {
|
|
488
|
+
return detections;
|
|
489
|
+
}
|
|
490
|
+
if (this.shouldSkipScanFileByExtension(relativePath)) {
|
|
491
|
+
return detections;
|
|
492
|
+
}
|
|
493
|
+
const ext = relativePath.split('.').pop()?.toLowerCase();
|
|
494
|
+
const supportsAst = ext === 'ts' || ext === 'js' || ext === 'tsx' || ext === 'jsx';
|
|
495
|
+
let content = '';
|
|
496
|
+
try {
|
|
497
|
+
content = (0, fs_1.readFileSync)(fullPath, 'utf-8');
|
|
498
|
+
}
|
|
499
|
+
catch {
|
|
500
|
+
return detections;
|
|
501
|
+
}
|
|
502
|
+
// Fast-fail on likely binary payloads.
|
|
503
|
+
if (content.includes('\u0000')) {
|
|
504
|
+
return detections;
|
|
505
|
+
}
|
|
506
|
+
if (!supportsAst || !allowAst) {
|
|
507
|
+
return this.scanText(content, relativePath);
|
|
443
508
|
}
|
|
444
509
|
try {
|
|
445
510
|
// Use ts-morph for AST analysis
|
|
@@ -464,7 +529,7 @@ class SecurityGuard {
|
|
|
464
529
|
detections.push({
|
|
465
530
|
type: 'ast_literal',
|
|
466
531
|
severity: 'high',
|
|
467
|
-
location:
|
|
532
|
+
location: relativePath,
|
|
468
533
|
pattern: `${name} = ${initializer.getText()}`,
|
|
469
534
|
});
|
|
470
535
|
}
|
|
@@ -473,28 +538,58 @@ class SecurityGuard {
|
|
|
473
538
|
});
|
|
474
539
|
// Also run regex scanning as fallback
|
|
475
540
|
const content = sourceFile.getFullText();
|
|
476
|
-
const regexDetections = this.scanText(content,
|
|
541
|
+
const regexDetections = this.scanText(content, relativePath);
|
|
477
542
|
detections.push(...regexDetections);
|
|
478
543
|
}
|
|
479
544
|
catch (error) {
|
|
480
545
|
// If AST parsing fails, fall back to regex scanning
|
|
481
|
-
|
|
482
|
-
const content = (0, fs_1.readFileSync)(fullPath, 'utf-8');
|
|
483
|
-
return this.scanText(content, filePath);
|
|
484
|
-
}
|
|
485
|
-
catch {
|
|
486
|
-
// File cannot be read, return empty
|
|
487
|
-
}
|
|
546
|
+
return this.scanText(content, relativePath);
|
|
488
547
|
}
|
|
489
548
|
return detections;
|
|
490
549
|
}
|
|
491
550
|
/**
|
|
492
551
|
* Scan multiple files
|
|
493
552
|
*/
|
|
494
|
-
async scanFiles(filePaths, rootDir = process.cwd()) {
|
|
553
|
+
async scanFiles(filePaths, rootDir = process.cwd(), options) {
|
|
495
554
|
const allDetections = [];
|
|
496
|
-
|
|
497
|
-
|
|
555
|
+
const maxFiles = Math.max(1, options?.maxFiles || this.DEFAULT_MAX_SCAN_FILES);
|
|
556
|
+
const maxFileBytes = Math.max(1, options?.maxFileBytes || this.DEFAULT_MAX_FILE_BYTES);
|
|
557
|
+
const maxTotalBytes = Math.max(maxFileBytes, options?.maxTotalBytes || this.DEFAULT_MAX_TOTAL_BYTES);
|
|
558
|
+
const maxAstFiles = Math.max(0, options?.maxAstFiles ?? this.DEFAULT_MAX_AST_FILES);
|
|
559
|
+
const uniquePaths = [...new Set(filePaths.map((filePath) => this.normalizeRelativePath(filePath)).filter(Boolean))]
|
|
560
|
+
.slice(0, maxFiles);
|
|
561
|
+
let scannedBytes = 0;
|
|
562
|
+
let astBudgetUsed = 0;
|
|
563
|
+
for (const filePath of uniquePaths) {
|
|
564
|
+
const resolvedPath = this.resolvePathWithinRoot(rootDir, filePath);
|
|
565
|
+
if (!resolvedPath)
|
|
566
|
+
continue;
|
|
567
|
+
if (this.shouldSkipScanFileByExtension(resolvedPath.relativePath))
|
|
568
|
+
continue;
|
|
569
|
+
let fileStat;
|
|
570
|
+
try {
|
|
571
|
+
fileStat = (0, fs_1.lstatSync)(resolvedPath.fullPath);
|
|
572
|
+
}
|
|
573
|
+
catch {
|
|
574
|
+
continue;
|
|
575
|
+
}
|
|
576
|
+
if (!fileStat.isFile() || fileStat.isSymbolicLink())
|
|
577
|
+
continue;
|
|
578
|
+
if (fileStat.size > maxFileBytes)
|
|
579
|
+
continue;
|
|
580
|
+
if (scannedBytes + fileStat.size > maxTotalBytes)
|
|
581
|
+
break;
|
|
582
|
+
scannedBytes += fileStat.size;
|
|
583
|
+
const ext = resolvedPath.relativePath.split('.').pop()?.toLowerCase();
|
|
584
|
+
const allowAst = astBudgetUsed < maxAstFiles &&
|
|
585
|
+
(ext === 'ts' || ext === 'tsx' || ext === 'js' || ext === 'jsx');
|
|
586
|
+
if (allowAst) {
|
|
587
|
+
astBudgetUsed++;
|
|
588
|
+
}
|
|
589
|
+
const detections = await this.scanFile(resolvedPath.relativePath, rootDir, {
|
|
590
|
+
allowAst,
|
|
591
|
+
maxFileBytes,
|
|
592
|
+
});
|
|
498
593
|
allDetections.push(...detections);
|
|
499
594
|
}
|
|
500
595
|
return {
|
|
@@ -532,7 +627,12 @@ class SecurityGuard {
|
|
|
532
627
|
*/
|
|
533
628
|
async scanAndMask(intent, filePaths, rootDir = process.cwd()) {
|
|
534
629
|
const intentResult = this.scanIntent(intent);
|
|
535
|
-
const filesResult = await this.scanFiles(filePaths, rootDir
|
|
630
|
+
const filesResult = await this.scanFiles(filePaths, rootDir, {
|
|
631
|
+
maxFiles: this.readPositiveIntEnv('NEURCODE_SECRET_SCAN_MAX_FILES', this.DEFAULT_MAX_SCAN_FILES),
|
|
632
|
+
maxFileBytes: this.readPositiveIntEnv('NEURCODE_SECRET_SCAN_MAX_FILE_BYTES', this.DEFAULT_MAX_FILE_BYTES),
|
|
633
|
+
maxTotalBytes: this.readPositiveIntEnv('NEURCODE_SECRET_SCAN_MAX_TOTAL_BYTES', this.DEFAULT_MAX_TOTAL_BYTES),
|
|
634
|
+
maxAstFiles: this.readPositiveIntEnv('NEURCODE_SECRET_SCAN_MAX_AST_FILES', this.DEFAULT_MAX_AST_FILES),
|
|
635
|
+
});
|
|
536
636
|
const allDetections = [...intentResult.secrets, ...filesResult.secrets];
|
|
537
637
|
const hasSecrets = allDetections.length > 0;
|
|
538
638
|
let maskedIntent;
|
|
@@ -556,8 +656,11 @@ class SecurityGuard {
|
|
|
556
656
|
}
|
|
557
657
|
// Mask each file
|
|
558
658
|
for (const [filePath, detections] of fileDetections.entries()) {
|
|
659
|
+
const resolvedPath = this.resolvePathWithinRoot(rootDir, filePath);
|
|
660
|
+
if (!resolvedPath)
|
|
661
|
+
continue;
|
|
559
662
|
try {
|
|
560
|
-
const content = (0, fs_1.readFileSync)(
|
|
663
|
+
const content = (0, fs_1.readFileSync)(resolvedPath.fullPath, 'utf-8');
|
|
561
664
|
const masked = this.maskSecrets(content, detections);
|
|
562
665
|
maskedFiles.set(filePath, masked);
|
|
563
666
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SecurityGuard.js","sourceRoot":"","sources":["../../../src/services/security/SecurityGuard.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SecurityGuard.js","sourceRoot":"","sources":["../../../src/services/security/SecurityGuard.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/ROILogger.js
CHANGED
|
@@ -20,7 +20,7 @@ async function logROIEvent(eventType, metadata = {}, projectId) {
|
|
|
20
20
|
return;
|
|
21
21
|
}
|
|
22
22
|
// Use same API URL pattern as ApiClient
|
|
23
|
-
const apiUrl = config.apiUrl || process.env.NEURCODE_API_URL || 'https://api.neurcode.
|
|
23
|
+
const apiUrl = config.apiUrl || process.env.NEURCODE_API_URL || 'https://api.neurcode.com';
|
|
24
24
|
const url = `${apiUrl}/api/v1/roi/events`;
|
|
25
25
|
// Fire-and-forget fetch (don't await)
|
|
26
26
|
fetch(url, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ROILogger.js","sourceRoot":"","sources":["../../src/utils/ROILogger.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAcH,kCAkCC;AA9CD,sCAAuC;AAQvC;;;GAGG;AACI,KAAK,UAAU,WAAW,CAC/B,SAAuB,EACvB,WAA6B,EAAE,EAC/B,SAAyB;IAEzB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,mBAAU,GAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,uDAAuD;YACvD,OAAO;QACT,CAAC;QAED,wCAAwC;QACxC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,
|
|
1
|
+
{"version":3,"file":"ROILogger.js","sourceRoot":"","sources":["../../src/utils/ROILogger.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAcH,kCAkCC;AA9CD,sCAAuC;AAQvC;;;GAGG;AACI,KAAK,UAAU,WAAW,CAC/B,SAAuB,EACvB,WAA6B,EAAE,EAC/B,SAAyB;IAEzB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,mBAAU,GAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,uDAAuD;YACvD,OAAO;QACT,CAAC;QAED,wCAAwC;QACxC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,0BAA0B,CAAC;QAC3F,MAAM,GAAG,GAAG,GAAG,MAAM,oBAAoB,CAAC;QAE1C,sCAAsC;QACtC,KAAK,CAAC,GAAG,EAAE;YACT,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,eAAe,EAAE,UAAU,MAAM,CAAC,MAAM,EAAE;aAC3C;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,SAAS;gBACT,QAAQ;gBACR,SAAS;aACV,CAAC;SACH,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACZ,0EAA0E;QAC5E,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,6BAA6B;IAC/B,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitignore.d.ts","sourceRoot":"","sources":["../../src/utils/gitignore.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"gitignore.d.ts","sourceRoot":"","sources":["../../src/utils/gitignore.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,GAAE,MAAsB,GAAG,IAAI,CA8B3E"}
|
package/dist/utils/gitignore.js
CHANGED
|
@@ -9,11 +9,7 @@ exports.ensureNeurcodeInGitignore = ensureNeurcodeInGitignore;
|
|
|
9
9
|
const fs_1 = require("fs");
|
|
10
10
|
const path_1 = require("path");
|
|
11
11
|
const GITIGNORE_FILE = '.gitignore';
|
|
12
|
-
|
|
13
|
-
// project binding file `.neurcode/config.json`.
|
|
14
|
-
const NEURCODE_IGNORE_GLOB = '.neurcode/*';
|
|
15
|
-
const NEURCODE_ALLOW_CONFIG = '!.neurcode/config.json';
|
|
16
|
-
const NEURCODE_ALLOW_DIR = '!.neurcode/'; // needed only if repo already ignores `.neurcode` as a directory
|
|
12
|
+
const NEURCODE_IGNORE_DIR = '.neurcode/';
|
|
17
13
|
/**
|
|
18
14
|
* Ensure .neurcode is in .gitignore
|
|
19
15
|
*/
|
|
@@ -22,9 +18,8 @@ function ensureNeurcodeInGitignore(cwd = process.cwd()) {
|
|
|
22
18
|
// If .gitignore doesn't exist, create it
|
|
23
19
|
if (!(0, fs_1.existsSync)(gitignorePath)) {
|
|
24
20
|
const block = [
|
|
25
|
-
'# Neurcode
|
|
26
|
-
|
|
27
|
-
NEURCODE_ALLOW_CONFIG,
|
|
21
|
+
'# Neurcode local runtime state (never commit)',
|
|
22
|
+
NEURCODE_IGNORE_DIR,
|
|
28
23
|
'',
|
|
29
24
|
].join('\n');
|
|
30
25
|
(0, fs_1.writeFileSync)(gitignorePath, block, 'utf-8');
|
|
@@ -33,22 +28,13 @@ function ensureNeurcodeInGitignore(cwd = process.cwd()) {
|
|
|
33
28
|
// Read existing .gitignore
|
|
34
29
|
const content = (0, fs_1.readFileSync)(gitignorePath, 'utf-8');
|
|
35
30
|
const lines = content.split('\n').map(line => line.trim());
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
const hasLegacyIgnoreDir = lines.includes('.neurcode') || lines.includes('.neurcode/');
|
|
39
|
-
// Already configured correctly
|
|
40
|
-
if (hasIgnoreGlob && hasAllowConfig) {
|
|
31
|
+
const hasIgnoreDir = lines.includes(NEURCODE_IGNORE_DIR) || lines.includes('.neurcode');
|
|
32
|
+
if (hasIgnoreDir) {
|
|
41
33
|
return;
|
|
42
34
|
}
|
|
43
35
|
const blockLines = [];
|
|
44
|
-
blockLines.push('# Neurcode
|
|
45
|
-
|
|
46
|
-
// before the file-level negation can work.
|
|
47
|
-
if (hasLegacyIgnoreDir) {
|
|
48
|
-
blockLines.push(NEURCODE_ALLOW_DIR);
|
|
49
|
-
}
|
|
50
|
-
blockLines.push(NEURCODE_IGNORE_GLOB);
|
|
51
|
-
blockLines.push(NEURCODE_ALLOW_CONFIG);
|
|
36
|
+
blockLines.push('# Neurcode local runtime state (never commit)');
|
|
37
|
+
blockLines.push(NEURCODE_IGNORE_DIR);
|
|
52
38
|
const block = blockLines.join('\n');
|
|
53
39
|
const newContent = content.trimEnd() + (content.endsWith('\n') ? '' : '\n') + block + '\n';
|
|
54
40
|
(0, fs_1.writeFileSync)(gitignorePath, newContent, 'utf-8');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitignore.js","sourceRoot":"","sources":["../../src/utils/gitignore.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;
|
|
1
|
+
{"version":3,"file":"gitignore.js","sourceRoot":"","sources":["../../src/utils/gitignore.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAWH,8DA8BC;AAvCD,2BAA6D;AAC7D,+BAA4B;AAE5B,MAAM,cAAc,GAAG,YAAY,CAAC;AACpC,MAAM,mBAAmB,GAAG,YAAY,CAAC;AAEzC;;GAEG;AACH,SAAgB,yBAAyB,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE;IACnE,MAAM,aAAa,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAEhD,yCAAyC;IACzC,IAAI,CAAC,IAAA,eAAU,EAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG;YACZ,+CAA+C;YAC/C,mBAAmB;YACnB,EAAE;SACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,IAAA,kBAAa,EAAC,aAAa,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAC7C,OAAO;IACT,CAAC;IAED,2BAA2B;IAC3B,MAAM,OAAO,GAAG,IAAA,iBAAY,EAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAE3D,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACxF,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO;IACT,CAAC;IAED,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,UAAU,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;IACjE,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAErC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;IAC3F,IAAA,kBAAa,EAAC,aAAa,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -9,6 +9,8 @@ export interface GovernanceEvaluationInput {
|
|
|
9
9
|
contextCandidates?: string[];
|
|
10
10
|
orgGovernance?: OrgGovernanceSettings | null;
|
|
11
11
|
signingKey?: string | null;
|
|
12
|
+
signingKeyId?: string | null;
|
|
13
|
+
signingKeys?: Record<string, string> | null;
|
|
12
14
|
signer?: string;
|
|
13
15
|
}
|
|
14
16
|
export interface GovernanceEvaluationResult {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"governance.d.ts","sourceRoot":"","sources":["../../src/utils/governance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AASpD,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,uBAAuB,EACvB,wBAAwB,EACxB,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EAEvB,MAAM,mBAAmB,CAAC;AAO3B,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,aAAa,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC7C,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,sBAAsB,EAAE,aAAa,CAAC;IACtC,aAAa,EAAE;QACb,WAAW,EAAE,OAAO,CAAC;QACrB,SAAS,EAAE,OAAO,CAAC;QACnB,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;KACvC,CAAC;IACF,aAAa,EAAE,uBAAuB,CAAC;IACvC,mBAAmB,EAAE,qBAAqB,CAAC;IAC3C,WAAW,EAAE,iBAAiB,CAAC;IAC/B,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,kBAAkB,EAAE,wBAAwB,CAAC;IAC7C,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,EAAE,0BAA0B,CAAC;CAClD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,yBAAyB,GAAG,0BAA0B,
|
|
1
|
+
{"version":3,"file":"governance.d.ts","sourceRoot":"","sources":["../../src/utils/governance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AASpD,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,uBAAuB,EACvB,wBAAwB,EACxB,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EAEvB,MAAM,mBAAmB,CAAC;AAO3B,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,aAAa,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC7C,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,sBAAsB,EAAE,aAAa,CAAC;IACtC,aAAa,EAAE;QACb,WAAW,EAAE,OAAO,CAAC;QACrB,SAAS,EAAE,OAAO,CAAC;QACnB,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;KACvC,CAAC;IACF,aAAa,EAAE,uBAAuB,CAAC;IACvC,mBAAmB,EAAE,qBAAqB,CAAC;IAC3C,WAAW,EAAE,iBAAiB,CAAC;IAC/B,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,kBAAkB,EAAE,wBAAwB,CAAC;IAC7C,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,EAAE,0BAA0B,CAAC;CAClD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,yBAAyB,GAAG,0BAA0B,CA+E/F"}
|
package/dist/utils/governance.js
CHANGED
|
@@ -30,6 +30,7 @@ function evaluateGovernance(input) {
|
|
|
30
30
|
const governanceDecision = (0, analysis_1.evaluateGovernanceDecision)(analysis.changeJustification, analysis.blastRadius, analysis.suspiciousChange, contextPolicy);
|
|
31
31
|
const writtenChangeLog = (0, analysis_1.writeAiChangeLogWithIntegrity)(input.projectRoot, analysis.changeJustification, {
|
|
32
32
|
signingKey: input.signingKey,
|
|
33
|
+
keyId: input.signingKeyId,
|
|
33
34
|
signer: input.signer,
|
|
34
35
|
});
|
|
35
36
|
let aiChangeLogIntegrity = writtenChangeLog.integrity;
|
|
@@ -39,6 +40,7 @@ function evaluateGovernance(input) {
|
|
|
39
40
|
aiChangeLogIntegrity = (0, analysis_1.verifyAiChangeLogIntegrity)(input.projectRoot, {
|
|
40
41
|
requiredSigned: true,
|
|
41
42
|
signingKey: input.signingKey,
|
|
43
|
+
signingKeys: input.signingKeys || undefined,
|
|
42
44
|
});
|
|
43
45
|
}
|
|
44
46
|
if (requireSignedAiLogs && !aiChangeLogIntegrity.valid) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"governance.js","sourceRoot":"","sources":["../../src/utils/governance.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"governance.js","sourceRoot":"","sources":["../../src/utils/governance.ts"],"names":[],"mappings":"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"}
|