vibe-guard 1.1.4 → 1.2.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 (140) hide show
  1. package/README.md +163 -283
  2. package/dist/bin/vibe-guard.js +240 -22
  3. package/dist/bin/vibe-guard.js.map +1 -1
  4. package/dist/config.d.ts +0 -18
  5. package/dist/config.d.ts.map +1 -1
  6. package/dist/config.js +5 -26
  7. package/dist/config.js.map +1 -1
  8. package/dist/index.d.ts +0 -6
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +5 -8
  11. package/dist/index.js.map +1 -1
  12. package/dist/reporter.d.ts.map +1 -1
  13. package/dist/reporter.js +41 -19
  14. package/dist/reporter.js.map +1 -1
  15. package/dist/rules/ai-agent-access-control.d.ts +27 -2
  16. package/dist/rules/ai-agent-access-control.d.ts.map +1 -1
  17. package/dist/rules/ai-agent-access-control.js +393 -19
  18. package/dist/rules/ai-agent-access-control.js.map +1 -1
  19. package/dist/rules/ai-data-leakage-prevention.d.ts +25 -2
  20. package/dist/rules/ai-data-leakage-prevention.d.ts.map +1 -1
  21. package/dist/rules/ai-data-leakage-prevention.js +409 -21
  22. package/dist/rules/ai-data-leakage-prevention.js.map +1 -1
  23. package/dist/rules/ai-generated-code-validation.d.ts +28 -7
  24. package/dist/rules/ai-generated-code-validation.d.ts.map +1 -1
  25. package/dist/rules/ai-generated-code-validation.js +367 -96
  26. package/dist/rules/ai-generated-code-validation.js.map +1 -1
  27. package/dist/rules/broken-access-control.d.ts +40 -5
  28. package/dist/rules/broken-access-control.d.ts.map +1 -1
  29. package/dist/rules/broken-access-control.js +595 -144
  30. package/dist/rules/broken-access-control.js.map +1 -1
  31. package/dist/rules/container-registry-security.d.ts +21 -0
  32. package/dist/rules/container-registry-security.d.ts.map +1 -0
  33. package/dist/rules/container-registry-security.js +271 -0
  34. package/dist/rules/container-registry-security.js.map +1 -0
  35. package/dist/rules/csrf-protection.d.ts +25 -4
  36. package/dist/rules/csrf-protection.d.ts.map +1 -1
  37. package/dist/rules/csrf-protection.js +328 -81
  38. package/dist/rules/csrf-protection.js.map +1 -1
  39. package/dist/rules/directory-traversal.d.ts +33 -5
  40. package/dist/rules/directory-traversal.d.ts.map +1 -1
  41. package/dist/rules/directory-traversal.js +470 -171
  42. package/dist/rules/directory-traversal.js.map +1 -1
  43. package/dist/rules/dockerfile-security.d.ts +20 -0
  44. package/dist/rules/dockerfile-security.d.ts.map +1 -0
  45. package/dist/rules/dockerfile-security.js +280 -0
  46. package/dist/rules/dockerfile-security.js.map +1 -0
  47. package/dist/rules/exposed-secrets.d.ts +25 -4
  48. package/dist/rules/exposed-secrets.d.ts.map +1 -1
  49. package/dist/rules/exposed-secrets.js +355 -95
  50. package/dist/rules/exposed-secrets.js.map +1 -1
  51. package/dist/rules/hardcoded-sensitive-data.d.ts +32 -2
  52. package/dist/rules/hardcoded-sensitive-data.d.ts.map +1 -1
  53. package/dist/rules/hardcoded-sensitive-data.js +426 -29
  54. package/dist/rules/hardcoded-sensitive-data.js.map +1 -1
  55. package/dist/rules/index.d.ts +9 -1
  56. package/dist/rules/index.d.ts.map +1 -1
  57. package/dist/rules/index.js +25 -1
  58. package/dist/rules/index.js.map +1 -1
  59. package/dist/rules/insecure-configuration.d.ts +16 -5
  60. package/dist/rules/insecure-configuration.d.ts.map +1 -1
  61. package/dist/rules/insecure-configuration.js +457 -64
  62. package/dist/rules/insecure-configuration.js.map +1 -1
  63. package/dist/rules/insecure-dependencies.d.ts +46 -1
  64. package/dist/rules/insecure-dependencies.d.ts.map +1 -1
  65. package/dist/rules/insecure-dependencies.js +678 -51
  66. package/dist/rules/insecure-dependencies.js.map +1 -1
  67. package/dist/rules/insecure-deserialization.d.ts +29 -4
  68. package/dist/rules/insecure-deserialization.d.ts.map +1 -1
  69. package/dist/rules/insecure-deserialization.js +531 -101
  70. package/dist/rules/insecure-deserialization.js.map +1 -1
  71. package/dist/rules/insecure-error-handling.d.ts +35 -4
  72. package/dist/rules/insecure-error-handling.d.ts.map +1 -1
  73. package/dist/rules/insecure-error-handling.js +590 -87
  74. package/dist/rules/insecure-error-handling.js.map +1 -1
  75. package/dist/rules/insecure-file-upload.d.ts +37 -5
  76. package/dist/rules/insecure-file-upload.d.ts.map +1 -1
  77. package/dist/rules/insecure-file-upload.js +690 -138
  78. package/dist/rules/insecure-file-upload.js.map +1 -1
  79. package/dist/rules/insecure-http.d.ts +31 -2
  80. package/dist/rules/insecure-http.d.ts.map +1 -1
  81. package/dist/rules/insecure-http.js +547 -61
  82. package/dist/rules/insecure-http.js.map +1 -1
  83. package/dist/rules/insecure-logging.d.ts +6 -1
  84. package/dist/rules/insecure-logging.d.ts.map +1 -1
  85. package/dist/rules/insecure-logging.js +430 -109
  86. package/dist/rules/insecure-logging.js.map +1 -1
  87. package/dist/rules/insecure-random-generation.d.ts +4 -1
  88. package/dist/rules/insecure-random-generation.d.ts.map +1 -1
  89. package/dist/rules/insecure-random-generation.js +239 -99
  90. package/dist/rules/insecure-random-generation.js.map +1 -1
  91. package/dist/rules/insecure-session-management.d.ts +4 -0
  92. package/dist/rules/insecure-session-management.d.ts.map +1 -1
  93. package/dist/rules/insecure-session-management.js +359 -54
  94. package/dist/rules/insecure-session-management.js.map +1 -1
  95. package/dist/rules/kubernetes-security.d.ts +17 -0
  96. package/dist/rules/kubernetes-security.d.ts.map +1 -0
  97. package/dist/rules/kubernetes-security.js +314 -0
  98. package/dist/rules/kubernetes-security.js.map +1 -0
  99. package/dist/rules/mcp-server-security.d.ts +32 -3
  100. package/dist/rules/mcp-server-security.d.ts.map +1 -1
  101. package/dist/rules/mcp-server-security.js +511 -39
  102. package/dist/rules/mcp-server-security.js.map +1 -1
  103. package/dist/rules/missing-authentication.d.ts +4 -0
  104. package/dist/rules/missing-authentication.d.ts.map +1 -1
  105. package/dist/rules/missing-authentication.js +263 -62
  106. package/dist/rules/missing-authentication.js.map +1 -1
  107. package/dist/rules/missing-security-headers.d.ts +32 -3
  108. package/dist/rules/missing-security-headers.d.ts.map +1 -1
  109. package/dist/rules/missing-security-headers.js +548 -95
  110. package/dist/rules/missing-security-headers.js.map +1 -1
  111. package/dist/rules/open-cors.d.ts +3 -0
  112. package/dist/rules/open-cors.d.ts.map +1 -1
  113. package/dist/rules/open-cors.js +202 -57
  114. package/dist/rules/open-cors.js.map +1 -1
  115. package/dist/rules/prompt-injection-detection.d.ts +33 -3
  116. package/dist/rules/prompt-injection-detection.d.ts.map +1 -1
  117. package/dist/rules/prompt-injection-detection.js +571 -43
  118. package/dist/rules/prompt-injection-detection.js.map +1 -1
  119. package/dist/rules/sql-injection.d.ts +27 -3
  120. package/dist/rules/sql-injection.d.ts.map +1 -1
  121. package/dist/rules/sql-injection.js +471 -61
  122. package/dist/rules/sql-injection.js.map +1 -1
  123. package/dist/rules/unvalidated-input.d.ts +20 -4
  124. package/dist/rules/unvalidated-input.d.ts.map +1 -1
  125. package/dist/rules/unvalidated-input.js +557 -128
  126. package/dist/rules/unvalidated-input.js.map +1 -1
  127. package/dist/rules/xss-detection.d.ts +25 -4
  128. package/dist/rules/xss-detection.d.ts.map +1 -1
  129. package/dist/rules/xss-detection.js +702 -135
  130. package/dist/rules/xss-detection.js.map +1 -1
  131. package/dist/scanner.d.ts.map +1 -1
  132. package/dist/scanner.js +11 -6
  133. package/dist/scanner.js.map +1 -1
  134. package/dist/types/index.d.ts +4 -0
  135. package/dist/types/index.d.ts.map +1 -1
  136. package/dist/types/index.js.map +1 -1
  137. package/dist/types/version.d.ts +1 -1
  138. package/dist/types/version.js +1 -1
  139. package/package.json +8 -3
  140. package/CHANGELOG.md +0 -102
@@ -42,14 +42,65 @@ const chalk_1 = __importDefault(require("chalk"));
42
42
  const index_1 = __importDefault(require("../index"));
43
43
  const version_1 = require("../types/version");
44
44
  const program = new commander_1.Command();
45
+ // ASCII Art Logo
46
+ function displayLogo() {
47
+ // Professional blue gradient effect
48
+ const logo = [
49
+ '██╗ ██╗██╗██████╗ ███████╗ ██████╗ ██╗ ██╗ █████╗ ██████╗ ██████╗ ',
50
+ '╚██╗ ██╔╝██║██╔══██╗██╔════╝ ██╔════╝ ██║ ██║██╔══██╗██╔══██╗██╔══██╗',
51
+ ' ╚████╔╝ ██║██████╔╝█████╗ ██║ ███╗██║ ██║███████║██████╔╝██║ ██║',
52
+ ' ╚██╔╝ ██║██╔══██╗██╔══╝ ██║ ██║██║ ██║██╔══██║██╔══██╗██║ ██║',
53
+ ' ██║ ██║██████╔╝███████╗ ╚██████╔╝╚██████╔╝██║ ██║██║ ██║██████╔╝',
54
+ ' ╚═╝ ╚═╝╚═════╝ ╚══════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═════╝ '
55
+ ];
56
+ // Subtle gradient from dark blue to lighter blue
57
+ logo.forEach((line, index) => {
58
+ let color;
59
+ switch (index) {
60
+ case 0:
61
+ color = chalk_1.default.blue;
62
+ break;
63
+ case 1:
64
+ color = chalk_1.default.blueBright;
65
+ break;
66
+ case 2:
67
+ color = chalk_1.default.cyan;
68
+ break;
69
+ case 3:
70
+ color = chalk_1.default.cyanBright;
71
+ break;
72
+ case 4:
73
+ color = chalk_1.default.blueBright;
74
+ break;
75
+ case 5:
76
+ color = chalk_1.default.blue;
77
+ break;
78
+ default: color = chalk_1.default.blue;
79
+ }
80
+ console.log(color.bold(line));
81
+ });
82
+ // Clean subtitle with subtle accent
83
+ console.log(chalk_1.default.blue.bold(' ██ SECURITY SCANNER ██\n'));
84
+ }
45
85
  program
46
86
  .name('vibe-guard')
47
- .description('🛡️ Vibe-Guard Security Scanner - Catch security issues before they catch you!')
48
- .version(version_1.VERSION);
87
+ .description('██ Vibe-Guard Security Scanner - Catch security issues before they catch you!')
88
+ .version(version_1.VERSION)
89
+ .hook('preAction', () => {
90
+ displayLogo();
91
+ });
49
92
  const fs = __importStar(require("fs"));
50
93
  async function handleScan(target, options) {
51
94
  try {
52
- console.log(chalk_1.default.blue.bold('🛡️ Starting Vibe-Guard Security Scan...\n'));
95
+ console.log(chalk_1.default.blue.bold('╔══════════════════════════════════════════════════════════════════════════════╗'));
96
+ console.log(chalk_1.default.blue.bold('║ STARTING VIBE-GUARD SECURITY SCAN ║'));
97
+ console.log(chalk_1.default.blue.bold('║ THREAT DETECTION ACTIVE ║'));
98
+ console.log(chalk_1.default.blue.bold('╚══════════════════════════════════════════════════════════════════════════════╝\n'));
99
+ // Validate severity level if provided
100
+ if (options.severity && !['critical', 'high', 'medium', 'low'].includes(options.severity)) {
101
+ console.error(chalk_1.default.red.bold('❌ Error: Invalid severity level. Must be one of: critical, high, medium, low'));
102
+ process.exit(1);
103
+ }
53
104
  const scanOptions = {
54
105
  target,
55
106
  format: options.format,
@@ -57,6 +108,15 @@ async function handleScan(target, options) {
57
108
  exclude: options.exclude,
58
109
  include: options.include
59
110
  };
111
+ // Add optional properties only when they have values
112
+ if (options.severity)
113
+ scanOptions.severity = options.severity;
114
+ if (options.config)
115
+ scanOptions.config = options.config;
116
+ if (options.parallel)
117
+ scanOptions.parallel = options.parallel;
118
+ if (options.maxFiles)
119
+ scanOptions.maxFiles = parseInt(options.maxFiles);
60
120
  const vibeGuard = new index_1.default();
61
121
  const output = await vibeGuard.scanAndFormat(scanOptions);
62
122
  if (options.outputFile) {
@@ -83,31 +143,23 @@ program
83
143
  .option('-f, --format <format>', 'Output format (table, json, sarif, html)')
84
144
  .option('-o, --output-file <file>', 'Write output to file')
85
145
  .option('-v, --verbose', 'Verbose output', false)
146
+ .option('-s, --severity <level>', 'Minimum severity level (critical, high, medium, low)')
147
+ .option('-c, --config <file>', 'Path to configuration file')
148
+ .option('--parallel', 'Enable parallel processing for better performance')
149
+ .option('--max-files <number>', 'Maximum files to process concurrently')
86
150
  .option('--exclude <patterns...>', 'Exclude patterns')
87
151
  .option('--include <patterns...>', 'Include patterns')
88
152
  .action(handleScan);
89
- program
90
- .argument('[target]', 'File or directory to scan')
91
- .option('-f, --format <format>', 'Output format (table, json, sarif, html)')
92
- .option('-o, --output-file <file>', 'Write output to file')
93
- .option('-v, --verbose', 'Verbose output', false)
94
- .option('--exclude <patterns...>', 'Exclude patterns')
95
- .option('--include <patterns...>', 'Include patterns')
96
- .action((target, options) => {
97
- if (target) {
98
- handleScan(target, options);
99
- }
100
- else {
101
- program.help();
102
- }
103
- });
104
153
  program
105
154
  .command('rules')
106
155
  .description('List all available security rules')
107
156
  .action(() => {
108
157
  const vibeGuard = new index_1.default();
109
158
  const rules = vibeGuard.getRules();
110
- console.log(chalk_1.default.blue.bold('🛡️ Available Security Rules:\n'));
159
+ console.log(chalk_1.default.blue.bold('╔══════════════════════════════════════════════════════════════════════════════╗'));
160
+ console.log(chalk_1.default.blue.bold('║ AVAILABLE SECURITY RULES ║'));
161
+ console.log(chalk_1.default.blue.bold('║ THREAT DETECTION MATRIX ║'));
162
+ console.log(chalk_1.default.blue.bold('╚══════════════════════════════════════════════════════════════════════════════╝\n'));
111
163
  rules.forEach(rule => {
112
164
  const severityColor = rule.severity === 'critical' ? chalk_1.default.red.bold :
113
165
  rule.severity === 'high' ? chalk_1.default.red :
@@ -121,10 +173,13 @@ program
121
173
  .command('version')
122
174
  .description('Show version information')
123
175
  .action(() => {
124
- console.log(chalk_1.default.blue.bold('🛡️ Vibe-Guard Security Scanner'));
176
+ console.log(chalk_1.default.blue.bold('╔══════════════════════════════════════════════════════════════════════════════╗'));
177
+ console.log(chalk_1.default.blue.bold('║ VIBE-GUARD SECURITY SCANNER ║'));
178
+ console.log(chalk_1.default.blue.bold('║ THREAT DETECTION ENGINE ║'));
179
+ console.log(chalk_1.default.blue.bold('╚══════════════════════════════════════════════════════════════════════════════╝'));
125
180
  const vibeGuard = new index_1.default();
126
- console.log(`Version: ${vibeGuard.getVersion()}`);
127
- console.log('Built for developers who code fast and need security that keeps up! 🚀');
181
+ console.log(chalk_1.default.blue.bold(`\nVERSION: ${vibeGuard.getVersion()}`));
182
+ console.log(chalk_1.default.gray('Built for developers who code fast and need security that keeps up! 🚀'));
128
183
  console.log(chalk_1.default.gray('TypeScript-powered, zero-dependency security scanning'));
129
184
  });
130
185
  program
@@ -134,6 +189,34 @@ program
134
189
  const vibeGuard = new index_1.default();
135
190
  vibeGuard.createConfigFile();
136
191
  });
192
+ program
193
+ .command('start')
194
+ .description('Start interactive Vibe-Guard session')
195
+ .action(async () => {
196
+ console.log(chalk_1.default.blue.bold('╔══════════════════════════════════════════════════════════════════════════════╗'));
197
+ console.log(chalk_1.default.blue.bold('║ WELCOME TO VIBE-GUARD INTERACTIVE ║'));
198
+ console.log(chalk_1.default.blue.bold('║ INTERACTIVE SECURITY SCANNING ║'));
199
+ console.log(chalk_1.default.blue.bold('╚══════════════════════════════════════════════════════════════════════════════╝\n'));
200
+ console.log(chalk_1.default.cyan.bold('Choose an option:\n'));
201
+ console.log(chalk_1.default.white('1. 🔍 Scan a file or directory'));
202
+ console.log(chalk_1.default.white('2. 📋 View all security rules'));
203
+ console.log(chalk_1.default.white('3. ⚙️ Create configuration file'));
204
+ console.log(chalk_1.default.white('4. 📊 Show sample configuration'));
205
+ console.log(chalk_1.default.white('5. ℹ️ About Vibe-Guard'));
206
+ console.log(chalk_1.default.white('6. 🚪 Exit\n'));
207
+ // For now, just show the menu and exit
208
+ // In a full implementation, you'd use a library like 'inquirer' for interactive prompts
209
+ console.log(chalk_1.default.yellow('💡 Tip: Use specific commands for direct access:'));
210
+ console.log(chalk_1.default.gray(' vibe-guard scan <target> - Scan files/directories'));
211
+ console.log(chalk_1.default.gray(' vibe-guard rules - View security rules'));
212
+ console.log(chalk_1.default.gray(' vibe-guard init - Create config file'));
213
+ console.log(chalk_1.default.gray(' vibe-guard config - Show sample config'));
214
+ console.log(chalk_1.default.gray(' vibe-guard version - Show version info\n'));
215
+ console.log(chalk_1.default.blue.bold('╔══════════════════════════════════════════════════════════════════════════════╗'));
216
+ console.log(chalk_1.default.blue.bold('║ THANK YOU FOR USING VIBE-GUARD ║'));
217
+ console.log(chalk_1.default.blue.bold('║ STAY SECURE! 🚀 ║'));
218
+ console.log(chalk_1.default.blue.bold('╚══════════════════════════════════════════════════════════════════════════════╝'));
219
+ });
137
220
  program
138
221
  .command('config')
139
222
  .description('Show sample configuration')
@@ -142,6 +225,126 @@ program
142
225
  console.log(chalk_1.default.blue.bold('📝 Sample vibe-guard.json Configuration:\n'));
143
226
  console.log(vibeGuard.generateConfig());
144
227
  });
228
+ program
229
+ .command('learn')
230
+ .description('Learn about security concepts and vulnerabilities')
231
+ .argument('[topic]', 'Security topic to learn about (xss, sql-injection, csrf, etc.)')
232
+ .action((topic) => {
233
+ const vibeGuard = new index_1.default();
234
+ if (topic) {
235
+ const rule = vibeGuard.getRuleByName(topic);
236
+ if (rule) {
237
+ console.log(chalk_1.default.blue.bold(`📚 Learning about: ${rule.name}\n`));
238
+ console.log(chalk_1.default.white(rule.description));
239
+ console.log(chalk_1.default.yellow(`\nSeverity: ${rule.severity.toUpperCase()}`));
240
+ console.log(chalk_1.default.gray(`\nThis rule helps detect ${rule.name.toLowerCase()} vulnerabilities.`));
241
+ }
242
+ else {
243
+ console.log(chalk_1.default.red(`❌ Unknown topic: ${topic}`));
244
+ console.log(chalk_1.default.gray('Use "vibe-guard rules" to see available topics.'));
245
+ }
246
+ }
247
+ else {
248
+ console.log(chalk_1.default.blue.bold('📚 Vibe-Guard Security Learning Center\n'));
249
+ console.log(chalk_1.default.white('Learn about security vulnerabilities and how to prevent them.\n'));
250
+ console.log(chalk_1.default.yellow('Available topics:'));
251
+ const rules = vibeGuard.getRules();
252
+ rules.forEach(rule => {
253
+ console.log(` • ${rule.name.toLowerCase().replace(/-/g, ' ')}`);
254
+ });
255
+ console.log(chalk_1.default.gray('\nExample: vibe-guard learn xss-detection'));
256
+ }
257
+ });
258
+ program
259
+ .command('demo')
260
+ .description('Run security scan on demo files to see how it works')
261
+ .action(async () => {
262
+ console.log(chalk_1.default.blue.bold('🎯 Vibe-Guard Security Demo\n'));
263
+ console.log(chalk_1.default.white('Creating demo files with security vulnerabilities...\n'));
264
+ const demoDir = './vibe-guard-demo';
265
+ if (!fs.existsSync(demoDir)) {
266
+ fs.mkdirSync(demoDir);
267
+ }
268
+ const xssDemo = `${demoDir}/vulnerable-app.js`;
269
+ fs.writeFileSync(xssDemo, `
270
+ // Demo file with XSS vulnerability
271
+ app.get('/user', (req, res) => {
272
+ const userInput = req.query.name;
273
+ res.send('<h1>Hello ' + userInput + '</h1>'); // XSS vulnerability
274
+ });
275
+
276
+ // SQL Injection demo
277
+ app.get('/users', (req, res) => {
278
+ const id = req.query.id;
279
+ const query = 'SELECT * FROM users WHERE id = ' + id; // SQL injection
280
+ db.query(query);
281
+ });
282
+
283
+ // Hardcoded secrets
284
+ const API_KEY = 'sk-1234567890abcdef'; // Exposed secret
285
+ const PASSWORD = 'admin123'; // Hardcoded password
286
+ `);
287
+ console.log(chalk_1.default.green('✅ Created demo files with security vulnerabilities'));
288
+ console.log(chalk_1.default.gray(`Location: ${demoDir}`));
289
+ console.log(chalk_1.default.white('\nRunning security scan...\n'));
290
+ try {
291
+ const vibeGuard = new index_1.default();
292
+ const output = await vibeGuard.scanAndFormat({
293
+ target: demoDir,
294
+ format: 'table',
295
+ verbose: true
296
+ });
297
+ console.log(output);
298
+ console.log(chalk_1.default.blue('\n🎓 What you learned:'));
299
+ console.log(chalk_1.default.white('• XSS vulnerabilities in user input'));
300
+ console.log(chalk_1.default.white('• SQL injection in database queries'));
301
+ console.log(chalk_1.default.white('• Exposed secrets and hardcoded credentials'));
302
+ console.log(chalk_1.default.gray('\nClean up: rm -rf vibe-guard-demo'));
303
+ }
304
+ catch (error) {
305
+ console.error(chalk_1.default.red('Error running demo:', error));
306
+ }
307
+ });
308
+ program
309
+ .command('community')
310
+ .description('Join the Vibe-Guard community and contribute')
311
+ .action(() => {
312
+ console.log(chalk_1.default.blue.bold('🤝 Vibe-Guard Community\n'));
313
+ console.log(chalk_1.default.white('Join us in making the web more secure!\n'));
314
+ console.log(chalk_1.default.yellow('📚 Learn:'));
315
+ console.log(chalk_1.default.white(' • vibe-guard learn [topic] - Learn about security concepts'));
316
+ console.log(chalk_1.default.white(' • vibe-guard demo - Try the tool with demo files\n'));
317
+ console.log(chalk_1.default.yellow('🔧 Contribute:'));
318
+ console.log(chalk_1.default.white(' • GitHub: https://github.com/Devjosef/vibe-guard'));
319
+ console.log(chalk_1.default.white(' • Issues: https://github.com/Devjosef/vibe-guard/issues'));
320
+ console.log(chalk_1.default.white(' • Discussions: https://github.com/Devjosef/vibe-guard/discussions\n'));
321
+ console.log(chalk_1.default.yellow('📖 Resources:'));
322
+ console.log(chalk_1.default.white(' • Documentation: https://devjosef.github.io/vibe-guard/'));
323
+ console.log(chalk_1.default.white(' • Security Rules: vibe-guard rules'));
324
+ console.log(chalk_1.default.white(' • Examples: vibe-guard demo\n'));
325
+ console.log(chalk_1.default.gray('Built for developers who code fast and need security that keeps up!'));
326
+ });
327
+ program
328
+ .command('stats')
329
+ .description('Show Vibe-Guard usage statistics and impact')
330
+ .action(() => {
331
+ console.log(chalk_1.default.blue.bold('📊 Vibe-Guard Impact Statistics\n'));
332
+ console.log(chalk_1.default.white('Your security scanning impact:\n'));
333
+ console.log(chalk_1.default.yellow('██ Security Rules: 25'));
334
+ console.log(chalk_1.default.white(' • Covers OWASP Top 10'));
335
+ console.log(chalk_1.default.white(' • Modern web vulnerabilities'));
336
+ console.log(chalk_1.default.white(' • AI/ML security concerns\n'));
337
+ console.log(chalk_1.default.yellow('🌍 Global Reach:'));
338
+ console.log(chalk_1.default.white(' • Cross-platform (Linux, macOS, Windows)'));
339
+ console.log(chalk_1.default.white(' • Multiple package managers'));
340
+ console.log(chalk_1.default.white(' • Zero dependencies\n'));
341
+ console.log(chalk_1.default.yellow('🎯 Use Cases:'));
342
+ console.log(chalk_1.default.white(' • CI/CD security scanning'));
343
+ console.log(chalk_1.default.white(' • Pre-commit hooks'));
344
+ console.log(chalk_1.default.white(' • Security audits'));
345
+ console.log(chalk_1.default.white(' • Educational tool\n'));
346
+ console.log(chalk_1.default.gray('Every scan makes the web a little more secure! 🚀'));
347
+ });
145
348
  process.on('unhandledRejection', (reason, promise) => {
146
349
  console.error(chalk_1.default.red.bold('❌ Unhandled Rejection at:'), promise, chalk_1.default.red('reason:'), reason);
147
350
  process.exit(1);
@@ -150,5 +353,20 @@ process.on('uncaughtException', (error) => {
150
353
  console.error(chalk_1.default.red.bold('❌ Uncaught Exception:'), error);
151
354
  process.exit(1);
152
355
  });
356
+ program
357
+ .argument('[target]', 'File or directory to scan')
358
+ .option('-f, --format <format>', 'Output format (table, json, sarif, html)')
359
+ .option('-o, --output-file <file>', 'Write output to file')
360
+ .option('-v, --verbose', 'Verbose output', false)
361
+ .option('--exclude <patterns...>', 'Exclude patterns')
362
+ .option('--include <patterns...>', 'Include patterns')
363
+ .action((target, options) => {
364
+ if (target) {
365
+ handleScan(target, options);
366
+ }
367
+ else {
368
+ program.help();
369
+ }
370
+ });
153
371
  program.parse();
154
372
  //# sourceMappingURL=vibe-guard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vibe-guard.js","sourceRoot":"","sources":["../../src/bin/vibe-guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vibe-guard.js","sourceRoot":"","sources":["../../src/bin/vibe-guard.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -1,29 +1,11 @@
1
1
  import { VibeGuardConfig, ScanOptions } from './types';
2
2
  export declare class ConfigLoader {
3
3
  private static readonly CONFIG_FILES;
4
- /**
5
- * Load configuration from the nearest vibe-guard.json file
6
- */
7
4
  static loadConfig(projectPath: string): VibeGuardConfig;
8
- /**
9
- * Find the nearest configuration file in the project hierarchy
10
- */
11
5
  static findConfigFile(projectPath: string): string | null;
12
- /**
13
- * Validate and normalize configuration
14
- */
15
6
  private static validateConfig;
16
- /**
17
- * Merge configuration with CLI options (CLI takes precedence)
18
- */
19
7
  static mergeConfig(config: VibeGuardConfig, cliOptions: Partial<ScanOptions>): ScanOptions;
20
- /**
21
- * Create a default configuration file
22
- */
23
8
  static createDefaultConfig(): VibeGuardConfig;
24
- /**
25
- * Generate a sample configuration file content
26
- */
27
9
  static generateSampleConfig(): string;
28
10
  }
29
11
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAiB,MAAM,SAAS,CAAC;AAEtE,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAIlC;IAEF;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe;IAkBvD;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAgBzD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAgE7B;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW;IAU1F;;OAEG;IACH,MAAM,CAAC,mBAAmB,IAAI,eAAe;IAoB7C;;OAEG;IACH,MAAM,CAAC,oBAAoB,IAAI,MAAM;CAwCtC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAiB,MAAM,SAAS,CAAC;AAEtE,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAIlC;IAGF,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe;IAkBvD,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAiBzD,OAAO,CAAC,MAAM,CAAC,cAAc;IA0D7B,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW;IAU1F,MAAM,CAAC,mBAAmB,IAAI,eAAe;IAqB7C,MAAM,CAAC,oBAAoB,IAAI,MAAM;CAwCtC"}
package/dist/config.js CHANGED
@@ -37,9 +37,7 @@ exports.ConfigLoader = void 0;
37
37
  const fs = __importStar(require("fs"));
38
38
  const path = __importStar(require("path"));
39
39
  class ConfigLoader {
40
- /**
41
- * Load configuration from the nearest vibe-guard.json file
42
- */
40
+ // Loads the config file from the project path
43
41
  static loadConfig(projectPath) {
44
42
  const configPath = this.findConfigFile(projectPath);
45
43
  if (!configPath) {
@@ -48,7 +46,6 @@ class ConfigLoader {
48
46
  try {
49
47
  const configContent = fs.readFileSync(configPath, 'utf-8');
50
48
  const config = JSON.parse(configContent);
51
- // Validate and normalize config
52
49
  return this.validateConfig(config);
53
50
  }
54
51
  catch (error) {
@@ -56,9 +53,7 @@ class ConfigLoader {
56
53
  return {};
57
54
  }
58
55
  }
59
- /**
60
- * Find the nearest configuration file in the project hierarchy
61
- */
56
+ // Finds the config file from the project path
62
57
  static findConfigFile(projectPath) {
63
58
  let currentPath = path.resolve(projectPath);
64
59
  while (currentPath !== path.dirname(currentPath)) {
@@ -72,45 +67,36 @@ class ConfigLoader {
72
67
  }
73
68
  return null;
74
69
  }
75
- /**
76
- * Validate and normalize configuration
77
- */
70
+ // Validates the config file
78
71
  static validateConfig(config) {
79
72
  const validated = {};
80
- // Validate output format
81
73
  if (config.outputFormat && ['table', 'json', 'sarif', 'html'].includes(config.outputFormat)) {
82
74
  validated.outputFormat = config.outputFormat;
83
75
  }
84
- // Validate severity
85
76
  if (config.severity && ['critical', 'high', 'medium', 'low'].includes(config.severity)) {
86
77
  validated.severity = config.severity;
87
78
  }
88
- // Validate arrays
89
79
  if (Array.isArray(config.exclude)) {
90
80
  validated.exclude = config.exclude.filter((item) => typeof item === 'string');
91
81
  }
92
82
  if (Array.isArray(config.include)) {
93
83
  validated.include = config.include.filter((item) => typeof item === 'string');
94
84
  }
95
- // Validate strings
96
85
  if (typeof config.outputFile === 'string') {
97
86
  validated.outputFile = config.outputFile;
98
87
  }
99
88
  if (typeof config.maxFileSize === 'string') {
100
89
  validated.maxFileSize = config.maxFileSize;
101
90
  }
102
- // Validate booleans
103
91
  if (typeof config.verbose === 'boolean') {
104
92
  validated.verbose = config.verbose;
105
93
  }
106
94
  if (typeof config.parallel === 'boolean') {
107
95
  validated.parallel = config.parallel;
108
96
  }
109
- // Validate numbers
110
97
  if (typeof config.maxWorkers === 'number' && config.maxWorkers > 0) {
111
98
  validated.maxWorkers = config.maxWorkers;
112
99
  }
113
- // Validate rules configuration
114
100
  if (config.rules && typeof config.rules === 'object') {
115
101
  validated.rules = {};
116
102
  for (const [ruleName, ruleConfig] of Object.entries(config.rules)) {
@@ -127,9 +113,7 @@ class ConfigLoader {
127
113
  }
128
114
  return validated;
129
115
  }
130
- /**
131
- * Merge configuration with CLI options (CLI takes precedence)
132
- */
116
+ // Merges the config file with the CLI options
133
117
  static mergeConfig(config, cliOptions) {
134
118
  return {
135
119
  target: cliOptions.target || '.',
@@ -139,9 +123,6 @@ class ConfigLoader {
139
123
  include: cliOptions.include || config.include || []
140
124
  };
141
125
  }
142
- /**
143
- * Create a default configuration file
144
- */
145
126
  static createDefaultConfig() {
146
127
  return {
147
128
  exclude: [
@@ -161,9 +142,7 @@ class ConfigLoader {
161
142
  maxWorkers: 4
162
143
  };
163
144
  }
164
- /**
165
- * Generate a sample configuration file content
166
- */
145
+ // Generates a sample config file
167
146
  static generateSampleConfig() {
168
147
  const sampleConfig = {
169
148
  exclude: [
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAG7B,MAAa,YAAY;IAOvB,8CAA8C;IAC9C,MAAM,CAAC,UAAU,CAAC,WAAmB;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAEzC,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,uCAAuC,UAAU,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;YAC/H,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,8CAA8C;IAC9C,MAAM,CAAC,cAAc,CAAC,WAAmB;QACvC,IAAI,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAE5C,OAAO,WAAW,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YACjD,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;gBACtD,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC9B,OAAO,UAAU,CAAC;gBACpB,CAAC;YACH,CAAC;YACD,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4BAA4B;IACpB,MAAM,CAAC,cAAc,CAAC,MAAW;QACvC,MAAM,SAAS,GAAoB,EAAE,CAAC;QAEtC,IAAI,MAAM,CAAC,YAAY,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5F,SAAS,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QAC/C,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvF,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAyB,CAAC;QACxD,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC;QACrF,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC;QACrF,CAAC;QAED,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YAC1C,SAAS,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QAC3C,CAAC;QAED,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC3C,SAAS,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QAC7C,CAAC;QAED,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACxC,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QACrC,CAAC;QAED,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzC,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACvC,CAAC;QAED,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;YACnE,SAAS,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QAC3C,CAAC;QAED,IAAI,MAAM,CAAC,KAAK,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrD,SAAS,CAAC,KAAK,GAAG,EAAE,CAAC;YACrB,KAAK,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClE,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;oBAC1D,MAAM,IAAI,GAAG,UAAiB,CAAC;oBAC/B,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG;wBAC1B,OAAO,EAAE,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;wBAChE,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;wBACnG,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;wBAC5G,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;qBAClI,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,8CAA8C;IAC9C,MAAM,CAAC,WAAW,CAAC,MAAuB,EAAE,UAAgC;QAC1E,OAAO;YACL,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,GAAG;YAChC,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,MAAM,CAAC,YAAY,IAAI,OAAO;YAC3D,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,IAAI,KAAK;YACtD,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE;YACnD,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE;SACpD,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,mBAAmB;QACxB,OAAO;YACL,OAAO,EAAE;gBACP,iBAAiB;gBACjB,SAAS;gBACT,UAAU;gBACV,SAAS;gBACT,aAAa;gBACb,aAAa;gBACb,gBAAgB;aACjB;YACD,YAAY,EAAE,OAAO;YACrB,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,KAAK;YAClB,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,CAAC;SACd,CAAC;IACJ,CAAC;IAED,iCAAiC;IACjC,MAAM,CAAC,oBAAoB;QACzB,MAAM,YAAY,GAAG;YACnB,OAAO,EAAE;gBACP,iBAAiB;gBACjB,SAAS;gBACT,UAAU;gBACV,SAAS;gBACT,aAAa;gBACb,aAAa;gBACb,gBAAgB;aACjB;YACD,OAAO,EAAE;gBACP,0BAA0B;gBAC1B,kBAAkB;aACnB;YACD,YAAY,EAAE,OAAO;YACrB,UAAU,EAAE,sBAAsB;YAClC,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,KAAK;YAClB,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,CAAC;YACb,KAAK,EAAE;gBACL,eAAe,EAAE;oBACf,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,UAAU;iBACrB;gBACD,eAAe,EAAE;oBACf,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,MAAM;iBACjB;gBACD,iBAAiB,EAAE;oBACjB,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,UAAU;iBACrB;aACF;SACF,CAAC;QAEF,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC;;AA3KH,oCA4KC;AA3KyB,yBAAY,GAAG;IACrC,iBAAiB;IACjB,kBAAkB;IAClB,wBAAwB;CACzB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -10,13 +10,7 @@ export declare class VibeGuard {
10
10
  getRules(): BaseRule[];
11
11
  getRuleByName(name: string): BaseRule | undefined;
12
12
  getVersion(): string;
13
- /**
14
- * Generate a sample configuration file
15
- */
16
13
  generateConfig(): string;
17
- /**
18
- * Create a default configuration file in the current directory
19
- */
20
14
  createConfigFile(): void;
21
15
  }
22
16
  export * from './types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAwB5D,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,KAAK,CAAa;;IA6BpB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IA+CrD,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,GAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,MAAgB,GAAG,MAAM;IAc1F,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAK1D,QAAQ,IAAI,QAAQ,EAAE;IAItB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAIjD,UAAU,IAAI,MAAM;IAIpB;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,gBAAgB,IAAI,IAAI;CAWzB;AAED,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAyB5D,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,KAAK,CAAa;;IA+BpB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IA4CrD,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,GAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,MAAgB,GAAG,MAAM;IAe1F,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAK1D,QAAQ,IAAI,QAAQ,EAAE;IAItB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAIjD,UAAU,IAAI,MAAM;IAIpB,cAAc,IAAI,MAAM;IAIxB,gBAAgB,IAAI,IAAI;CAWzB;AAED,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,eAAe,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -63,7 +63,9 @@ const insecure_session_management_1 = require("./rules/insecure-session-manageme
63
63
  const insecure_error_handling_1 = require("./rules/insecure-error-handling");
64
64
  const insecure_configuration_1 = require("./rules/insecure-configuration");
65
65
  const version_1 = require("./types/version");
66
+ // Main class for the VibeGuard application
66
67
  class VibeGuard {
68
+ // Constructor for the VibeGuard class
67
69
  constructor() {
68
70
  this.rules = [
69
71
  new exposed_secrets_1.ExposedSecretsRule(),
@@ -90,10 +92,9 @@ class VibeGuard {
90
92
  this.scanner = new scanner_1.FileScanner();
91
93
  this.reporter = new reporter_1.Reporter();
92
94
  }
95
+ // Scans the target path for security issues
93
96
  async scan(options) {
94
- // Load configuration from vibe-guard.json
95
97
  const config = config_1.ConfigLoader.loadConfig(options.target);
96
- // Merge config with CLI options (CLI takes precedence)
97
98
  const mergedOptions = config_1.ConfigLoader.mergeConfig(config, options);
98
99
  const targetPath = path.resolve(mergedOptions.target);
99
100
  if (mergedOptions.verbose) {
@@ -131,6 +132,7 @@ class VibeGuard {
131
132
  throw new Error(`Target path is neither a file nor a directory: ${targetPath}`);
132
133
  }
133
134
  }
135
+ // Formats the scan results
134
136
  formatResults(result, format = 'table') {
135
137
  switch (format) {
136
138
  case 'json':
@@ -144,6 +146,7 @@ class VibeGuard {
144
146
  return this.reporter.formatTable(result);
145
147
  }
146
148
  }
149
+ // Scans and formats the results
147
150
  async scanAndFormat(options) {
148
151
  const result = await this.scan(options);
149
152
  return this.formatResults(result, options.format);
@@ -157,15 +160,9 @@ class VibeGuard {
157
160
  getVersion() {
158
161
  return version_1.VERSION;
159
162
  }
160
- /**
161
- * Generate a sample configuration file
162
- */
163
163
  generateConfig() {
164
164
  return config_1.ConfigLoader.generateSampleConfig();
165
165
  }
166
- /**
167
- * Create a default configuration file in the current directory
168
- */
169
166
  createConfigFile() {
170
167
  const configPath = path.join(process.cwd(), 'vibe-guard.json');
171
168
  if (fs.existsSync(configPath)) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../src/reporter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAiB,MAAM,SAAS,CAAC;AAEnE,qBAAa,QAAQ;IACnB,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IA8BvC,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAItC,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAqCvC,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IA8OtC,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,oBAAoB;IA0B5B,OAAO,CAAC,uBAAuB;IAc/B,OAAO,CAAC,eAAe;IAoCvB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,aAAa;IAsBrB,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,gBAAgB;IAyBxB,kBAAkB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM;CASjD"}
1
+ {"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../src/reporter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAiB,MAAM,SAAS,CAAC;AAGnE,qBAAa,QAAQ;IAEnB,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IA+BvC,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAKtC,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAsCvC,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IA+OtC,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,oBAAoB;IA2B5B,OAAO,CAAC,uBAAuB;IAe/B,OAAO,CAAC,eAAe;IAoCvB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,aAAa;IA0BrB,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,gBAAgB;IAyBxB,kBAAkB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM;CASjD"}