@indicated/vibeguard 1.5.2 → 1.7.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.
@@ -353,6 +353,172 @@ exports.securityRules = [
353
353
  ],
354
354
  fix: 'Always specify allowed algorithms explicitly and never include "none"',
355
355
  },
356
+ // CRITICAL (Free tier) - New rules
357
+ {
358
+ id: 'insecure-randomness',
359
+ name: 'Insecure Randomness for Security',
360
+ description: 'Using Math.random() or random module for security-sensitive operations (tokens, IDs, passwords) is predictable',
361
+ severity: 'critical',
362
+ tier: 'free',
363
+ languages: ['javascript', 'typescript', 'python'],
364
+ patterns: [
365
+ // JS: Math.random() used for token/key/secret/session/id generation
366
+ /(?:token|key|secret|session|nonce|salt|otp|password|uuid|id)\s*(?:=|:)\s*(?:.*)?Math\.random\s*\(/i,
367
+ /Math\.random\s*\(\s*\)\.toString\s*\(\s*(?:16|36)\s*\)/,
368
+ // Python: random module for security
369
+ /(?:token|key|secret|session|nonce|salt|otp|password)\s*=\s*.*random\.(?:random|randint|choice|randrange|getrandbits)\s*\(/i,
370
+ ],
371
+ fix: 'Use crypto.randomBytes()/crypto.randomUUID() in Node.js or secrets module in Python',
372
+ },
373
+ {
374
+ id: 'weak-cryptography',
375
+ name: 'Weak Cryptographic Algorithm',
376
+ description: 'MD5 and SHA1 are cryptographically broken and should not be used for security purposes',
377
+ severity: 'critical',
378
+ tier: 'free',
379
+ languages: ['javascript', 'typescript', 'python'],
380
+ patterns: [
381
+ // JS: crypto.createHash with weak algo
382
+ /crypto\.createHash\s*\(\s*['"`](?:md5|sha1|md4|ripemd160)['"`]\s*\)/i,
383
+ // Python: hashlib with weak algo
384
+ /hashlib\.(?:md5|sha1|new\s*\(\s*['"`](?:md5|sha1)['"`])\s*\(/,
385
+ // Direct MD5/SHA1 imports in Python
386
+ /from\s+hashlib\s+import\s+(?:md5|sha1)/,
387
+ ],
388
+ fix: 'Use SHA-256+ for hashing, bcrypt/scrypt/argon2 for passwords. Replace MD5/SHA1 with stronger alternatives',
389
+ },
390
+ {
391
+ id: 'nosql-injection',
392
+ name: 'NoSQL Injection Vulnerability',
393
+ description: 'User input passed directly to NoSQL queries can allow query manipulation via operators like $gt, $ne',
394
+ severity: 'critical',
395
+ tier: 'free',
396
+ languages: ['javascript', 'typescript', 'python'],
397
+ patterns: [
398
+ // MongoDB find/update with req.body directly
399
+ /\.(?:find|findOne|findOneAndUpdate|updateOne|updateMany|deleteOne|deleteMany)\s*\(\s*(?:req\.body|req\.query|req\.params)/,
400
+ // MongoDB where clause with user input
401
+ /\$where\s*:\s*(?:req\.|params\.|query\.|body\.)/,
402
+ // Direct user input in MongoDB query object
403
+ /\.(?:find|findOne)\s*\(\s*\{[^}]*:\s*(?:req\.body|req\.query|req\.params)\s*\./,
404
+ ],
405
+ fix: 'Sanitize user input with mongo-sanitize, validate types explicitly, never pass req.body directly to queries',
406
+ },
407
+ // HIGH (Free tier) - New rules
408
+ {
409
+ id: 'disabled-tls-verification',
410
+ name: 'TLS Certificate Verification Disabled',
411
+ description: 'Disabling SSL/TLS certificate verification makes connections vulnerable to man-in-the-middle attacks',
412
+ severity: 'high',
413
+ tier: 'free',
414
+ languages: ['javascript', 'typescript', 'python'],
415
+ patterns: [
416
+ // Node.js
417
+ /NODE_TLS_REJECT_UNAUTHORIZED\s*=\s*['"`]0['"`]/,
418
+ /rejectUnauthorized\s*:\s*false/,
419
+ // Python requests
420
+ /requests\.(?:get|post|put|delete|patch|head)\s*\([^)]*verify\s*=\s*False/,
421
+ // Python urllib3
422
+ /urllib3\.disable_warnings/,
423
+ /ssl\._create_unverified_context/,
424
+ // Generic SSL verification disable
425
+ /VERIFY_SSL\s*[=:]\s*(?:false|False|0)/i,
426
+ ],
427
+ fix: 'Never disable TLS certificate verification in production. Use proper certificates instead',
428
+ },
429
+ {
430
+ id: 'unsafe-regex-construction',
431
+ name: 'Unsafe Regex from User Input',
432
+ description: 'Constructing RegExp from user input can cause ReDoS (Regular Expression Denial of Service)',
433
+ severity: 'high',
434
+ tier: 'free',
435
+ languages: ['javascript', 'typescript'],
436
+ patterns: [
437
+ /new\s+RegExp\s*\(\s*(?:req\.(?:body|query|params)|params\.|query\.|body\.)/,
438
+ /new\s+RegExp\s*\(\s*(?:searchTerm|userInput|input|pattern|filter|search|term|keyword)/i,
439
+ ],
440
+ fix: 'Escape user input before using in RegExp, or use a fixed set of allowed patterns',
441
+ },
442
+ {
443
+ id: 'postmessage-no-origin',
444
+ name: 'postMessage Without Origin Validation',
445
+ description: 'Listening to postMessage events without checking origin accepts messages from any domain',
446
+ severity: 'high',
447
+ tier: 'free',
448
+ languages: ['javascript', 'typescript'],
449
+ patterns: [
450
+ // addEventListener for message without origin check nearby
451
+ /addEventListener\s*\(\s*['"`]message['"`]\s*,\s*(?:function|\([^)]*\)\s*=>|\w+\s*=>)\s*\{(?![^}]{0,200}(?:origin|source))/,
452
+ /\.on\s*\(\s*['"`]message['"`]\s*,\s*(?:function|\([^)]*\)\s*=>)\s*\{(?![^}]{0,200}(?:origin|source))/,
453
+ ],
454
+ fix: 'Always validate event.origin against a whitelist of trusted domains',
455
+ },
456
+ {
457
+ id: 'hardcoded-db-credentials',
458
+ name: 'Hardcoded Database Connection String',
459
+ description: 'Database connection strings with embedded credentials can be extracted from source code',
460
+ severity: 'high',
461
+ tier: 'free',
462
+ languages: ['javascript', 'typescript', 'python'],
463
+ patterns: [
464
+ // MongoDB connection string with credentials
465
+ /['"`]mongodb(?:\+srv)?:\/\/[^:]+:[^@]+@[^'"`]+['"`]/,
466
+ // PostgreSQL connection string with credentials
467
+ /['"`]postgres(?:ql)?:\/\/[^:]+:[^@]+@[^'"`]+['"`]/,
468
+ // MySQL connection string with credentials
469
+ /['"`]mysql:\/\/[^:]+:[^@]+@[^'"`]+['"`]/,
470
+ // Redis with password
471
+ /['"`]redis:\/\/[^:]*:[^@]+@[^'"`]+['"`]/,
472
+ ],
473
+ fix: 'Use environment variables for database connection strings. Never embed credentials in code',
474
+ },
475
+ {
476
+ id: 'ssti-vulnerability',
477
+ name: 'Server-Side Template Injection (SSTI)',
478
+ description: 'Rendering user-supplied template strings can lead to remote code execution',
479
+ severity: 'high',
480
+ tier: 'free',
481
+ languages: ['javascript', 'typescript', 'python'],
482
+ patterns: [
483
+ // Python: render_template_string with user input
484
+ /render_template_string\s*\(\s*(?:request\.|req\.|data\[)/,
485
+ // Python: Jinja2 Template from user input
486
+ /Template\s*\(\s*(?:request\.|req\.|data\[|user_input)/,
487
+ // JS: ejs/pug render with user-controlled template
488
+ /(?:ejs|pug)\.render\s*\(\s*(?:req\.(?:body|query|params)|body\.|params\.)/,
489
+ // Generic template rendering with user input
490
+ /\.render(?:String)?\s*\(\s*(?:req\.body|req\.query|req\.params)\./,
491
+ ],
492
+ fix: 'Never render user-supplied template strings. Use pre-defined templates with variable substitution only',
493
+ },
494
+ // MEDIUM (Free tier) - New rules
495
+ {
496
+ id: 'insecure-websocket',
497
+ name: 'Insecure WebSocket Connection (ws://)',
498
+ description: 'Unencrypted WebSocket connections can be intercepted, similar to HTTP vs HTTPS',
499
+ severity: 'medium',
500
+ tier: 'free',
501
+ languages: ['javascript', 'typescript', 'python'],
502
+ patterns: [
503
+ /['"`]ws:\/\/(?!localhost|127\.0\.0\.1|0\.0\.0\.0)[^'"`]+['"`]/,
504
+ /WebSocket\s*\(\s*['"`]ws:\/\/(?!localhost|127\.0\.0\.1|0\.0\.0\.0)/,
505
+ ],
506
+ fix: 'Use wss:// for encrypted WebSocket connections',
507
+ },
508
+ {
509
+ id: 'timing-attack',
510
+ name: 'Timing Attack on Secret Comparison',
511
+ description: 'Using === to compare secrets allows timing attacks that can leak token values byte by byte',
512
+ severity: 'medium',
513
+ tier: 'free',
514
+ languages: ['javascript', 'typescript', 'python'],
515
+ patterns: [
516
+ // JS: direct comparison of tokens/secrets
517
+ /(?:token|secret|apiKey|api_key|password|hash|signature|hmac|digest)\s*(?:===|!==)\s*(?:req\.|body\.|params\.|query\.|expected|stored|saved)/i,
518
+ /(?:req\.|body\.|params\.|query\.)\w*(?:token|secret|key|password|hash|signature)\s*(?:===|!==)/i,
519
+ ],
520
+ fix: 'Use crypto.timingSafeEqual() in Node.js or hmac.compare_digest() in Python for constant-time comparison',
521
+ },
356
522
  // LOW (Free tier)
357
523
  {
358
524
  id: 'verbose-errors',
@@ -683,6 +849,303 @@ exports.securityRules = [
683
849
  ],
684
850
  fix: 'Configure session with secure options: { cookie: { secure: true, httpOnly: true, sameSite: "strict" } }',
685
851
  },
852
+ // --- Flask ---
853
+ {
854
+ id: 'flask-secret-key-exposed',
855
+ name: 'Flask SECRET_KEY Hardcoded',
856
+ description: 'Hardcoded Flask SECRET_KEY can be used to forge session cookies and CSRF tokens',
857
+ severity: 'critical',
858
+ tier: 'pro',
859
+ languages: ['python'],
860
+ patterns: [
861
+ /app\.secret_key\s*=\s*['"`][^'"`]{8,}['"`]/,
862
+ /SECRET_KEY\s*=\s*['"`][^'"`]{8,}['"`](?!.*(?:os\.environ|os\.getenv|env\())/,
863
+ ],
864
+ fix: 'Load SECRET_KEY from environment variable: app.secret_key = os.environ.get("SECRET_KEY")',
865
+ },
866
+ // --- Prisma ---
867
+ {
868
+ id: 'prisma-raw-query',
869
+ name: 'Prisma Raw Query with User Input',
870
+ description: 'Raw SQL in Prisma with template literals can lead to SQL injection',
871
+ severity: 'high',
872
+ tier: 'pro',
873
+ languages: ['javascript', 'typescript'],
874
+ patterns: [
875
+ /\$queryRaw\s*`[^`]*\$\{/,
876
+ /\$executeRaw\s*`[^`]*\$\{/,
877
+ /\$queryRawUnsafe\s*\(/,
878
+ /\$executeRawUnsafe\s*\(/,
879
+ ],
880
+ fix: 'Use Prisma.$queryRaw with Prisma.sql tagged template or parameterized queries',
881
+ },
882
+ // --- Electron ---
883
+ {
884
+ id: 'electron-insecure-config',
885
+ name: 'Electron Insecure Configuration',
886
+ description: 'Insecure Electron settings can allow remote code execution via web content',
887
+ severity: 'high',
888
+ tier: 'pro',
889
+ languages: ['javascript', 'typescript'],
890
+ patterns: [
891
+ /nodeIntegration\s*:\s*true/,
892
+ /contextIsolation\s*:\s*false/,
893
+ /webSecurity\s*:\s*false/,
894
+ /allowRunningInsecureContent\s*:\s*true/,
895
+ ],
896
+ fix: 'Keep nodeIntegration: false, contextIsolation: true, webSecurity: true in BrowserWindow options',
897
+ },
898
+ // --- GraphQL ---
899
+ {
900
+ id: 'graphql-introspection-enabled',
901
+ name: 'GraphQL Introspection Enabled',
902
+ description: 'GraphQL introspection exposes your entire API schema, aiding attackers in discovering endpoints',
903
+ severity: 'medium',
904
+ tier: 'pro',
905
+ languages: ['javascript', 'typescript', 'python'],
906
+ patterns: [
907
+ /introspection\s*:\s*true/,
908
+ // Apollo server without explicitly disabling introspection in production
909
+ /new\s+ApolloServer\s*\(\s*\{(?![^}]*introspection\s*:\s*false)/,
910
+ ],
911
+ fix: 'Disable introspection in production: introspection: process.env.NODE_ENV !== "production"',
912
+ },
913
+ // --- Python-specific ---
914
+ {
915
+ id: 'python-assert-security',
916
+ name: 'Python Assert for Security Check',
917
+ description: 'Assert statements are stripped with -O flag, making security checks ineffective in optimized mode',
918
+ severity: 'medium',
919
+ tier: 'pro',
920
+ languages: ['python'],
921
+ patterns: [
922
+ /assert\s+(?:request\.user|current_user|user)\.(?:is_admin|is_authenticated|is_staff|is_superuser|has_perm)/,
923
+ /assert\s+(?:is_authenticated|is_authorized|has_permission|check_permission)\s*\(/,
924
+ ],
925
+ fix: 'Use if/raise instead of assert for security checks: if not user.is_admin: raise PermissionError()',
926
+ },
927
+ {
928
+ id: 'unsafe-tempfile',
929
+ name: 'Unsafe Temporary File Creation',
930
+ description: 'tempfile.mktemp() is vulnerable to race conditions (TOCTOU). An attacker can create a file at the path between creation and use',
931
+ severity: 'medium',
932
+ tier: 'pro',
933
+ languages: ['python'],
934
+ patterns: [
935
+ /tempfile\.mktemp\s*\(/,
936
+ ],
937
+ fix: 'Use tempfile.mkstemp() or tempfile.NamedTemporaryFile() instead',
938
+ },
939
+ // --- Mass Assignment ---
940
+ {
941
+ id: 'mass-assignment',
942
+ name: 'Mass Assignment / Over-posting Vulnerability',
943
+ description: 'Passing user input directly to ORM create/update allows attackers to set unintended fields (e.g., isAdmin)',
944
+ severity: 'medium',
945
+ tier: 'pro',
946
+ languages: ['javascript', 'typescript', 'python'],
947
+ patterns: [
948
+ // Sequelize/Mongoose/Prisma create with req.body
949
+ /\.create\s*\(\s*(?:req\.body|request\.data|request\.POST)\s*\)/,
950
+ /\.update\s*\(\s*(?:req\.body|request\.data|request\.POST)\s*\)/,
951
+ // Spread into create/update (also risky)
952
+ /\.create\s*\(\s*\{\s*\.\.\.(?:req\.body|request\.data)\s*\}/,
953
+ /\.update\s*\(\s*\{\s*\.\.\.(?:req\.body|request\.data)\s*\}/,
954
+ ],
955
+ fix: 'Explicitly whitelist allowed fields instead of passing user input directly to ORM operations',
956
+ },
957
+ // --- File Upload ---
958
+ {
959
+ id: 'unvalidated-file-upload',
960
+ name: 'Unvalidated File Upload',
961
+ description: 'Accepting file uploads without type/size validation can lead to arbitrary file upload attacks',
962
+ severity: 'high',
963
+ tier: 'pro',
964
+ languages: ['javascript', 'typescript', 'python'],
965
+ patterns: [
966
+ // Multer without file filter or limits
967
+ /multer\s*\(\s*\{\s*(?:dest|storage)\s*:[^}]*\}\s*\)(?![^;]*(?:fileFilter|limits))/,
968
+ // Express file upload without checks
969
+ /upload\.(?:single|array|fields)\s*\([^)]*\)\s*(?:,|\))\s*(?:async\s*)?\([^)]*\)\s*(?:=>|\{)(?![^}]{0,300}(?:mimetype|type|size|extension|ext))/,
970
+ ],
971
+ fix: 'Validate file type (MIME type), size, and extension. Store uploads outside the webroot',
972
+ },
973
+ // --- Log Injection ---
974
+ {
975
+ id: 'log-injection',
976
+ name: 'Log Injection / CRLF Injection',
977
+ description: 'User input written directly to logs can forge log entries or inject malicious content',
978
+ severity: 'medium',
979
+ tier: 'pro',
980
+ languages: ['javascript', 'typescript', 'python'],
981
+ patterns: [
982
+ // Logger with user input that could contain newlines
983
+ /(?:logger|log)\.(?:info|warn|error|debug)\s*\(\s*(?:`[^`]*\$\{(?:req\.|body\.|params\.|query\.)|['"][^'"]*['"\s]*\+\s*(?:req\.|body\.|params\.|query\.))/,
984
+ /(?:console|logging)\.(?:log|info|warn|error|debug)\s*\(\s*f?['"`][^'"`]*\{(?:request\.|req\.)/,
985
+ ],
986
+ fix: 'Sanitize user input before logging: strip newlines, control characters, and limit length',
987
+ },
988
+ // ============================================
989
+ // NEW RULES - Security Gaps Backlog
990
+ // ============================================
991
+ // --- JWT Hardening ---
992
+ {
993
+ id: 'jwt-missing-exp',
994
+ name: 'JWT Token Without Expiration',
995
+ description: 'JWT tokens signed without an expiration claim can be used indefinitely if compromised',
996
+ severity: 'high',
997
+ tier: 'free',
998
+ languages: ['javascript', 'typescript', 'python'],
999
+ patterns: [
1000
+ // JS: jwt.sign() without expiresIn option
1001
+ /jwt\.sign\s*\(\s*(?:\{[^}]*\}|\w+)\s*,\s*(?:[^,)]+)\s*\)(?!\s*;?\s*\/\/\s*has\s*exp)/,
1002
+ // JS: jwt.sign with options object but no expiresIn
1003
+ /jwt\.sign\s*\(\s*(?:\{[^}]*\}|\w+)\s*,\s*[^,)]+\s*,\s*\{(?![^}]*expiresIn)[^}]*\}\s*\)/,
1004
+ ],
1005
+ fix: 'Always set an expiration: jwt.sign(payload, secret, { expiresIn: "1h" }) or include exp claim in payload',
1006
+ },
1007
+ {
1008
+ id: 'jwt-weak-secret',
1009
+ name: 'JWT Signed with Weak/Short Secret',
1010
+ description: 'JWT signing with a short hardcoded secret makes tokens easy to brute-force',
1011
+ severity: 'high',
1012
+ tier: 'free',
1013
+ languages: ['javascript', 'typescript', 'python'],
1014
+ patterns: [
1015
+ // JS: jwt.sign with short string literal secret (< 16 chars)
1016
+ /jwt\.sign\s*\([^,]+,\s*['"`][^'"`]{1,15}['"`]/,
1017
+ // JS: jwt.verify with short string literal secret
1018
+ /jwt\.verify\s*\([^,]+,\s*['"`][^'"`]{1,15}['"`]/,
1019
+ ],
1020
+ fix: 'Use a strong secret (32+ characters) from environment variables: jwt.sign(payload, process.env.JWT_SECRET)',
1021
+ },
1022
+ // --- Security Headers ---
1023
+ {
1024
+ id: 'missing-security-headers',
1025
+ name: 'Express App Without Security Headers',
1026
+ description: 'Express apps without security headers (CSP, HSTS, X-Frame-Options) are vulnerable to various attacks',
1027
+ severity: 'medium',
1028
+ tier: 'free',
1029
+ languages: ['javascript', 'typescript'],
1030
+ patterns: [
1031
+ // Express app created without helmet or manual header setup in same file
1032
+ /const\s+\w+\s*=\s*express\s*\(\s*\)(?![^]*(?:helmet|Content-Security-Policy|X-Frame-Options|Strict-Transport-Security))/,
1033
+ ],
1034
+ fix: 'Use helmet middleware: app.use(helmet()) or set security headers manually (CSP, HSTS, X-Frame-Options)',
1035
+ },
1036
+ {
1037
+ id: 'csp-unsafe-inline',
1038
+ name: 'CSP Allows unsafe-inline or unsafe-eval',
1039
+ description: 'Content Security Policy with unsafe-inline or unsafe-eval defeats the purpose of CSP and allows XSS',
1040
+ severity: 'medium',
1041
+ tier: 'pro',
1042
+ languages: ['javascript', 'typescript'],
1043
+ patterns: [
1044
+ /Content-Security-Policy[^'"]*['"`][^'"`]*unsafe-inline[^'"`]*['"`]/,
1045
+ /Content-Security-Policy[^'"]*['"`][^'"`]*unsafe-eval[^'"`]*['"`]/,
1046
+ /contentSecurityPolicy[^}]*['"`][^'"`]*unsafe-inline[^'"`]*['"`]/,
1047
+ /contentSecurityPolicy[^}]*['"`][^'"`]*unsafe-eval[^'"`]*['"`]/,
1048
+ ],
1049
+ fix: 'Remove unsafe-inline/unsafe-eval from CSP. Use nonces or hashes for inline scripts instead',
1050
+ },
1051
+ // --- CORS with Credentials ---
1052
+ {
1053
+ id: 'cors-credentials-wildcard',
1054
+ name: 'CORS Wildcard Origin with Credentials',
1055
+ description: 'Allowing all origins with credentials enabled lets any site make authenticated requests on behalf of users',
1056
+ severity: 'high',
1057
+ tier: 'free',
1058
+ languages: ['javascript', 'typescript', 'python'],
1059
+ patterns: [
1060
+ // Express: cors({ origin: '*', credentials: true }) or cors({ origin: true, credentials: true })
1061
+ /cors\s*\(\s*\{[^}]*origin\s*:\s*(?:['"`]\*['"`]|true)[^}]*credentials\s*:\s*true[^}]*\}/,
1062
+ /cors\s*\(\s*\{[^}]*credentials\s*:\s*true[^}]*origin\s*:\s*(?:['"`]\*['"`]|true)[^}]*\}/,
1063
+ ],
1064
+ fix: 'Specify allowed origins explicitly instead of using wildcard when credentials are enabled',
1065
+ },
1066
+ // --- Password Hashing ---
1067
+ {
1068
+ id: 'password-hash-weak',
1069
+ name: 'Weak Password Hashing Algorithm',
1070
+ description: 'Using MD5, SHA1, or raw SHA256 without salt/KDF for passwords allows fast brute-force attacks',
1071
+ severity: 'high',
1072
+ tier: 'free',
1073
+ languages: ['javascript', 'typescript', 'python'],
1074
+ patterns: [
1075
+ // JS: crypto.createHash with password variable
1076
+ /crypto\.createHash\s*\(\s*['"`](?:md5|sha1|sha256)['"`]\s*\)\.update\s*\(\s*(?:password|passwd|pass|pwd)/i,
1077
+ // Generic: hash(password) without bcrypt/scrypt/argon2
1078
+ /(?:md5|sha1|sha256)\s*\(\s*(?:password|passwd|pass|pwd)\s*\)/i,
1079
+ ],
1080
+ fix: 'Use bcrypt, scrypt, or argon2 for password hashing: await bcrypt.hash(password, 12)',
1081
+ },
1082
+ {
1083
+ id: 'password-plaintext-storage',
1084
+ name: 'Password Stored Without Hashing',
1085
+ description: 'Storing passwords directly in the database without hashing exposes all users if the database is compromised',
1086
+ severity: 'critical',
1087
+ tier: 'free',
1088
+ languages: ['javascript', 'typescript', 'python'],
1089
+ patterns: [
1090
+ // ORM create/insert with password from request body directly
1091
+ /\.create\s*\(\s*\{[^}]*password\s*:\s*(?:req\.body\.password|request\.(?:data|POST)\[?['"`]?password)/,
1092
+ /\.insert\s*\(\s*\{[^}]*password\s*:\s*(?:req\.body\.password|request\.(?:data|POST)\[?['"`]?password)/,
1093
+ // Direct DB insert with password field from user input
1094
+ /\.(?:insertOne|save)\s*\(\s*\{[^}]*password\s*:\s*(?:req\.body|data|body)\.password/,
1095
+ ],
1096
+ fix: 'Always hash passwords before storage: const hashed = await bcrypt.hash(req.body.password, 12)',
1097
+ },
1098
+ // --- Zip Slip ---
1099
+ {
1100
+ id: 'zip-slip',
1101
+ name: 'Archive Extraction Without Path Validation (Zip Slip)',
1102
+ description: 'Extracting archives without validating file paths allows attackers to write files outside the target directory',
1103
+ severity: 'high',
1104
+ tier: 'pro',
1105
+ languages: ['javascript', 'typescript', 'python'],
1106
+ patterns: [
1107
+ // JS: extract/unzip without path validation
1108
+ /\.extract\s*\(\s*(?:req\.|body\.|params\.|query\.|upload|file|input)/,
1109
+ /tar\.(?:x|extract)\s*\(\s*\{[^}]*(?:file|cwd)\s*:[^}]*(?:req\.|body\.|params\.|upload|input)/,
1110
+ /unzipper\.Extract\s*\(/,
1111
+ /adm-zip.*extractAllTo\s*\(/,
1112
+ ],
1113
+ fix: 'Validate extracted file paths: ensure path.resolve(dest, entry) starts with path.resolve(dest)',
1114
+ },
1115
+ // --- HTTP Client Timeout ---
1116
+ {
1117
+ id: 'http-client-no-timeout',
1118
+ name: 'HTTP Client Without Timeout',
1119
+ description: 'Outbound HTTP requests without a timeout can hang indefinitely, causing resource exhaustion',
1120
+ severity: 'medium',
1121
+ tier: 'free',
1122
+ languages: ['javascript', 'typescript', 'python'],
1123
+ patterns: [
1124
+ // Python: requests without timeout
1125
+ /requests\.(?:get|post|put|delete|patch|head)\s*\([^)]*\)(?<![^)]*timeout)/,
1126
+ ],
1127
+ fix: 'Always set a timeout: requests.get(url, timeout=10) or use AbortController with fetch',
1128
+ },
1129
+ // --- S3 Public Access ---
1130
+ {
1131
+ id: 's3-public-read',
1132
+ name: 'S3 Bucket with Public Access',
1133
+ description: 'S3 bucket policies granting public access can expose sensitive data to the internet',
1134
+ severity: 'high',
1135
+ tier: 'pro',
1136
+ languages: ['javascript', 'typescript', 'python'],
1137
+ patterns: [
1138
+ // S3 ACL set to public-read
1139
+ /ACL\s*:\s*['"`]public-read(?:-write)?['"`]/,
1140
+ /acl\s*=\s*['"`]public-read(?:-write)?['"`]/,
1141
+ // S3 policy with Principal: *
1142
+ /Principal['"`:]\s*['"`]\*['"`][\s\S]{0,200}s3:(?:GetObject|\*)/,
1143
+ // Public bucket configuration
1144
+ /BlockPublicAcls\s*:\s*false/,
1145
+ /BlockPublicPolicy\s*:\s*false/,
1146
+ ],
1147
+ fix: 'Remove public access. Use BlockPublicAccess, restrict bucket policies to specific IAM roles/accounts',
1148
+ },
686
1149
  ];
687
1150
  function getRuleById(id) {
688
1151
  return exports.securityRules.find(rule => rule.id === id);
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../../src/scanner/rules/definitions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../../src/scanner/rules/definitions.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@indicated/vibeguard",
3
- "version": "1.5.2",
3
+ "version": "1.7.0",
4
4
  "description": "Local CLI security scanner for AI-generated code",
5
5
  "main": "dist/cli/index.js",
6
6
  "bin": {
@@ -19,10 +19,23 @@
19
19
  "scanner",
20
20
  "cli",
21
21
  "vulnerability",
22
- "code-analysis"
22
+ "code-analysis",
23
+ "ai",
24
+ "mcp",
25
+ "claude",
26
+ "vibe-coding",
27
+ "static-analysis"
23
28
  ],
24
- "author": "",
29
+ "author": "Indicated <pupkin.alan@gmail.com>",
25
30
  "license": "ISC",
31
+ "repository": {
32
+ "type": "git",
33
+ "url": "git+https://github.com/indicated/vibeguard.git"
34
+ },
35
+ "homepage": "https://github.com/indicated/vibeguard#readme",
36
+ "bugs": {
37
+ "url": "https://github.com/indicated/vibeguard/issues"
38
+ },
26
39
  "type": "commonjs",
27
40
  "engines": {
28
41
  "node": ">=18.0.0"