avana-cli 2.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.
Files changed (100) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/LICENSE +21 -0
  3. package/README.md +584 -0
  4. package/dist/cli.d.ts +7 -0
  5. package/dist/cli.d.ts.map +1 -0
  6. package/dist/cli.js +153 -0
  7. package/dist/cli.js.map +1 -0
  8. package/dist/commands/install.d.ts +6 -0
  9. package/dist/commands/install.d.ts.map +1 -0
  10. package/dist/commands/install.js +101 -0
  11. package/dist/commands/install.js.map +1 -0
  12. package/dist/commands/scan.d.ts +19 -0
  13. package/dist/commands/scan.d.ts.map +1 -0
  14. package/dist/commands/scan.js +383 -0
  15. package/dist/commands/scan.js.map +1 -0
  16. package/dist/commands/uninstall.d.ts +6 -0
  17. package/dist/commands/uninstall.d.ts.map +1 -0
  18. package/dist/commands/uninstall.js +80 -0
  19. package/dist/commands/uninstall.js.map +1 -0
  20. package/dist/index.d.ts +97 -0
  21. package/dist/index.d.ts.map +1 -0
  22. package/dist/index.js +475 -0
  23. package/dist/index.js.map +1 -0
  24. package/dist/rules/additional-patterns.d.ts +12 -0
  25. package/dist/rules/additional-patterns.d.ts.map +1 -0
  26. package/dist/rules/additional-patterns.js +170 -0
  27. package/dist/rules/additional-patterns.js.map +1 -0
  28. package/dist/rules/code-patterns.d.ts +26 -0
  29. package/dist/rules/code-patterns.d.ts.map +1 -0
  30. package/dist/rules/code-patterns.js +220 -0
  31. package/dist/rules/code-patterns.js.map +1 -0
  32. package/dist/rules/secret-patterns.d.ts +28 -0
  33. package/dist/rules/secret-patterns.d.ts.map +1 -0
  34. package/dist/rules/secret-patterns.js +1729 -0
  35. package/dist/rules/secret-patterns.js.map +1 -0
  36. package/dist/scanners/secret-scanner.d.ts +34 -0
  37. package/dist/scanners/secret-scanner.d.ts.map +1 -0
  38. package/dist/scanners/secret-scanner.js +281 -0
  39. package/dist/scanners/secret-scanner.js.map +1 -0
  40. package/dist/types/index.d.ts +116 -0
  41. package/dist/types/index.d.ts.map +1 -0
  42. package/dist/types/index.js +7 -0
  43. package/dist/types/index.js.map +1 -0
  44. package/dist/utils/error-handler.d.ts +126 -0
  45. package/dist/utils/error-handler.d.ts.map +1 -0
  46. package/dist/utils/error-handler.js +222 -0
  47. package/dist/utils/error-handler.js.map +1 -0
  48. package/dist/utils/exit-codes.d.ts +52 -0
  49. package/dist/utils/exit-codes.d.ts.map +1 -0
  50. package/dist/utils/exit-codes.js +89 -0
  51. package/dist/utils/exit-codes.js.map +1 -0
  52. package/dist/utils/file-stream-scanner.d.ts +31 -0
  53. package/dist/utils/file-stream-scanner.d.ts.map +1 -0
  54. package/dist/utils/file-stream-scanner.js +159 -0
  55. package/dist/utils/file-stream-scanner.js.map +1 -0
  56. package/dist/utils/file-type-detector.d.ts +45 -0
  57. package/dist/utils/file-type-detector.d.ts.map +1 -0
  58. package/dist/utils/file-type-detector.js +237 -0
  59. package/dist/utils/file-type-detector.js.map +1 -0
  60. package/dist/utils/ignore-pattern-manager.d.ts +61 -0
  61. package/dist/utils/ignore-pattern-manager.d.ts.map +1 -0
  62. package/dist/utils/ignore-pattern-manager.js +204 -0
  63. package/dist/utils/ignore-pattern-manager.js.map +1 -0
  64. package/dist/utils/json-output-formatter.d.ts +232 -0
  65. package/dist/utils/json-output-formatter.d.ts.map +1 -0
  66. package/dist/utils/json-output-formatter.js +367 -0
  67. package/dist/utils/json-output-formatter.js.map +1 -0
  68. package/dist/utils/logger.d.ts +181 -0
  69. package/dist/utils/logger.d.ts.map +1 -0
  70. package/dist/utils/logger.js +414 -0
  71. package/dist/utils/logger.js.map +1 -0
  72. package/dist/utils/markdown-output-formatter.d.ts +65 -0
  73. package/dist/utils/markdown-output-formatter.d.ts.map +1 -0
  74. package/dist/utils/markdown-output-formatter.js +316 -0
  75. package/dist/utils/markdown-output-formatter.js.map +1 -0
  76. package/dist/utils/memory-manager.d.ts +77 -0
  77. package/dist/utils/memory-manager.d.ts.map +1 -0
  78. package/dist/utils/memory-manager.js +157 -0
  79. package/dist/utils/memory-manager.js.map +1 -0
  80. package/dist/utils/parallel-scanner-worker.d.ts +19 -0
  81. package/dist/utils/parallel-scanner-worker.d.ts.map +1 -0
  82. package/dist/utils/parallel-scanner-worker.js +51 -0
  83. package/dist/utils/parallel-scanner-worker.js.map +1 -0
  84. package/dist/utils/parallel-scanner.d.ts +82 -0
  85. package/dist/utils/parallel-scanner.d.ts.map +1 -0
  86. package/dist/utils/parallel-scanner.js +229 -0
  87. package/dist/utils/parallel-scanner.js.map +1 -0
  88. package/dist/utils/pattern-validator.d.ts +108 -0
  89. package/dist/utils/pattern-validator.d.ts.map +1 -0
  90. package/dist/utils/pattern-validator.js +315 -0
  91. package/dist/utils/pattern-validator.js.map +1 -0
  92. package/dist/utils/progress-reporter.d.ts +68 -0
  93. package/dist/utils/progress-reporter.d.ts.map +1 -0
  94. package/dist/utils/progress-reporter.js +194 -0
  95. package/dist/utils/progress-reporter.js.map +1 -0
  96. package/dist/utils/result-cache.d.ts +99 -0
  97. package/dist/utils/result-cache.d.ts.map +1 -0
  98. package/dist/utils/result-cache.js +335 -0
  99. package/dist/utils/result-cache.js.map +1 -0
  100. package/package.json +80 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secret-patterns.js","sourceRoot":"","sources":["../../src/rules/secret-patterns.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Avana - Secret Scanner
3
+ * Scans files for hardcoded secrets, API keys, and credentials
4
+ */
5
+ import type { SecurityIssue, ScanOptions } from '../types';
6
+ export declare class SecretScanner {
7
+ private ignoreManager;
8
+ constructor();
9
+ /**
10
+ * Check if .gitignore properly excludes sensitive files
11
+ */
12
+ checkGitignore(dirPath: string): SecurityIssue[];
13
+ /**
14
+ * Scan a file for secrets
15
+ */
16
+ scanFile(filePath: string, customPatterns?: any[]): SecurityIssue[];
17
+ /**
18
+ * Scan multiple files
19
+ */
20
+ scanFiles(filePaths: string[]): SecurityIssue[];
21
+ /**
22
+ * Scan a directory recursively
23
+ */
24
+ scanDirectory(dirPath: string, options?: ScanOptions): SecurityIssue[];
25
+ /**
26
+ * Handle symbolic link safely
27
+ */
28
+ private handleSymbolicLink;
29
+ /**
30
+ * Get total pattern count
31
+ */
32
+ getPatternCount(): number;
33
+ }
34
+ //# sourceMappingURL=secret-scanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secret-scanner.d.ts","sourceRoot":"","sources":["../../src/scanners/secret-scanner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAK3D,qBAAa,aAAa;IACxB,OAAO,CAAC,aAAa,CAAuB;;IAK5C;;OAEG;IACI,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,EAAE;IAmDvD;;OAEG;IACI,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,GAAG,EAAE,GAAG,aAAa,EAAE;IAyC1E;;OAEG;IACI,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE;IAWtD;;OAEG;IACI,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,aAAa,EAAE;IAiF7E;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAqD1B;;OAEG;IACI,eAAe,IAAI,MAAM;CAGjC"}
@@ -0,0 +1,281 @@
1
+ "use strict";
2
+ /**
3
+ * Avana - Secret Scanner
4
+ * Scans files for hardcoded secrets, API keys, and credentials
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || (function () {
23
+ var ownKeys = function(o) {
24
+ ownKeys = Object.getOwnPropertyNames || function (o) {
25
+ var ar = [];
26
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ })();
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.SecretScanner = void 0;
41
+ const fs = __importStar(require("fs"));
42
+ const path = __importStar(require("path"));
43
+ const secret_patterns_1 = require("../rules/secret-patterns");
44
+ const additional_patterns_1 = require("../rules/additional-patterns");
45
+ const ignore_pattern_manager_1 = require("../utils/ignore-pattern-manager");
46
+ class SecretScanner {
47
+ ignoreManager;
48
+ constructor() {
49
+ this.ignoreManager = new ignore_pattern_manager_1.IgnorePatternManager();
50
+ }
51
+ /**
52
+ * Check if .gitignore properly excludes sensitive files
53
+ */
54
+ checkGitignore(dirPath) {
55
+ const issues = [];
56
+ const gitignorePath = path.join(dirPath, '.gitignore');
57
+ try {
58
+ if (!fs.existsSync(gitignorePath)) {
59
+ issues.push({
60
+ id: 'missing-gitignore',
61
+ type: 'configuration',
62
+ severity: 'high',
63
+ title: 'Missing .gitignore',
64
+ description: 'No .gitignore file found in project root',
65
+ file: dirPath,
66
+ line: 0,
67
+ code: '',
68
+ suggestion: 'Create a .gitignore file and add .env files to it',
69
+ });
70
+ return issues;
71
+ }
72
+ const gitignoreContent = fs.readFileSync(gitignorePath, 'utf-8');
73
+ const lines = gitignoreContent.split('\n').map(l => l.trim());
74
+ // Check if .env is in .gitignore
75
+ const hasEnvPattern = lines.some(line => {
76
+ // Check for .env patterns (exact match or starts with .env)
77
+ return line === '.env' ||
78
+ line.startsWith('.env') ||
79
+ line === '.env*';
80
+ });
81
+ if (!hasEnvPattern) {
82
+ issues.push({
83
+ id: 'gitignore-missing-env',
84
+ type: 'configuration',
85
+ severity: 'critical',
86
+ title: '.env Not in .gitignore',
87
+ description: '.env files are not excluded in .gitignore - secrets could be committed to GitHub!',
88
+ file: gitignorePath,
89
+ line: 0,
90
+ code: '',
91
+ suggestion: 'Add these lines to .gitignore:\n.env\n.env.local\n.env.*.local',
92
+ });
93
+ }
94
+ }
95
+ catch (error) {
96
+ console.error(`Error checking .gitignore:`, error);
97
+ }
98
+ return issues;
99
+ }
100
+ /**
101
+ * Scan a file for secrets
102
+ */
103
+ scanFile(filePath, customPatterns) {
104
+ const issues = [];
105
+ try {
106
+ const content = fs.readFileSync(filePath, 'utf-8');
107
+ const lines = content.split('\n');
108
+ // Use custom patterns if provided, otherwise use all patterns
109
+ const patterns = customPatterns || [
110
+ ...(0, secret_patterns_1.getAllSecretPatterns)(),
111
+ ...(0, additional_patterns_1.getAdditionalSecretPatterns)()
112
+ ];
113
+ patterns.forEach(pattern => {
114
+ lines.forEach((line, lineIndex) => {
115
+ const matches = line.matchAll(pattern.pattern);
116
+ for (const match of matches) {
117
+ issues.push({
118
+ id: `${pattern.id}-${filePath}-${lineIndex}`,
119
+ type: 'secret',
120
+ severity: pattern.severity,
121
+ title: pattern.name,
122
+ description: pattern.description,
123
+ file: filePath,
124
+ line: lineIndex + 1,
125
+ column: match.index,
126
+ code: line.trim(),
127
+ suggestion: pattern.suggestion,
128
+ });
129
+ }
130
+ });
131
+ });
132
+ }
133
+ catch (error) {
134
+ // Re-throw the error so the worker can handle it
135
+ throw error;
136
+ }
137
+ return issues;
138
+ }
139
+ /**
140
+ * Scan multiple files
141
+ */
142
+ scanFiles(filePaths) {
143
+ const allIssues = [];
144
+ filePaths.forEach(filePath => {
145
+ const issues = this.scanFile(filePath);
146
+ allIssues.push(...issues);
147
+ });
148
+ return allIssues;
149
+ }
150
+ /**
151
+ * Scan a directory recursively
152
+ */
153
+ scanDirectory(dirPath, options) {
154
+ const issues = [];
155
+ const visitedPaths = new Set(); // Track visited paths to prevent circular links
156
+ // Initialize ignore patterns
157
+ this.ignoreManager = new ignore_pattern_manager_1.IgnorePatternManager(options?.verbose);
158
+ this.ignoreManager.loadPatterns(dirPath);
159
+ // Add CLI ignore patterns if provided
160
+ if (options?.config?.ignore) {
161
+ this.ignoreManager.addPatterns(options.config.ignore);
162
+ }
163
+ const scanDir = (currentPath) => {
164
+ // Get real path to detect circular links
165
+ let realPath;
166
+ try {
167
+ realPath = fs.realpathSync(currentPath);
168
+ }
169
+ catch (error) {
170
+ if (options?.verbose) {
171
+ console.log(`⚠️ Cannot resolve path: ${currentPath}`);
172
+ }
173
+ return;
174
+ }
175
+ // Check for circular symbolic links
176
+ if (visitedPaths.has(realPath)) {
177
+ if (options?.verbose) {
178
+ console.log(`🔄 Circular symbolic link detected, skipping: ${currentPath}`);
179
+ }
180
+ return;
181
+ }
182
+ visitedPaths.add(realPath);
183
+ let entries;
184
+ try {
185
+ entries = fs.readdirSync(currentPath, { withFileTypes: true });
186
+ }
187
+ catch (error) {
188
+ if (options?.verbose) {
189
+ console.log(`⚠️ Cannot read directory: ${currentPath}`);
190
+ }
191
+ return;
192
+ }
193
+ entries.forEach(entry => {
194
+ const fullPath = path.join(currentPath, entry.name);
195
+ const relativePath = path.relative(dirPath, fullPath);
196
+ // Check if path should be ignored using IgnorePatternManager
197
+ if (this.ignoreManager.shouldIgnore(relativePath)) {
198
+ return;
199
+ }
200
+ try {
201
+ // Use lstat to detect symbolic links
202
+ const stats = fs.lstatSync(fullPath);
203
+ if (stats.isSymbolicLink()) {
204
+ // Handle symbolic link
205
+ this.handleSymbolicLink(fullPath, dirPath, options, issues, scanDir);
206
+ }
207
+ else if (stats.isDirectory()) {
208
+ scanDir(fullPath);
209
+ }
210
+ else if (stats.isFile()) {
211
+ const fileIssues = this.scanFile(fullPath);
212
+ issues.push(...fileIssues);
213
+ }
214
+ }
215
+ catch (error) {
216
+ if (options?.verbose) {
217
+ console.log(`⚠️ Cannot access: ${fullPath} - ${error instanceof Error ? error.message : String(error)}`);
218
+ }
219
+ }
220
+ });
221
+ // Remove from visited paths when done with this directory
222
+ visitedPaths.delete(realPath);
223
+ };
224
+ scanDir(dirPath);
225
+ return issues;
226
+ }
227
+ /**
228
+ * Handle symbolic link safely
229
+ */
230
+ handleSymbolicLink(linkPath, scanRootPath, options, issues, scanDir) {
231
+ try {
232
+ // Get the target of the symbolic link
233
+ const linkTarget = fs.readlinkSync(linkPath);
234
+ const resolvedTarget = path.resolve(path.dirname(linkPath), linkTarget);
235
+ if (options?.verbose) {
236
+ console.log(`🔗 Symbolic link found: ${linkPath} -> ${resolvedTarget}`);
237
+ }
238
+ // Check if the target is within the scan directory
239
+ const scanRootReal = fs.realpathSync(scanRootPath);
240
+ const targetReal = fs.realpathSync(resolvedTarget);
241
+ if (!targetReal.startsWith(scanRootReal)) {
242
+ if (options?.verbose) {
243
+ console.log(`🚫 Symbolic link target outside scan directory, skipping: ${linkPath}`);
244
+ }
245
+ return;
246
+ }
247
+ // Check if target exists and get its stats
248
+ const targetStats = fs.statSync(resolvedTarget);
249
+ if (targetStats.isDirectory()) {
250
+ if (options?.verbose) {
251
+ console.log(`📁 Following symbolic link to directory: ${linkPath}`);
252
+ }
253
+ if (scanDir) {
254
+ scanDir(resolvedTarget);
255
+ }
256
+ }
257
+ else if (targetStats.isFile()) {
258
+ if (options?.verbose) {
259
+ console.log(`📄 Following symbolic link to file: ${linkPath}`);
260
+ }
261
+ if (issues) {
262
+ const fileIssues = this.scanFile(resolvedTarget);
263
+ issues.push(...fileIssues);
264
+ }
265
+ }
266
+ }
267
+ catch (error) {
268
+ if (options?.verbose) {
269
+ console.log(`⚠️ Cannot follow symbolic link: ${linkPath} - ${error instanceof Error ? error.message : String(error)}`);
270
+ }
271
+ }
272
+ }
273
+ /**
274
+ * Get total pattern count
275
+ */
276
+ getPatternCount() {
277
+ return (0, secret_patterns_1.getAllSecretPatterns)().length + (0, additional_patterns_1.getAdditionalSecretPatterns)().length;
278
+ }
279
+ }
280
+ exports.SecretScanner = SecretScanner;
281
+ //# sourceMappingURL=secret-scanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secret-scanner.js","sourceRoot":"","sources":["../../src/scanners/secret-scanner.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAE7B,8DAAgE;AAChE,sEAA2E;AAC3E,4EAAuE;AAEvE,MAAa,aAAa;IAChB,aAAa,CAAuB;IAE5C;QACE,IAAI,CAAC,aAAa,GAAG,IAAI,6CAAoB,EAAE,CAAC;IAClD,CAAC;IACD;;OAEG;IACI,cAAc,CAAC,OAAe;QACnC,MAAM,MAAM,GAAoB,EAAE,CAAC;QACnC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAEvD,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC;oBACV,EAAE,EAAE,mBAAmB;oBACvB,IAAI,EAAE,eAAe;oBACrB,QAAQ,EAAE,MAAM;oBAChB,KAAK,EAAE,oBAAoB;oBAC3B,WAAW,EAAE,0CAA0C;oBACvD,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,CAAC;oBACP,IAAI,EAAE,EAAE;oBACR,UAAU,EAAE,mDAAmD;iBAChE,CAAC,CAAC;gBACH,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,MAAM,gBAAgB,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YACjE,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAE9D,iCAAiC;YACjC,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACtC,4DAA4D;gBAC5D,OAAO,IAAI,KAAK,MAAM;oBACf,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;oBACvB,IAAI,KAAK,OAAO,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,CAAC;oBACV,EAAE,EAAE,uBAAuB;oBAC3B,IAAI,EAAE,eAAe;oBACrB,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,wBAAwB;oBAC/B,WAAW,EAAE,mFAAmF;oBAChG,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,CAAC;oBACP,IAAI,EAAE,EAAE;oBACR,UAAU,EAAE,gEAAgE;iBAC7E,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,QAAQ,CAAC,QAAgB,EAAE,cAAsB;QACtD,MAAM,MAAM,GAAoB,EAAE,CAAC;QAEnC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAElC,8DAA8D;YAC9D,MAAM,QAAQ,GAAG,cAAc,IAAI;gBACjC,GAAG,IAAA,sCAAoB,GAAE;gBACzB,GAAG,IAAA,iDAA2B,GAAE;aACjC,CAAC;YAEF,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBACzB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;oBAChC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBAE/C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;wBAC5B,MAAM,CAAC,IAAI,CAAC;4BACV,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,QAAQ,IAAI,SAAS,EAAE;4BAC5C,IAAI,EAAE,QAAQ;4BACd,QAAQ,EAAE,OAAO,CAAC,QAAQ;4BAC1B,KAAK,EAAE,OAAO,CAAC,IAAI;4BACnB,WAAW,EAAE,OAAO,CAAC,WAAW;4BAChC,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,SAAS,GAAG,CAAC;4BACnB,MAAM,EAAE,KAAK,CAAC,KAAK;4BACnB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;4BACjB,UAAU,EAAE,OAAO,CAAC,UAAU;yBAC/B,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iDAAiD;YACjD,MAAM,KAAK,CAAC;QACd,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,SAAS,CAAC,SAAmB;QAClC,MAAM,SAAS,GAAoB,EAAE,CAAC;QAEtC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACvC,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACI,aAAa,CAAC,OAAe,EAAE,OAAqB;QACzD,MAAM,MAAM,GAAoB,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC,CAAC,gDAAgD;QAExF,6BAA6B;QAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,6CAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAChE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAEzC,sCAAsC;QACtC,IAAI,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,WAAmB,EAAE,EAAE;YACtC,yCAAyC;YACzC,IAAI,QAAgB,CAAC;YACrB,IAAI,CAAC;gBACH,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YAC1C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;oBACrB,OAAO,CAAC,GAAG,CAAC,4BAA4B,WAAW,EAAE,CAAC,CAAC;gBACzD,CAAC;gBACD,OAAO;YACT,CAAC;YAED,oCAAoC;YACpC,IAAI,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/B,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;oBACrB,OAAO,CAAC,GAAG,CAAC,iDAAiD,WAAW,EAAE,CAAC,CAAC;gBAC9E,CAAC;gBACD,OAAO;YACT,CAAC;YACD,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAE3B,IAAI,OAAoB,CAAC;YACzB,IAAI,CAAC;gBACH,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YACjE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;oBACrB,OAAO,CAAC,GAAG,CAAC,8BAA8B,WAAW,EAAE,CAAC,CAAC;gBAC3D,CAAC;gBACD,OAAO;YACT,CAAC;YAED,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBACpD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAEtD,6DAA6D;gBAC7D,IAAI,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC;oBAClD,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC;oBACH,qCAAqC;oBACrC,MAAM,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;oBAErC,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;wBAC3B,uBAAuB;wBACvB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;oBACvE,CAAC;yBAAM,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;wBAC/B,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACpB,CAAC;yBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;wBAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;wBAC3C,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;oBAC7B,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;wBACrB,OAAO,CAAC,GAAG,CAAC,sBAAsB,QAAQ,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC5G,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,0DAA0D;YAC1D,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC,CAAC;QAEF,OAAO,CAAC,OAAO,CAAC,CAAC;QACjB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,kBAAkB,CACxB,QAAgB,EAChB,YAAoB,EACpB,OAAqB,EACrB,MAAwB,EACxB,OAAgC;QAEhC,IAAI,CAAC;YACH,sCAAsC;YACtC,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC7C,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAC;YAExE,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,2BAA2B,QAAQ,OAAO,cAAc,EAAE,CAAC,CAAC;YAC1E,CAAC;YAED,mDAAmD;YACnD,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YACnD,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;YAEnD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBACzC,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;oBACrB,OAAO,CAAC,GAAG,CAAC,6DAA6D,QAAQ,EAAE,CAAC,CAAC;gBACvF,CAAC;gBACD,OAAO;YACT,CAAC;YAED,2CAA2C;YAC3C,MAAM,WAAW,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YAEhD,IAAI,WAAW,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC9B,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;oBACrB,OAAO,CAAC,GAAG,CAAC,4CAA4C,QAAQ,EAAE,CAAC,CAAC;gBACtE,CAAC;gBACD,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,cAAc,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;iBAAM,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;gBAChC,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;oBACrB,OAAO,CAAC,GAAG,CAAC,uCAAuC,QAAQ,EAAE,CAAC,CAAC;gBACjE,CAAC;gBACD,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;oBACjD,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,oCAAoC,QAAQ,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC1H,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACI,eAAe;QACpB,OAAO,IAAA,sCAAoB,GAAE,CAAC,MAAM,GAAG,IAAA,iDAA2B,GAAE,CAAC,MAAM,CAAC;IAC9E,CAAC;CACF;AAxQD,sCAwQC"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Avana - Core Types
3
+ * Shared type definitions for security scanning
4
+ */
5
+ export type SeverityLevel = 'critical' | 'high' | 'medium' | 'low' | 'info';
6
+ export type IssueType = 'secret' | 'vulnerability' | 'insecure-pattern' | 'gitignore' | 'configuration';
7
+ export type FileEncoding = 'utf-8' | 'utf-16' | 'latin-1' | 'ascii' | 'unknown';
8
+ export interface FileInfo {
9
+ path: string;
10
+ isBinary: boolean;
11
+ encoding: FileEncoding;
12
+ size: number;
13
+ shouldStream: boolean;
14
+ }
15
+ export interface SecurityIssue {
16
+ id: string;
17
+ type: IssueType;
18
+ severity: SeverityLevel;
19
+ title: string;
20
+ description: string;
21
+ file: string;
22
+ line?: number;
23
+ column?: number;
24
+ code?: string;
25
+ suggestion?: string;
26
+ cve?: string;
27
+ references?: string[];
28
+ }
29
+ export interface ScoreBreakdown {
30
+ baseScore: number;
31
+ criticalDeduction: number;
32
+ highDeduction: number;
33
+ mediumDeduction: number;
34
+ lowDeduction: number;
35
+ finalScore: number;
36
+ }
37
+ export interface ScanResult {
38
+ success: boolean;
39
+ timestamp: string;
40
+ duration: number;
41
+ filesScanned: number;
42
+ issues: SecurityIssue[];
43
+ summary: {
44
+ critical: number;
45
+ high: number;
46
+ medium: number;
47
+ low: number;
48
+ info: number;
49
+ };
50
+ securityScore?: number;
51
+ scoreBreakdown?: ScoreBreakdown;
52
+ }
53
+ export interface SecretPattern {
54
+ id: string;
55
+ name: string;
56
+ pattern: RegExp;
57
+ severity: SeverityLevel;
58
+ description: string;
59
+ suggestion: string;
60
+ }
61
+ export interface VulnerabilityInfo {
62
+ package: string;
63
+ version: string;
64
+ cve: string;
65
+ severity: SeverityLevel;
66
+ title: string;
67
+ description: string;
68
+ fixedIn?: string;
69
+ references: string[];
70
+ }
71
+ export interface SecurityConfig {
72
+ enabled: boolean;
73
+ scanOnCommit: boolean;
74
+ scanOnPush: boolean;
75
+ blockOnCritical: boolean;
76
+ rules: {
77
+ secrets: {
78
+ enabled: boolean;
79
+ patterns: string[];
80
+ };
81
+ dependencies: {
82
+ enabled: boolean;
83
+ checkVulnerabilities: boolean;
84
+ minSeverity: SeverityLevel;
85
+ };
86
+ codePatterns: {
87
+ enabled: boolean;
88
+ checks: string[];
89
+ };
90
+ };
91
+ ignore: string[];
92
+ notifications: {
93
+ cli: boolean;
94
+ web: boolean;
95
+ email: boolean;
96
+ };
97
+ }
98
+ export interface ScanOptions {
99
+ path: string;
100
+ config?: SecurityConfig;
101
+ stagedOnly?: boolean;
102
+ includeFiles?: string[];
103
+ verbose?: boolean;
104
+ }
105
+ export interface FixSuggestion {
106
+ issueId: string;
107
+ type: 'auto' | 'manual';
108
+ description: string;
109
+ commands?: string[];
110
+ fileChanges?: {
111
+ file: string;
112
+ oldContent: string;
113
+ newContent: string;
114
+ }[];
115
+ }
116
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * Avana - Core Types
4
+ * Shared type definitions for security scanning
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -0,0 +1,126 @@
1
+ /**
2
+ * Error Handler
3
+ * Centralized error handling with proper exit codes and error tracking
4
+ */
5
+ /**
6
+ * Exit codes for the CLI
7
+ */
8
+ export declare enum ExitCode {
9
+ SUCCESS = 0,
10
+ ISSUES_FOUND = 1,
11
+ INVALID_USAGE = 2,
12
+ UNEXPECTED_ERROR = 3
13
+ }
14
+ /**
15
+ * Custom error types for different error categories
16
+ */
17
+ /**
18
+ * File permission error - thrown when file cannot be read due to permissions
19
+ */
20
+ export declare class FilePermissionError extends Error {
21
+ filePath: string;
22
+ constructor(filePath: string, message?: string);
23
+ }
24
+ /**
25
+ * File not found error - thrown when file doesn't exist
26
+ */
27
+ export declare class FileNotFoundError extends Error {
28
+ filePath: string;
29
+ constructor(filePath: string, message?: string);
30
+ }
31
+ /**
32
+ * Invalid encoding error - thrown when file encoding cannot be processed
33
+ */
34
+ export declare class InvalidEncodingError extends Error {
35
+ filePath: string;
36
+ encoding: string;
37
+ constructor(filePath: string, encoding: string, message?: string);
38
+ }
39
+ /**
40
+ * Configuration error - thrown when configuration is invalid
41
+ */
42
+ export declare class ConfigurationError extends Error {
43
+ configKey: string;
44
+ constructor(configKey: string, message?: string);
45
+ }
46
+ /**
47
+ * Out of memory error - thrown when memory limit is exceeded
48
+ */
49
+ export declare class OutOfMemoryError extends Error {
50
+ currentUsage: number;
51
+ limit: number;
52
+ constructor(currentUsage: number, limit: number, message?: string);
53
+ }
54
+ /**
55
+ * Pattern compilation error - thrown when regex pattern fails to compile
56
+ */
57
+ export declare class PatternCompilationError extends Error {
58
+ patternId: string;
59
+ pattern: string;
60
+ constructor(patternId: string, pattern: string, message?: string);
61
+ }
62
+ /**
63
+ * Error information for tracking
64
+ */
65
+ interface ErrorInfo {
66
+ type: string;
67
+ message: string;
68
+ filePath?: string;
69
+ timestamp: Date;
70
+ stack?: string;
71
+ }
72
+ /**
73
+ * Error Handler class
74
+ * Centralized error handling with logging and tracking
75
+ */
76
+ export declare class ErrorHandler {
77
+ private errors;
78
+ private debugMode;
79
+ constructor(debugMode?: boolean);
80
+ /**
81
+ * Handle file-related errors (permission, not found, encoding)
82
+ * These errors should not stop the scan - log and continue
83
+ */
84
+ handleFileError(filePath: string, error: Error): void;
85
+ /**
86
+ * Handle scan-related errors (unexpected errors during scanning)
87
+ * These errors should not stop the scan - log and continue
88
+ */
89
+ handleScanError(error: Error): void;
90
+ /**
91
+ * Handle validation errors (invalid arguments, configuration)
92
+ * These errors should stop execution immediately
93
+ */
94
+ handleValidationError(message: string): never;
95
+ /**
96
+ * Handle critical errors (out of memory, system errors)
97
+ * These errors should stop execution immediately
98
+ */
99
+ handleCriticalError(error: Error): never;
100
+ /**
101
+ * Get total error count
102
+ */
103
+ getErrorCount(): number;
104
+ /**
105
+ * Get all errors
106
+ */
107
+ getErrors(): ErrorInfo[];
108
+ /**
109
+ * Get errors by type
110
+ */
111
+ getErrorsByType(type: string): ErrorInfo[];
112
+ /**
113
+ * Clear all errors
114
+ */
115
+ clearErrors(): void;
116
+ /**
117
+ * Check if there are any errors
118
+ */
119
+ hasErrors(): boolean;
120
+ /**
121
+ * Get error summary
122
+ */
123
+ getErrorSummary(): Record<string, number>;
124
+ }
125
+ export {};
126
+ //# sourceMappingURL=error-handler.d.ts.map