veto-leash 1.2.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +76 -45
- package/bin/leash +0 -0
- package/bin/leash.js +45 -0
- package/dist/ast/builtins.d.ts.map +1 -1
- package/dist/ast/builtins.js +469 -9
- package/dist/ast/builtins.js.map +1 -1
- package/dist/ast/parser.d.ts +22 -2
- package/dist/ast/parser.d.ts.map +1 -1
- package/dist/ast/parser.js +124 -11
- package/dist/ast/parser.js.map +1 -1
- package/dist/cli.js +81 -31
- package/dist/cli.js.map +1 -1
- package/dist/compiler/llm.js +7 -7
- package/dist/compiler/llm.js.map +1 -1
- package/dist/compiler/prompt.d.ts +1 -1
- package/dist/compiler/prompt.d.ts.map +1 -1
- package/dist/compiler/prompt.js +148 -45
- package/dist/compiler/prompt.js.map +1 -1
- package/dist/config/loader.d.ts +1 -1
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +27 -11
- package/dist/config/loader.js.map +1 -1
- package/dist/config/schema.d.ts +1 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +3 -2
- package/dist/config/schema.js.map +1 -1
- package/dist/native/claude-code.js +6 -5
- package/dist/native/claude-code.js.map +1 -1
- package/dist/native/cursor.d.ts +1 -1
- package/dist/native/cursor.d.ts.map +1 -1
- package/dist/native/cursor.js +65 -8
- package/dist/native/cursor.js.map +1 -1
- package/dist/native/index.js +2 -2
- package/dist/native/index.js.map +1 -1
- package/dist/native/opencode.d.ts +1 -1
- package/dist/native/opencode.d.ts.map +1 -1
- package/dist/native/opencode.js +181 -10
- package/dist/native/opencode.js.map +1 -1
- package/dist/native/validator.js +6 -4
- package/dist/native/validator.js.map +1 -1
- package/dist/native/windsurf.d.ts +1 -1
- package/dist/native/windsurf.d.ts.map +1 -1
- package/dist/native/windsurf.js +63 -8
- package/dist/native/windsurf.js.map +1 -1
- package/dist/opencode-plugin/veto-leash.d.ts +54 -0
- package/dist/opencode-plugin/veto-leash.d.ts.map +1 -0
- package/dist/opencode-plugin/veto-leash.js +226 -0
- package/dist/opencode-plugin/veto-leash.js.map +1 -0
- package/go/leash-darwin-amd64 +0 -0
- package/go/leash-darwin-arm64 +0 -0
- package/go/leash-linux-amd64 +0 -0
- package/go/leash-linux-arm64 +0 -0
- package/go/leash-windows-amd64.exe +0 -0
- package/package.json +9 -4
- package/scripts/postinstall.js +57 -0
- package/languages/tree-sitter-bash.wasm +0 -0
- package/languages/tree-sitter-c.wasm +0 -0
- package/languages/tree-sitter-cpp.wasm +0 -0
- package/languages/tree-sitter-go.wasm +0 -0
- package/languages/tree-sitter-java.wasm +0 -0
- package/languages/tree-sitter-javascript.wasm +0 -0
- package/languages/tree-sitter-kotlin.wasm +0 -0
- package/languages/tree-sitter-php.wasm +0 -0
- package/languages/tree-sitter-python.wasm +0 -0
- package/languages/tree-sitter-ruby.wasm +0 -0
- package/languages/tree-sitter-rust.wasm +0 -0
- package/languages/tree-sitter-tsx.wasm +0 -0
- package/languages/tree-sitter-typescript.wasm +0 -0
package/dist/ast/builtins.js
CHANGED
|
@@ -405,6 +405,143 @@ export const AST_BUILTINS = {
|
|
|
405
405
|
regexPreFilter: 'alert',
|
|
406
406
|
},
|
|
407
407
|
],
|
|
408
|
+
'no settimeout': [
|
|
409
|
+
{
|
|
410
|
+
id: 'no-settimeout',
|
|
411
|
+
query: `(call_expression function: (identifier) @fn (#eq? @fn "setTimeout"))`,
|
|
412
|
+
languages: ['typescript', 'javascript'],
|
|
413
|
+
reason: 'setTimeout can lead to race conditions and hard-to-test code',
|
|
414
|
+
suggest: 'Use debounce/throttle utilities or proper async patterns',
|
|
415
|
+
regexPreFilter: 'setTimeout',
|
|
416
|
+
},
|
|
417
|
+
{
|
|
418
|
+
id: 'no-setinterval',
|
|
419
|
+
query: `(call_expression function: (identifier) @fn (#eq? @fn "setInterval"))`,
|
|
420
|
+
languages: ['typescript', 'javascript'],
|
|
421
|
+
reason: 'setInterval can cause memory leaks and timing issues',
|
|
422
|
+
suggest: 'Use requestAnimationFrame or proper scheduling',
|
|
423
|
+
regexPreFilter: 'setInterval',
|
|
424
|
+
},
|
|
425
|
+
],
|
|
426
|
+
'no sync fs': [
|
|
427
|
+
{
|
|
428
|
+
id: 'no-sync-fs-read',
|
|
429
|
+
query: `(call_expression function: (member_expression property: (property_identifier) @fn (#match? @fn "^(readFileSync|writeFileSync|existsSync|mkdirSync|readdirSync)$")))`,
|
|
430
|
+
languages: ['typescript', 'javascript'],
|
|
431
|
+
reason: 'Synchronous file operations block the event loop',
|
|
432
|
+
suggest: 'Use async variants: fs.promises.readFile, fs.promises.writeFile',
|
|
433
|
+
regexPreFilter: 'Sync',
|
|
434
|
+
},
|
|
435
|
+
],
|
|
436
|
+
'no document': [
|
|
437
|
+
{
|
|
438
|
+
id: 'no-document-getelementbyid',
|
|
439
|
+
query: `(call_expression function: (member_expression object: (identifier) @obj (#eq? @obj "document") property: (property_identifier) @prop (#match? @prop "^(getElementById|querySelector|querySelectorAll|getElementsByClassName|getElementsByTagName)$")))`,
|
|
440
|
+
languages: ['typescript', 'javascript'],
|
|
441
|
+
reason: 'Direct DOM manipulation bypasses React/Vue virtual DOM',
|
|
442
|
+
suggest: 'Use refs (useRef in React) or component state',
|
|
443
|
+
regexPreFilter: 'document',
|
|
444
|
+
},
|
|
445
|
+
{
|
|
446
|
+
id: 'no-document-create',
|
|
447
|
+
query: `(call_expression function: (member_expression object: (identifier) @obj (#eq? @obj "document") property: (property_identifier) @prop (#match? @prop "^(createElement|createTextNode|write|writeln)$")))`,
|
|
448
|
+
languages: ['typescript', 'javascript'],
|
|
449
|
+
reason: 'Direct DOM creation bypasses framework rendering',
|
|
450
|
+
suggest: 'Use JSX or template syntax',
|
|
451
|
+
regexPreFilter: 'document',
|
|
452
|
+
},
|
|
453
|
+
],
|
|
454
|
+
'no throw string': [
|
|
455
|
+
{
|
|
456
|
+
id: 'no-throw-string-literal',
|
|
457
|
+
query: `(throw_statement (string) @str)`,
|
|
458
|
+
languages: ['typescript', 'javascript'],
|
|
459
|
+
reason: 'Throwing strings loses stack trace information',
|
|
460
|
+
suggest: 'throw new Error("message") or custom error class',
|
|
461
|
+
regexPreFilter: 'throw',
|
|
462
|
+
},
|
|
463
|
+
],
|
|
464
|
+
'no ts-ignore': [
|
|
465
|
+
{
|
|
466
|
+
id: 'no-ts-ignore-comment',
|
|
467
|
+
// Note: This checks for the comment as a node - works in TypeScript parser
|
|
468
|
+
query: `(comment) @c (#match? @c "ts-ignore|ts-nocheck|ts-expect-error")`,
|
|
469
|
+
languages: ['typescript'],
|
|
470
|
+
reason: 'TypeScript suppression comments hide type errors',
|
|
471
|
+
suggest: 'Fix the underlying type error instead',
|
|
472
|
+
regexPreFilter: 'ts-',
|
|
473
|
+
},
|
|
474
|
+
],
|
|
475
|
+
'no eslint-disable': [
|
|
476
|
+
{
|
|
477
|
+
id: 'no-eslint-disable-comment',
|
|
478
|
+
query: `(comment) @c (#match? @c "eslint-disable")`,
|
|
479
|
+
languages: ['typescript', 'javascript'],
|
|
480
|
+
reason: 'eslint-disable comments hide potential issues',
|
|
481
|
+
suggest: 'Fix the underlying issue or configure .eslintrc',
|
|
482
|
+
regexPreFilter: 'eslint-disable',
|
|
483
|
+
},
|
|
484
|
+
],
|
|
485
|
+
'no window': [
|
|
486
|
+
{
|
|
487
|
+
id: 'no-window-location',
|
|
488
|
+
query: `(member_expression object: (identifier) @obj (#eq? @obj "window") property: (property_identifier) @prop (#match? @prop "^(location|history|localStorage|sessionStorage)$"))`,
|
|
489
|
+
languages: ['typescript', 'javascript'],
|
|
490
|
+
reason: 'Direct window access is not SSR-safe',
|
|
491
|
+
suggest: 'Use framework navigation (next/router, react-router)',
|
|
492
|
+
regexPreFilter: 'window',
|
|
493
|
+
},
|
|
494
|
+
],
|
|
495
|
+
'no process.env': [
|
|
496
|
+
{
|
|
497
|
+
id: 'no-process-env-direct',
|
|
498
|
+
query: `(member_expression object: (member_expression object: (identifier) @obj (#eq? @obj "process") property: (property_identifier) @prop1 (#eq? @prop1 "env")))`,
|
|
499
|
+
languages: ['typescript', 'javascript'],
|
|
500
|
+
reason: 'Direct process.env access should be centralized',
|
|
501
|
+
suggest: 'Use a config module that validates and types env vars',
|
|
502
|
+
regexPreFilter: 'process.env',
|
|
503
|
+
},
|
|
504
|
+
],
|
|
505
|
+
'no require': [
|
|
506
|
+
{
|
|
507
|
+
id: 'no-commonjs-require',
|
|
508
|
+
query: `(call_expression function: (identifier) @fn (#eq? @fn "require") arguments: (arguments (string)))`,
|
|
509
|
+
languages: ['typescript', 'javascript'],
|
|
510
|
+
reason: 'Use ES modules (import) instead of CommonJS require',
|
|
511
|
+
suggest: 'import x from "module" or import { x } from "module"',
|
|
512
|
+
regexPreFilter: 'require',
|
|
513
|
+
},
|
|
514
|
+
],
|
|
515
|
+
'no this': [
|
|
516
|
+
{
|
|
517
|
+
id: 'no-this-keyword',
|
|
518
|
+
query: `(this) @this`,
|
|
519
|
+
languages: ['typescript', 'javascript'],
|
|
520
|
+
reason: 'Avoid this in favor of explicit parameters/closures',
|
|
521
|
+
suggest: 'Use arrow functions or pass context explicitly',
|
|
522
|
+
regexPreFilter: 'this',
|
|
523
|
+
},
|
|
524
|
+
],
|
|
525
|
+
'no class': [
|
|
526
|
+
{
|
|
527
|
+
id: 'no-class-declaration',
|
|
528
|
+
query: `(class_declaration) @class`,
|
|
529
|
+
languages: ['typescript', 'javascript'],
|
|
530
|
+
reason: 'Prefer functions and composition over classes',
|
|
531
|
+
suggest: 'Use functions, closures, and plain objects',
|
|
532
|
+
regexPreFilter: 'class',
|
|
533
|
+
},
|
|
534
|
+
],
|
|
535
|
+
'no mutation': [
|
|
536
|
+
{
|
|
537
|
+
id: 'no-array-push',
|
|
538
|
+
query: `(call_expression function: (member_expression property: (property_identifier) @fn (#match? @fn "^(push|pop|shift|unshift|splice|sort|reverse)$")))`,
|
|
539
|
+
languages: ['typescript', 'javascript'],
|
|
540
|
+
reason: 'Array mutation can cause unexpected side effects',
|
|
541
|
+
suggest: 'Use immutable methods: concat, slice, filter, map, toSorted',
|
|
542
|
+
regexPreFilter: 'push',
|
|
543
|
+
},
|
|
544
|
+
],
|
|
408
545
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
409
546
|
// PYTHON PATTERNS
|
|
410
547
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
@@ -463,6 +600,66 @@ export const AST_BUILTINS = {
|
|
|
463
600
|
regexPreFilter: 'pandas',
|
|
464
601
|
},
|
|
465
602
|
],
|
|
603
|
+
'no python global': [
|
|
604
|
+
{
|
|
605
|
+
id: 'no-python-global',
|
|
606
|
+
query: `(global_statement) @global`,
|
|
607
|
+
languages: ['python'],
|
|
608
|
+
reason: 'Global statements make code hard to test and reason about',
|
|
609
|
+
suggest: 'Pass state explicitly or use a class',
|
|
610
|
+
regexPreFilter: 'global',
|
|
611
|
+
},
|
|
612
|
+
],
|
|
613
|
+
'no python assert': [
|
|
614
|
+
{
|
|
615
|
+
id: 'no-python-assert',
|
|
616
|
+
query: `(assert_statement) @assert`,
|
|
617
|
+
languages: ['python'],
|
|
618
|
+
reason: 'assert is stripped in production (-O flag)',
|
|
619
|
+
suggest: 'Use explicit if/raise for validation',
|
|
620
|
+
regexPreFilter: 'assert',
|
|
621
|
+
},
|
|
622
|
+
],
|
|
623
|
+
'no python bare except': [
|
|
624
|
+
{
|
|
625
|
+
id: 'no-python-bare-except',
|
|
626
|
+
// Matches: except: (without exception type)
|
|
627
|
+
query: `(except_clause) @exc`,
|
|
628
|
+
languages: ['python'],
|
|
629
|
+
reason: 'Bare except catches all exceptions including SystemExit',
|
|
630
|
+
suggest: 'Use except Exception: or specific exception types',
|
|
631
|
+
regexPreFilter: 'except',
|
|
632
|
+
},
|
|
633
|
+
],
|
|
634
|
+
'no python pickle': [
|
|
635
|
+
{
|
|
636
|
+
id: 'no-python-pickle-import',
|
|
637
|
+
query: `(import_statement name: (dotted_name) @name (#eq? @name "pickle"))`,
|
|
638
|
+
languages: ['python'],
|
|
639
|
+
reason: 'pickle can execute arbitrary code during deserialization',
|
|
640
|
+
suggest: 'Use JSON, MessagePack, or Protocol Buffers',
|
|
641
|
+
regexPreFilter: 'pickle',
|
|
642
|
+
},
|
|
643
|
+
{
|
|
644
|
+
id: 'no-python-pickle-from',
|
|
645
|
+
query: `(import_from_statement module_name: (dotted_name) @name (#eq? @name "pickle"))`,
|
|
646
|
+
languages: ['python'],
|
|
647
|
+
reason: 'pickle can execute arbitrary code during deserialization',
|
|
648
|
+
suggest: 'Use JSON, MessagePack, or Protocol Buffers',
|
|
649
|
+
regexPreFilter: 'pickle',
|
|
650
|
+
},
|
|
651
|
+
],
|
|
652
|
+
'no python subprocess shell': [
|
|
653
|
+
{
|
|
654
|
+
id: 'no-python-subprocess-shell',
|
|
655
|
+
// This catches subprocess calls with shell=True
|
|
656
|
+
query: `(call function: (attribute object: (identifier) @mod (#eq? @mod "subprocess")) arguments: (argument_list (keyword_argument name: (identifier) @key (#eq? @key "shell") value: (true))))`,
|
|
657
|
+
languages: ['python'],
|
|
658
|
+
reason: 'subprocess with shell=True is vulnerable to injection',
|
|
659
|
+
suggest: 'Use subprocess.run(["cmd", "arg"], shell=False)',
|
|
660
|
+
regexPreFilter: 'shell',
|
|
661
|
+
},
|
|
662
|
+
],
|
|
466
663
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
467
664
|
// GO PATTERNS
|
|
468
665
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
@@ -486,6 +683,46 @@ export const AST_BUILTINS = {
|
|
|
486
683
|
regexPreFilter: 'panic',
|
|
487
684
|
},
|
|
488
685
|
],
|
|
686
|
+
'no go log.fatal': [
|
|
687
|
+
{
|
|
688
|
+
id: 'no-go-log-fatal',
|
|
689
|
+
query: `(call_expression function: (selector_expression operand: (identifier) @pkg (#eq? @pkg "log") field: (field_identifier) @fn (#match? @fn "^(Fatal|Fatalf|Fatalln)$")))`,
|
|
690
|
+
languages: ['go'],
|
|
691
|
+
reason: 'log.Fatal calls os.Exit, skipping deferred functions',
|
|
692
|
+
suggest: 'Return error and let main() decide exit behavior',
|
|
693
|
+
regexPreFilter: 'Fatal',
|
|
694
|
+
},
|
|
695
|
+
],
|
|
696
|
+
'no go os.exit': [
|
|
697
|
+
{
|
|
698
|
+
id: 'no-go-os-exit',
|
|
699
|
+
query: `(call_expression function: (selector_expression operand: (identifier) @pkg (#eq? @pkg "os") field: (field_identifier) @fn (#eq? @fn "Exit")))`,
|
|
700
|
+
languages: ['go'],
|
|
701
|
+
reason: 'os.Exit skips deferred functions and cleanup',
|
|
702
|
+
suggest: 'Return from main() instead, or use runtime.Goexit()',
|
|
703
|
+
regexPreFilter: 'Exit',
|
|
704
|
+
},
|
|
705
|
+
],
|
|
706
|
+
'no go init': [
|
|
707
|
+
{
|
|
708
|
+
id: 'no-go-init-function',
|
|
709
|
+
query: `(function_declaration name: (identifier) @fn (#eq? @fn "init"))`,
|
|
710
|
+
languages: ['go'],
|
|
711
|
+
reason: 'init() functions run implicitly and complicate testing',
|
|
712
|
+
suggest: 'Use explicit initialization functions',
|
|
713
|
+
regexPreFilter: 'func init',
|
|
714
|
+
},
|
|
715
|
+
],
|
|
716
|
+
'no go interface{}': [
|
|
717
|
+
{
|
|
718
|
+
id: 'no-go-empty-interface',
|
|
719
|
+
query: `(interface_type) @iface`,
|
|
720
|
+
languages: ['go'],
|
|
721
|
+
reason: 'Empty interface (any) loses type safety',
|
|
722
|
+
suggest: 'Use generics or specific interface types',
|
|
723
|
+
regexPreFilter: 'interface{}',
|
|
724
|
+
},
|
|
725
|
+
],
|
|
489
726
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
490
727
|
// RUST PATTERNS
|
|
491
728
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
@@ -559,32 +796,33 @@ export const AST_BUILTINS = {
|
|
|
559
796
|
// CROSS-LANGUAGE SECURITY PATTERNS
|
|
560
797
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
561
798
|
'no hardcoded secrets': [
|
|
562
|
-
// JavaScript/TypeScript
|
|
799
|
+
// JavaScript/TypeScript - common secret variable patterns
|
|
563
800
|
{
|
|
564
801
|
id: 'no-js-hardcoded-key',
|
|
565
|
-
|
|
802
|
+
// Matches: api_key, apiKey, API_KEY, secret, password, token, credential (case variations via alternation)
|
|
803
|
+
query: `(variable_declarator name: (identifier) @name (#match? @name "(api_?[kK]ey|API_?KEY|[sS]ecret|SECRET|[pP]assword|PASSWORD|[tT]oken|TOKEN|[cC]redential|CREDENTIAL)") value: (string) @value)`,
|
|
566
804
|
languages: ['typescript', 'javascript'],
|
|
567
805
|
reason: 'Hardcoded secrets detected',
|
|
568
806
|
suggest: 'Use environment variables or a secrets manager',
|
|
569
|
-
regexPreFilter: '
|
|
807
|
+
regexPreFilter: '=',
|
|
570
808
|
},
|
|
571
|
-
// Python
|
|
809
|
+
// Python - common secret variable patterns
|
|
572
810
|
{
|
|
573
811
|
id: 'no-python-hardcoded-key',
|
|
574
|
-
query: `(assignment left: (identifier) @name (#match? @name "(
|
|
812
|
+
query: `(assignment left: (identifier) @name (#match? @name "(api_?[kK]ey|API_?KEY|[sS]ecret|SECRET|[pP]assword|PASSWORD|[tT]oken|TOKEN|[cC]redential|CREDENTIAL)") right: (string) @value)`,
|
|
575
813
|
languages: ['python'],
|
|
576
814
|
reason: 'Hardcoded secrets detected',
|
|
577
815
|
suggest: 'Use environment variables or a secrets manager',
|
|
578
|
-
regexPreFilter: '
|
|
816
|
+
regexPreFilter: '=',
|
|
579
817
|
},
|
|
580
|
-
// Go
|
|
818
|
+
// Go - common secret variable patterns
|
|
581
819
|
{
|
|
582
820
|
id: 'no-go-hardcoded-key',
|
|
583
|
-
query: `(var_declaration (var_spec name: (identifier) @name (#match? @name "(?
|
|
821
|
+
query: `(var_declaration (var_spec name: (identifier) @name (#match? @name "(api[kK]ey|API_?KEY|[sS]ecret|SECRET|[pP]assword|PASSWORD|[tT]oken|TOKEN|[cC]redential|CREDENTIAL)") value: (expression_list (interpreted_string_literal))))`,
|
|
584
822
|
languages: ['go'],
|
|
585
823
|
reason: 'Hardcoded secrets detected',
|
|
586
824
|
suggest: 'Use environment variables or a secrets manager',
|
|
587
|
-
regexPreFilter: '
|
|
825
|
+
regexPreFilter: '=',
|
|
588
826
|
},
|
|
589
827
|
],
|
|
590
828
|
'no sql injection': [
|
|
@@ -607,6 +845,228 @@ export const AST_BUILTINS = {
|
|
|
607
845
|
regexPreFilter: 'execute',
|
|
608
846
|
},
|
|
609
847
|
],
|
|
848
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
849
|
+
// RUBY PATTERNS
|
|
850
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
851
|
+
'no ruby puts': [
|
|
852
|
+
{
|
|
853
|
+
id: 'no-ruby-puts',
|
|
854
|
+
query: `(call method: (identifier) @fn (#match? @fn "^(puts|p|pp|print)$"))`,
|
|
855
|
+
languages: ['ruby'],
|
|
856
|
+
reason: 'Use Rails.logger or structured logging instead of puts/print',
|
|
857
|
+
suggest: 'Rails.logger.info(), Rails.logger.debug()',
|
|
858
|
+
regexPreFilter: 'puts',
|
|
859
|
+
},
|
|
860
|
+
],
|
|
861
|
+
'no ruby eval': [
|
|
862
|
+
{
|
|
863
|
+
id: 'no-ruby-eval',
|
|
864
|
+
query: `(call method: (identifier) @fn (#eq? @fn "eval"))`,
|
|
865
|
+
languages: ['ruby'],
|
|
866
|
+
reason: 'eval() is a security risk - arbitrary code execution',
|
|
867
|
+
suggest: 'Refactor to avoid dynamic code execution',
|
|
868
|
+
regexPreFilter: 'eval',
|
|
869
|
+
},
|
|
870
|
+
{
|
|
871
|
+
id: 'no-ruby-instance-eval',
|
|
872
|
+
query: `(call method: (identifier) @fn (#match? @fn "^(instance_eval|class_eval|module_eval)$"))`,
|
|
873
|
+
languages: ['ruby'],
|
|
874
|
+
reason: 'instance_eval/class_eval can execute arbitrary code',
|
|
875
|
+
suggest: 'Use define_method or explicit method definitions',
|
|
876
|
+
regexPreFilter: 'eval',
|
|
877
|
+
},
|
|
878
|
+
],
|
|
879
|
+
'no ruby system': [
|
|
880
|
+
{
|
|
881
|
+
id: 'no-ruby-system-exec',
|
|
882
|
+
query: `(call method: (identifier) @fn (#match? @fn "^(system|exec|spawn)$"))`,
|
|
883
|
+
languages: ['ruby'],
|
|
884
|
+
reason: 'Shell command execution can lead to injection vulnerabilities',
|
|
885
|
+
suggest: 'Use Open3.capture3 with explicit arguments array',
|
|
886
|
+
regexPreFilter: 'system',
|
|
887
|
+
},
|
|
888
|
+
{
|
|
889
|
+
id: 'no-ruby-backticks',
|
|
890
|
+
query: `(subshell) @cmd`,
|
|
891
|
+
languages: ['ruby'],
|
|
892
|
+
reason: 'Backtick shell execution is vulnerable to injection',
|
|
893
|
+
suggest: 'Use Open3.capture3 with explicit arguments',
|
|
894
|
+
regexPreFilter: '`',
|
|
895
|
+
},
|
|
896
|
+
],
|
|
897
|
+
'no ruby binding.pry': [
|
|
898
|
+
{
|
|
899
|
+
id: 'no-ruby-pry',
|
|
900
|
+
query: `(call receiver: (identifier) @recv (#eq? @recv "binding") method: (identifier) @method (#eq? @method "pry"))`,
|
|
901
|
+
languages: ['ruby'],
|
|
902
|
+
reason: 'Remove debug statements before committing',
|
|
903
|
+
suggest: 'Remove binding.pry',
|
|
904
|
+
regexPreFilter: 'pry',
|
|
905
|
+
},
|
|
906
|
+
{
|
|
907
|
+
id: 'no-ruby-byebug',
|
|
908
|
+
query: `(call method: (identifier) @fn (#eq? @fn "byebug"))`,
|
|
909
|
+
languages: ['ruby'],
|
|
910
|
+
reason: 'Remove debug statements before committing',
|
|
911
|
+
suggest: 'Remove byebug',
|
|
912
|
+
regexPreFilter: 'byebug',
|
|
913
|
+
},
|
|
914
|
+
],
|
|
915
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
916
|
+
// PHP PATTERNS
|
|
917
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
918
|
+
'no php echo': [
|
|
919
|
+
{
|
|
920
|
+
id: 'no-php-echo',
|
|
921
|
+
query: `(echo_statement) @echo`,
|
|
922
|
+
languages: ['php'],
|
|
923
|
+
reason: 'Use template engine or proper response methods instead of echo',
|
|
924
|
+
suggest: 'Use Blade, Twig, or return response objects',
|
|
925
|
+
regexPreFilter: 'echo',
|
|
926
|
+
},
|
|
927
|
+
{
|
|
928
|
+
id: 'no-php-print',
|
|
929
|
+
query: `(print_intrinsic) @print`,
|
|
930
|
+
languages: ['php'],
|
|
931
|
+
reason: 'Use template engine instead of print',
|
|
932
|
+
suggest: 'Use Blade, Twig, or return response objects',
|
|
933
|
+
regexPreFilter: 'print',
|
|
934
|
+
},
|
|
935
|
+
],
|
|
936
|
+
'no php eval': [
|
|
937
|
+
{
|
|
938
|
+
id: 'no-php-eval',
|
|
939
|
+
query: `(function_call_expression function: (name) @fn (#eq? @fn "eval"))`,
|
|
940
|
+
languages: ['php'],
|
|
941
|
+
reason: 'eval() is a critical security vulnerability',
|
|
942
|
+
suggest: 'Refactor to avoid dynamic code execution',
|
|
943
|
+
regexPreFilter: 'eval',
|
|
944
|
+
},
|
|
945
|
+
{
|
|
946
|
+
id: 'no-php-create-function',
|
|
947
|
+
query: `(function_call_expression function: (name) @fn (#eq? @fn "create_function"))`,
|
|
948
|
+
languages: ['php'],
|
|
949
|
+
reason: 'create_function is deprecated and vulnerable',
|
|
950
|
+
suggest: 'Use anonymous functions (closures) instead',
|
|
951
|
+
regexPreFilter: 'create_function',
|
|
952
|
+
},
|
|
953
|
+
],
|
|
954
|
+
'no php shell': [
|
|
955
|
+
{
|
|
956
|
+
id: 'no-php-exec',
|
|
957
|
+
query: `(function_call_expression function: (name) @fn (#match? @fn "^(exec|shell_exec|system|passthru|popen|proc_open)$"))`,
|
|
958
|
+
languages: ['php'],
|
|
959
|
+
reason: 'Shell command execution can lead to command injection',
|
|
960
|
+
suggest: 'Use escapeshellarg() and escapeshellcmd() if absolutely necessary',
|
|
961
|
+
regexPreFilter: 'exec',
|
|
962
|
+
},
|
|
963
|
+
{
|
|
964
|
+
id: 'no-php-backtick',
|
|
965
|
+
query: `(shell_command_expression) @cmd`,
|
|
966
|
+
languages: ['php'],
|
|
967
|
+
reason: 'Backtick shell execution is vulnerable to injection',
|
|
968
|
+
suggest: 'Avoid shell commands; use PHP libraries instead',
|
|
969
|
+
regexPreFilter: '`',
|
|
970
|
+
},
|
|
971
|
+
],
|
|
972
|
+
'no php mysql': [
|
|
973
|
+
{
|
|
974
|
+
id: 'no-php-mysql-connect',
|
|
975
|
+
query: `(function_call_expression function: (name) @fn (#match? @fn "^mysql_(connect|query|fetch|select_db|close)"))`,
|
|
976
|
+
languages: ['php'],
|
|
977
|
+
reason: 'mysql_* functions are deprecated and removed in PHP 7+',
|
|
978
|
+
suggest: 'Use PDO or mysqli with prepared statements',
|
|
979
|
+
regexPreFilter: 'mysql_',
|
|
980
|
+
},
|
|
981
|
+
],
|
|
982
|
+
'no php die': [
|
|
983
|
+
{
|
|
984
|
+
id: 'no-php-die',
|
|
985
|
+
query: `(exit_statement) @exit`,
|
|
986
|
+
languages: ['php'],
|
|
987
|
+
reason: 'die/exit abruptly terminates execution without cleanup',
|
|
988
|
+
suggest: 'Throw exceptions for error handling',
|
|
989
|
+
regexPreFilter: 'die',
|
|
990
|
+
},
|
|
991
|
+
],
|
|
992
|
+
'no php var_dump': [
|
|
993
|
+
{
|
|
994
|
+
id: 'no-php-var-dump',
|
|
995
|
+
query: `(function_call_expression function: (name) @fn (#match? @fn "^(var_dump|print_r|var_export)$"))`,
|
|
996
|
+
languages: ['php'],
|
|
997
|
+
reason: 'Remove debug output before committing',
|
|
998
|
+
suggest: 'Use proper logging (Monolog) or remove debug code',
|
|
999
|
+
regexPreFilter: 'var_dump',
|
|
1000
|
+
},
|
|
1001
|
+
],
|
|
1002
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
1003
|
+
// BASH PATTERNS
|
|
1004
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
1005
|
+
'no bash eval': [
|
|
1006
|
+
{
|
|
1007
|
+
id: 'no-bash-eval',
|
|
1008
|
+
query: `(command name: (command_name) @cmd (#eq? @cmd "eval"))`,
|
|
1009
|
+
languages: ['bash'],
|
|
1010
|
+
reason: 'eval is a security risk - arbitrary command execution',
|
|
1011
|
+
suggest: 'Refactor to avoid eval; use arrays for complex commands',
|
|
1012
|
+
regexPreFilter: 'eval',
|
|
1013
|
+
},
|
|
1014
|
+
],
|
|
1015
|
+
'no bash rm rf root': [
|
|
1016
|
+
{
|
|
1017
|
+
id: 'no-bash-rm-rf-root',
|
|
1018
|
+
// This is hard to catch precisely in AST, using simple command check
|
|
1019
|
+
query: `(command name: (command_name) @cmd (#eq? @cmd "rm") argument: (word) @arg (#match? @arg "^(-rf|-r|-f)$"))`,
|
|
1020
|
+
languages: ['bash'],
|
|
1021
|
+
reason: 'rm -rf with root paths can be catastrophic',
|
|
1022
|
+
suggest: 'Use more specific paths and add safety checks',
|
|
1023
|
+
regexPreFilter: 'rm',
|
|
1024
|
+
},
|
|
1025
|
+
],
|
|
1026
|
+
'no bash curl pipe': [
|
|
1027
|
+
{
|
|
1028
|
+
id: 'no-bash-curl-pipe-bash',
|
|
1029
|
+
// Pipeline where curl output goes to bash/sh
|
|
1030
|
+
query: `(pipeline (command name: (command_name) @curl (#match? @curl "^(curl|wget)$")) (command name: (command_name) @shell (#match? @shell "^(bash|sh|zsh)$")))`,
|
|
1031
|
+
languages: ['bash'],
|
|
1032
|
+
reason: 'Piping downloaded scripts to shell is a security risk',
|
|
1033
|
+
suggest: 'Download first, review, then execute: curl -o script.sh URL && bash script.sh',
|
|
1034
|
+
regexPreFilter: 'curl',
|
|
1035
|
+
},
|
|
1036
|
+
],
|
|
1037
|
+
'no bash sudo': [
|
|
1038
|
+
{
|
|
1039
|
+
id: 'no-bash-sudo',
|
|
1040
|
+
query: `(command name: (command_name) @cmd (#eq? @cmd "sudo"))`,
|
|
1041
|
+
languages: ['bash'],
|
|
1042
|
+
reason: 'Avoid sudo in scripts; use proper permissions instead',
|
|
1043
|
+
suggest: 'Configure proper file permissions or use a service account',
|
|
1044
|
+
regexPreFilter: 'sudo',
|
|
1045
|
+
},
|
|
1046
|
+
],
|
|
1047
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
1048
|
+
// KOTLIN PATTERNS
|
|
1049
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
1050
|
+
'no kotlin println': [
|
|
1051
|
+
{
|
|
1052
|
+
id: 'no-kotlin-println',
|
|
1053
|
+
query: `(call_expression (simple_identifier) @fn (#match? @fn "^(println|print)$"))`,
|
|
1054
|
+
languages: ['kotlin'],
|
|
1055
|
+
reason: 'Use proper logging instead of println',
|
|
1056
|
+
suggest: 'Use SLF4J, Logback, or Timber for logging',
|
|
1057
|
+
regexPreFilter: 'print',
|
|
1058
|
+
},
|
|
1059
|
+
],
|
|
1060
|
+
'no kotlin bang operator': [
|
|
1061
|
+
{
|
|
1062
|
+
id: 'no-kotlin-not-null-assertion',
|
|
1063
|
+
query: `(postfix_expression (postfix_unary_operator) @op (#eq? @op "!!"))`,
|
|
1064
|
+
languages: ['kotlin'],
|
|
1065
|
+
reason: '!! can throw NullPointerException at runtime',
|
|
1066
|
+
suggest: 'Use safe calls (?.) or null checks instead',
|
|
1067
|
+
regexPreFilter: '!!',
|
|
1068
|
+
},
|
|
1069
|
+
],
|
|
610
1070
|
};
|
|
611
1071
|
/**
|
|
612
1072
|
* Get all AST rules for a restriction
|
package/dist/ast/builtins.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtins.js","sourceRoot":"","sources":["../../src/ast/builtins.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"builtins.js","sourceRoot":"","sources":["../../src/ast/builtins.ts"],"names":[],"mappings":"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"}
|
package/dist/ast/parser.d.ts
CHANGED
|
@@ -45,13 +45,18 @@ export declare function initParser(): Promise<void>;
|
|
|
45
45
|
*/
|
|
46
46
|
export declare function isInitialized(): boolean;
|
|
47
47
|
/**
|
|
48
|
-
* Load a language from a WASM file
|
|
48
|
+
* Load a language from a WASM file.
|
|
49
|
+
* Downloads on first use and caches locally for subsequent uses.
|
|
49
50
|
*/
|
|
50
51
|
export declare function loadLanguage(languageType: LanguageType): Promise<Language>;
|
|
51
52
|
/**
|
|
52
|
-
* Check if a language is supported (has WASM available)
|
|
53
|
+
* Check if a language is supported (has WASM available locally or can be downloaded)
|
|
53
54
|
*/
|
|
54
55
|
export declare function isLanguageSupported(languageType: LanguageType): boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Check if a language WASM is already downloaded (no network needed)
|
|
58
|
+
*/
|
|
59
|
+
export declare function isLanguageAvailableOffline(languageType: LanguageType): boolean;
|
|
55
60
|
/**
|
|
56
61
|
* Get or create a parser for the given language
|
|
57
62
|
*/
|
|
@@ -85,4 +90,19 @@ export declare function getCacheStats(): {
|
|
|
85
90
|
treeCacheSize: number;
|
|
86
91
|
languageCount: number;
|
|
87
92
|
};
|
|
93
|
+
/**
|
|
94
|
+
* Get the WASM cache directory path
|
|
95
|
+
*/
|
|
96
|
+
export declare function getWasmCacheDir(): string;
|
|
97
|
+
/**
|
|
98
|
+
* List all cached WASM files
|
|
99
|
+
*/
|
|
100
|
+
export declare function listCachedLanguages(): LanguageType[];
|
|
101
|
+
/**
|
|
102
|
+
* Pre-download all supported language WASM files
|
|
103
|
+
*/
|
|
104
|
+
export declare function downloadAllLanguages(): Promise<{
|
|
105
|
+
success: LanguageType[];
|
|
106
|
+
failed: LanguageType[];
|
|
107
|
+
}>;
|
|
88
108
|
//# sourceMappingURL=parser.d.ts.map
|
package/dist/ast/parser.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/ast/parser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/ast/parser.ts"],"names":[],"mappings":"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"}
|