Projects STRLCPY bearer Commits 5cbaf628
🤬
  • feat: send report when api key is set (#814)

    * refactor: output processing
    
    * chore: rewrite helper_test for integration
    
    following the separation of concerns of GetOutput, things needed to be
    updated.
    Also, updated the snapshots to reflect the update in yaml (parent_content -> snippet)
    
    * fix: update snapshots
    
    * chore: address privacy report
    
    * chore: disable api key for now
    
    * Revert "chore: disable api key for now"
    
    This reverts commit d9727aa665fa26b7d9fe0a345840f6b2d6c50e34.
    
    * feat: add fingerprint to security report
    
    * feat: add fingerprint and api_key options
    
    * feat: create report to send
    
    * feat: add communication with backend
    
    * chore: update snapshots
    
    * chore: appease linter
  • Loading...
  • Cédric Fabianski committed with GitHub 1 year ago
    5cbaf628
    1 parent a14090d1
Showing first 200 files as there are too many
  • ■ ■ ■ ■ ■ ■
    api/client.go
     1 +package api
     2 + 
     3 +import (
     4 + "bytes"
     5 + "encoding/json"
     6 + "errors"
     7 + "fmt"
     8 + "io"
     9 + "net/http"
     10 + 
     11 + "github.com/bearer/bearer/cmd/bearer/build"
     12 +)
     13 + 
     14 +type API struct {
     15 + client *http.Client
     16 + Host string
     17 + Token string
     18 +}
     19 + 
     20 +type MessageType string
     21 + 
     22 +const MessageTypeSuccess MessageType = "success"
     23 +const MessageTypeError MessageType = "error"
     24 + 
     25 +type Message struct {
     26 + Type MessageType `json:"type"`
     27 + Data interface{} `json:"data"`
     28 +}
     29 + 
     30 +type ErrorData struct {
     31 + Message string `json:"message"`
     32 +}
     33 + 
     34 +func New(config API) *API {
     35 + return &API{
     36 + client: &http.Client{},
     37 + Token: config.Token,
     38 + Host: config.Host,
     39 + }
     40 +}
     41 + 
     42 +var ErrTokenInvalid = errors.New("bearer token is invalid")
     43 + 
     44 +func (api *API) makeRequest(route string, httpMethod string, data interface{}) ([]byte, error) {
     45 + fullURL := fmt.Sprintf("https://%s%s", api.Host, route)
     46 + 
     47 + var req *http.Request
     48 + 
     49 + if data != nil {
     50 + sendingData, err := json.Marshal(data)
     51 + if err != nil {
     52 + return nil, fmt.Errorf("fail marshaling data %e", err)
     53 + }
     54 + 
     55 + req, err = http.NewRequest(httpMethod, fullURL, bytes.NewBuffer(sendingData))
     56 + if err != nil {
     57 + return nil, fmt.Errorf("fail creating request %e %s", err, fullURL)
     58 + }
     59 + req.Header.Set("Content-Type", "application/json")
     60 + defer req.Body.Close()
     61 + } else {
     62 + var err error
     63 + req, err = http.NewRequest(httpMethod, fullURL, nil)
     64 + if err != nil {
     65 + return nil, fmt.Errorf("fail creating request %e %s", err, fullURL)
     66 + }
     67 + }
     68 + 
     69 + req.Header.Set("Authorization", api.Token)
     70 + req.Header.Set("X-Bearer-SHA", build.CommitSHA)
     71 + req.Header.Set("X-Bearer-Version", build.Version)
     72 + 
     73 + resp, err := api.client.Do(req)
     74 + if err != nil {
     75 + return nil, fmt.Errorf("fail getting response %e %s", err, fullURL)
     76 + }
     77 + defer resp.Body.Close()
     78 + 
     79 + body, err := io.ReadAll(resp.Body)
     80 + if err != nil {
     81 + return nil, fmt.Errorf("fail reading response body %e %s", err, fullURL)
     82 + }
     83 + 
     84 + if resp.StatusCode == http.StatusUnauthorized {
     85 + var BearerTokenInvalidMsgErr = "invalid token"
     86 + type BearerTokenInvalidMsg struct {
     87 + Error string `json:"error"`
     88 + }
     89 + 
     90 + var unathorizedErr BearerTokenInvalidMsg
     91 + err := json.Unmarshal(body, &unathorizedErr)
     92 + if err != nil {
     93 + return nil, err
     94 + }
     95 + 
     96 + if unathorizedErr.Error == BearerTokenInvalidMsgErr {
     97 + return nil, ErrTokenInvalid
     98 + }
     99 + }
     100 + 
     101 + if resp.StatusCode != http.StatusOK && resp.StatusCode != 204 {
     102 + return nil, fmt.Errorf("didn't get response status 200/204 got %d %s", resp.StatusCode, string(body))
     103 + }
     104 + 
     105 + return body, nil
     106 +}
     107 + 
  • ■ ■ ■ ■ ■ ■
    api/config.go
     1 +package api
     2 + 
     3 +import (
     4 + "net/http"
     5 + "time"
     6 +)
     7 + 
     8 +var UploadClient = &http.Client{Timeout: 60 * time.Second}
     9 + 
     10 +type Endpoint struct {
     11 + HttpMethod string
     12 + Route string
     13 +}
     14 + 
     15 +type APIEndpoints struct {
     16 + RequestFileUpload Endpoint
     17 + ScanFinished Endpoint
     18 + Hello Endpoint
     19 +}
     20 + 
     21 +var Endpoints = APIEndpoints{
     22 + RequestFileUpload: Endpoint{
     23 + HttpMethod: "POST",
     24 + Route: "/cloud/file_uploads",
     25 + },
     26 + ScanFinished: Endpoint{
     27 + HttpMethod: "POST",
     28 + Route: "/cloud/scans",
     29 + },
     30 + Hello: Endpoint{
     31 + HttpMethod: "POST",
     32 + Route: "/cloud/hello",
     33 + },
     34 +}
     35 + 
  • ■ ■ ■ ■ ■ ■
    api/hello.go
     1 +package api
     2 + 
     3 +func (api *API) Hello() ([]byte, error) {
     4 + endpoint := Endpoints.Hello
     5 + response, err := api.makeRequest(endpoint.Route, endpoint.HttpMethod, nil)
     6 + 
     7 + return response, err
     8 +}
     9 + 
  • ■ ■ ■ ■ ■ ■
    api/request_file_upload.go
     1 +package api
     2 + 
     3 +import (
     4 + "encoding/json"
     5 +)
     6 + 
     7 +type RequestFileUpload struct {
     8 + Checksum string `json:"checksum"`
     9 + ByteSize int `json:"byte_size"`
     10 + UUID string `json:"uuid"`
     11 + Prefix string `json:"prefix"`
     12 + ContentType string `json:"content_type"`
     13 + ContentEncoding string `json:"content_encoding"`
     14 +}
     15 + 
     16 +type ActiveStorageDirectUpload struct {
     17 + URL string `json:"url"`
     18 + Headers map[string]string `json:"headers"`
     19 +}
     20 + 
     21 +type FileUploadOffer struct {
     22 + SignedID string `json:"signed_id"`
     23 + UUID string `json:"uuid"`
     24 + DirectUpload ActiveStorageDirectUpload `json:"direct_upload"`
     25 +}
     26 + 
     27 +func (api *API) RequestFileUpload(fileUpload RequestFileUpload, messageUuid MessageUuid) (*FileUploadOffer, error) {
     28 + endpoint := Endpoints.RequestFileUpload
     29 + bytes, err := api.makeRequest(endpoint.Route, endpoint.HttpMethod, fileUpload)
     30 + if err != nil {
     31 + return nil, err
     32 + }
     33 + 
     34 + var fileUploadOffer FileUploadOffer
     35 + 
     36 + err = json.Unmarshal(bytes, &fileUploadOffer)
     37 + if err != nil {
     38 + return nil, err
     39 + }
     40 + 
     41 + return &fileUploadOffer, nil
     42 +}
     43 + 
  • ■ ■ ■ ■ ■ ■
    api/s3/sign.go
     1 +package s3
     2 + 
     3 +import (
     4 + "crypto/md5"
     5 + "encoding/base64"
     6 + "fmt"
     7 + "io"
     8 + "os"
     9 + 
     10 + "github.com/bearer/bearer/api"
     11 + "github.com/google/uuid"
     12 +)
     13 + 
     14 +func SignForAPI(req *UploadRequestS3) (*api.RequestFileUpload, error) {
     15 + fileUuid := uuid.NewString()
     16 + 
     17 + reportFile, err := os.Open(req.FilePath)
     18 + if err != nil {
     19 + return nil, fmt.Errorf("failed to open file for upload %e", err)
     20 + }
     21 + defer reportFile.Close()
     22 + 
     23 + stats, err := reportFile.Stat()
     24 + if err != nil {
     25 + return nil, fmt.Errorf("failed to stat file %e", err)
     26 + }
     27 + 
     28 + hash := md5.New()
     29 + _, err = io.Copy(hash, reportFile)
     30 + if err != nil {
     31 + return nil, fmt.Errorf("failed copying file content to hash %e", err)
     32 + }
     33 + 
     34 + checksumMD5 := hash.Sum(nil)
     35 + 
     36 + return &api.RequestFileUpload{
     37 + Checksum: base64.StdEncoding.EncodeToString(checksumMD5[:]),
     38 + ByteSize: int(stats.Size()),
     39 + UUID: fileUuid,
     40 + Prefix: req.FilePrefix,
     41 + ContentType: req.ContentType,
     42 + ContentEncoding: req.ContentEncoding,
     43 + }, nil
     44 +}
     45 + 
  • ■ ■ ■ ■ ■ ■
    api/s3/upload.go
     1 +package s3
     2 + 
     3 +import (
     4 + "fmt"
     5 + "io"
     6 + "net/http"
     7 + "os"
     8 + 
     9 + "github.com/bearer/bearer/api"
     10 + "github.com/rs/zerolog/log"
     11 +)
     12 + 
     13 +type UploadRequest struct {
     14 + Client *http.Client
     15 + FilePath string
     16 + FileSize int64
     17 + URL string
     18 + Headers map[string]string
     19 +}
     20 + 
     21 +type UploadRequestS3 struct {
     22 + Api *api.API
     23 + FilePath string
     24 + FilePrefix string
     25 + FileType string
     26 + ContentType string
     27 + ContentEncoding string
     28 +}
     29 + 
     30 +func GetSignedURL(req UploadRequest) error {
     31 + reportFile, err := os.Open(req.FilePath)
     32 + if err != nil {
     33 + return fmt.Errorf("failed to open file for uploading: %s", err)
     34 + }
     35 + defer reportFile.Close()
     36 + 
     37 + request, err := http.NewRequest("PUT", req.URL, reportFile)
     38 + request.ContentLength = req.FileSize
     39 + if err != nil {
     40 + return fmt.Errorf("failed to create upload request: %s", err)
     41 + }
     42 + defer request.Body.Close()
     43 + 
     44 + for key, value := range req.Headers {
     45 + request.Header.Add(key, value)
     46 + }
     47 + 
     48 + response, err := req.Client.Do(request)
     49 + if err != nil {
     50 + return fmt.Errorf("failed to upload file: %s", err)
     51 + }
     52 + defer response.Body.Close()
     53 + 
     54 + if response.StatusCode < 200 || response.StatusCode >= 300 {
     55 + responseBody, _ := io.ReadAll(response.Body)
     56 + return fmt.Errorf("file upload returned error status: %d\n%s", response.StatusCode, string(responseBody))
     57 + }
     58 + 
     59 + return nil
     60 +}
     61 + 
     62 +func UploadS3(req *UploadRequestS3) (fileUploadOffer *api.FileUploadOffer, err error) {
     63 + requestFileUploadAction, err := SignForAPI(req)
     64 + if err != nil {
     65 + return nil, err
     66 + }
     67 + 
     68 + log.Debug().Msgf("Sending S3 upload request to Bearer API...")
     69 + fileUploadOffer, err = req.Api.RequestFileUpload(*requestFileUploadAction, "")
     70 + if err != nil {
     71 + return nil, err
     72 + }
     73 + 
     74 + log.Debug().Msgf("Uploading file to Bearer S3...")
     75 + err = GetSignedURL(UploadRequest{
     76 + Client: api.UploadClient,
     77 + FilePath: req.FilePath,
     78 + FileSize: int64(requestFileUploadAction.ByteSize),
     79 + URL: fileUploadOffer.DirectUpload.URL,
     80 + Headers: fileUploadOffer.DirectUpload.Headers,
     81 + })
     82 + 
     83 + if err != nil {
     84 + return nil, err
     85 + }
     86 + 
     87 + return fileUploadOffer, nil
     88 +}
     89 + 
  • ■ ■ ■ ■ ■ ■
    api/scan_finished.go
     1 +package api
     2 + 
     3 +type ScanResult struct {
     4 + SignedID string `json:"signed_id"`
     5 +}
     6 + 
     7 +func (api *API) ScanFinished(meta interface{}) error {
     8 + endpoint := Endpoints.ScanFinished
     9 + _, err := api.makeRequest(
     10 + endpoint.Route,
     11 + endpoint.HttpMethod,
     12 + Message{
     13 + Type: MessageTypeSuccess,
     14 + Data: meta,
     15 + })
     16 + 
     17 + return err
     18 +}
     19 + 
  • ■ ■ ■ ■ ■ ■
    api/types/types.go
     1 +package types
     2 + 
  • ■ ■ ■ ■ ■ ■
    api/types.go
     1 +package api
     2 + 
     3 +type MessageUuid string
     4 + 
  • ■ ■ ■ ■ ■
    e2e/rules/.snapshots/TestAuxilary-testdata-data-auxilary
    skipped 10 lines
    11 11   - PII
    12 12   parent_line_number: 11
    13 13   snippet: client.event("user", "logged_in", {}, user)
     14 + fingerprint: 4d54a4b735da21fbdcb2d2662977b033_0
    14 15   
    15 16   
    16 17  --
    skipped 2 lines
  • ■ ■ ■ ■ ■
    e2e/rules/.snapshots/TestRubyRailsDefaultEncryptionSchema-testdata-data-ruby_rails_default_encryption_schema_rb
    skipped 17 lines
    18 18   t.datetime "created_at", null: false
    19 19   t.datetime "updated_at", null: false
    20 20   end
     21 + fingerprint: 4b6d6e98ae7d9908efdf9a7984c7db05_0
    21 22   
    22 23   
    23 24  --
    skipped 2 lines
  • ■ ■ ■ ■ ■
    e2e/rules/.snapshots/TestRubyRailsDefaultEncryptionStructure-testdata-data-ruby_rails_default_encryption_structure_sql
    skipped 18 lines
    19 19   updated_at timestamp(6) without time zone NOT NULL,
    20 20   email character varying DEFAULT ''::character varying NOT NULL
    21 21   )
     22 + fingerprint: 86b02d158d5ef7e6b68f6979f4f789aa_0
    22 23   
    23 24   
    24 25  --
    skipped 2 lines
  • ■ ■ ■ ■ ■
    e2e/rules/.snapshots/TestSimpleRuby-testdata-data-simple_ruby
    skipped 10 lines
    11 11   - PII
    12 12   parent_line_number: 7
    13 13   snippet: config.force_ssl = false
     14 + fingerprint: 28ca51516a8b388cb7065c1f0df8b093_0
    14 15   
    15 16   
    16 17  --
    skipped 2 lines
  • ■ ■ ■ ■ ■
    go.mod
    skipped 76 lines
    77 77   github.com/cloudflare/circl v1.3.2 // indirect
    78 78   github.com/emirpasic/gods v1.18.1 // indirect
    79 79   github.com/fsnotify/fsnotify v1.6.0 // indirect
     80 + github.com/gitsight/go-vcsurl v1.0.1 // indirect
    80 81   github.com/go-git/gcfg v1.5.0 // indirect
    81 82   github.com/imdario/mergo v0.3.13 // indirect
    82 83   github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
    skipped 42 lines
  • ■ ■ ■ ■ ■ ■
    go.sum
    skipped 122 lines
    123 123  github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
    124 124  github.com/gitleaks/go-gitdiff v0.8.0 h1:7aExTZm+K/M/EQKOyYcub8rIAdWK6ONxPGuRzxmWW+0=
    125 125  github.com/gitleaks/go-gitdiff v0.8.0/go.mod h1:pKz0X4YzCKZs30BL+weqBIG7mx0jl4tF1uXV9ZyNvrA=
     126 +github.com/gitsight/go-vcsurl v1.0.1 h1:wkijKsbVg9R2IBP97U7wOANeIW9WJJKkBwS9XqllzWo=
     127 +github.com/gitsight/go-vcsurl v1.0.1/go.mod h1:qRFdKDa/0Lh9MT0xE+qQBYZ/01+mY1H40rZUHR24X9U=
    126 128  github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY=
    127 129  github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4=
    128 130  github.com/go-enry/go-enry/v2 v2.8.0/go.mod h1:GVzIiAytiS5uT/QiuakK7TF1u4xDab87Y8V5EJRpsIQ=
    skipped 687 lines
  • ■ ■ ■ ■ ■
    integration/rules/helper_test.go
    skipped 119 lines
    120 120   },
    121 121   runner.config,
    122 122   )
    123  - 
    124  - report, _ := reportoutput.ReportYAML(
    125  - detections,
    126  - runner.config,
    127  - )
     123 + report, _ := reportoutput.ReportYAML(detections)
    128 124   
    129 125   cupaloyCopy := cupaloy.NewDefaultConfig().WithOptions(cupaloy.SnapshotSubdirectory(snapshotsPath))
    130 126   cupaloyCopy.SnapshotT(t, *report)
    skipped 2 lines
  • ■ ■ ■ ■ ■ ■
    pkg/commands/artifact/run.go
    skipped 335 lines
    336 336   switch config.Report.Format {
    337 337   case flag.FormatEmpty, flag.FormatJSON:
    338 338   // default report format for is JSON
    339  - content, err := reportoutput.ReportJSON(detections, config)
     339 + content, err := reportoutput.ReportJSON(detections)
    340 340   if err != nil {
    341 341   return false, fmt.Errorf("error generating report %s", err)
    342 342   }
    343 343   
    344 344   logger.Msg(*content)
    345 345   case flag.FormatYAML:
    346  - content, err := reportoutput.ReportYAML(detections, config)
     346 + content, err := reportoutput.ReportYAML(detections)
    347 347   if err != nil {
    348 348   return false, fmt.Errorf("error generating report %s", err)
    349 349   }
    skipped 56 lines
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/aws_lambda/code_injection/.snapshots/TestJavascriptAwsLambdaCodeInjection--code_injection.yml
    skipped 9 lines
    10 10   filename: code_injection.js
    11 11   parent_line_number: 5
    12 12   snippet: vm.createContext(context)
     13 + fingerprint: b9e20a46d6fa9de4d6d74ee7f5dd33a3_0
    13 14   - rule:
    14 15   cwe_ids:
    15 16   - "94"
    skipped 5 lines
    21 22   filename: code_injection.js
    22 23   parent_line_number: 7
    23 24   snippet: new vm.Script(event["query"])
     25 + fingerprint: b9e20a46d6fa9de4d6d74ee7f5dd33a3_1
    24 26   
    25 27   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/aws_lambda/os_command_injection/.snapshots/TestJavascriptAwsLambdaOsCommandInjection--os_command_injection.yml
    skipped 11 lines
    12 12   exec("ls "+event["user_dir"]+"| wc -l", (err, stdout, stderr) => {
    13 13   // do something
    14 14   })
     15 + fingerprint: fdf91dd06466b2382d6174c5874a101b_0
    15 16   - rule:
    16 17   cwe_ids:
    17 18   - "78"
    skipped 7 lines
    25 26   execSync("ls "+event["user"]+"| wc -l", (err, stdout, stderr) => {
    26 27   // do something
    27 28   })
     29 + fingerprint: fdf91dd06466b2382d6174c5874a101b_1
    28 30   - rule:
    29 31   cwe_ids:
    30 32   - "78"
    skipped 4 lines
    35 37   filename: os_command_injection.js
    36 38   parent_line_number: 12
    37 39   snippet: spawn(event["query"])
     40 + fingerprint: fdf91dd06466b2382d6174c5874a101b_2
    38 41   - rule:
    39 42   cwe_ids:
    40 43   - "78"
    skipped 4 lines
    45 48   filename: os_command_injection.js
    46 49   parent_line_number: 14
    47 50   snippet: spawnSync("grep " + event["tmp"])
     51 + fingerprint: fdf91dd06466b2382d6174c5874a101b_3
    48 52   
    49 53   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/aws_lambda/query_injection/.snapshots/TestJavascriptAwsLambdaQueryInjection--dynamodb_query_injection.yml
    skipped 8 lines
    9 9   filename: dynamodb_query_injection.js
    10 10   parent_line_number: 10
    11 11   snippet: new QueryCommand(params)
     12 + fingerprint: 66820ec309f9420978198526e6038a5f_0
    12 13   - rule:
    13 14   cwe_ids:
    14 15   - "89"
    skipped 4 lines
    19 20   filename: dynamodb_query_injection.js
    20 21   parent_line_number: 18
    21 22   snippet: docClient.query(event["query"]["params"], function(err, data) {})
     23 + fingerprint: 66820ec309f9420978198526e6038a5f_1
    22 24   - rule:
    23 25   cwe_ids:
    24 26   - "89"
    skipped 4 lines
    29 31   filename: dynamodb_query_injection.js
    30 32   parent_line_number: 32
    31 33   snippet: new QueryCommand(params)
     34 + fingerprint: 66820ec309f9420978198526e6038a5f_2
    32 35   
    33 36   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/aws_lambda/sql_injection/.snapshots/TestJavascriptAwsLambdaSqlInjection--knex_sql_injection.yml
    skipped 11 lines
    12 12   knex.select('user.cart_details')
    13 13   .from('users')
    14 14   .whereRaw('name = '+ event.user.name)
     15 + fingerprint: a6be1e7b4f812b3709823c952fd60b64_0
    15 16   
    16 17   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/aws_lambda/sql_injection/.snapshots/TestJavascriptAwsLambdaSqlInjection--mysql2_sql_injection.yml
    skipped 10 lines
    11 11   - PII
    12 12   parent_line_number: 5
    13 13   snippet: connection.query("SELECT * FROM `user` WHERE name = " + event.customer.name)
     14 + fingerprint: 9f7eccaaec01b46a27078996b374cf28_0
    14 15   - rule:
    15 16   cwe_ids:
    16 17   - "89"
    skipped 6 lines
    23 24   - PII
    24 25   parent_line_number: 7
    25 26   snippet: asyncConn.execute("SELECT * FROM `admin_users` WHERE ID = " + event.admin.id)
     27 + fingerprint: 9f7eccaaec01b46a27078996b374cf28_1
    26 28   - rule:
    27 29   cwe_ids:
    28 30   - "89"
    skipped 9 lines
    38 40   pool.query("SELECT * FROM users WHERE name = " + event.user_name, function() {
    39 41   // do something
    40 42   })
     43 + fingerprint: 9f7eccaaec01b46a27078996b374cf28_2
    41 44   - rule:
    42 45   cwe_ids:
    43 46   - "89"
    skipped 9 lines
    53 56   conn.query("SELECT * FROM users WHERE name = " + event.user_name, function() {
    54 57   // do something
    55 58   })
     59 + fingerprint: 9f7eccaaec01b46a27078996b374cf28_3
    56 60   
    57 61   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/aws_lambda/sql_injection/.snapshots/TestJavascriptAwsLambdaSqlInjection--pg_sql_injection.yml
    skipped 8 lines
    9 9   filename: pg_sql_injection.js
    10 10   parent_line_number: 8
    11 11   snippet: client.query('SELECT * FROM users WHERE user.name = ' + event.user.name)
     12 + fingerprint: 1dc8804ee672f7b9a89fb07cd25ca6cf_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/aws_lambda/sql_injection/.snapshots/TestJavascriptAwsLambdaSqlInjection--sequelize_sql_injection.yml
    skipped 8 lines
    9 9   filename: sequelize_sql_injection.js
    10 10   parent_line_number: 6
    11 11   snippet: sqlite.query(customerQuery)
     12 + fingerprint: 75c54fdb8ef95220030c12d02f1f3220_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/cross_site_scripting/.snapshots/TestJavascriptExpressCrossSiteScripting--res_send_xss.yml
    skipped 8 lines
    9 9   filename: res_send_xss.js
    10 10   parent_line_number: 9
    11 11   snippet: res.send("<p>" + req.body.customer.name + "</p>")
     12 + fingerprint: 3eb1f59479c43941dd36d28f3c33335b_0
    12 13   - rule:
    13 14   cwe_ids:
    14 15   - "79"
    skipped 4 lines
    19 20   filename: res_send_xss.js
    20 21   parent_line_number: 13
    21 22   snippet: res.send("<p>" + req.body["user_id"] + "</p>")
     23 + fingerprint: 3eb1f59479c43941dd36d28f3c33335b_1
    22 24   
    23 25   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/cross_site_scripting/.snapshots/TestJavascriptExpressCrossSiteScripting--res_write_xss.yml
    skipped 8 lines
    9 9   filename: res_write_xss.js
    10 10   parent_line_number: 10
    11 11   snippet: res.write("<h3> Greetings " + customerName + "</h3>")
     12 + fingerprint: 2493e1cfdee1e9a4cdbb36280df10d25_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/default_session_config/.snapshots/TestJavascriptExpressDefaultSessionConfig--default_session_config.yml
    skipped 9 lines
    10 10   filename: default_session_config.js
    11 11   parent_line_number: 9
    12 12   snippet: '{}'
     13 + fingerprint: 6e2d08aeb03d99a4665c6b2cd7f7531d_0
    13 14   
    14 15   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/eval_user_input/.snapshots/TestJavascriptExpressEvalUserInput--eval.yml
    skipped 9 lines
    10 10   filename: eval.js
    11 11   parent_line_number: 11
    12 12   snippet: eval(command)
     13 + fingerprint: 4356bf19d1f018abcf6dc272a98faf3f_0
    13 14   
    14 15   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/eval_user_input/.snapshots/TestJavascriptExpressEvalUserInput--new_function.yml
    skipped 9 lines
    10 10   filename: new_function.js
    11 11   parent_line_number: 11
    12 12   snippet: new Function(command)
     13 + fingerprint: 1a3f60304bf0a691116875d6c12a647a_0
    13 14   
    14 15   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/eval_user_input/.snapshots/TestJavascriptExpressEvalUserInput--set_interval.yml
    skipped 9 lines
    10 10   filename: set_interval.js
    11 11   parent_line_number: 11
    12 12   snippet: setInterval(command)
     13 + fingerprint: f21a44907bbf50441cfa9ee0cf591d8d_0
    13 14   
    14 15   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/eval_user_input/.snapshots/TestJavascriptExpressEvalUserInput--set_timeout.yml
    skipped 9 lines
    10 10   filename: set_timeout.js
    11 11   parent_line_number: 11
    12 12   snippet: setTimeout(command)
     13 + fingerprint: 5eef89bf95395a7573b889545a2c7f8e_0
    13 14   
    14 15   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/exposed_dir_listing/.snapshots/TestJavascriptExpressExposedDirListing--serve_index_in_app_use.yml
    skipped 8 lines
    9 9   filename: serve_index_in_app_use.js
    10 10   parent_line_number: 9
    11 11   snippet: app.use("/public", serveIndex(__dirname + "files"))
     12 + fingerprint: efd43e5683e7db7fda30a3a810ebcabb_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/external_file_upload/.snapshots/TestJavascriptExpressExternalFileUpload--send_file_with_external_input.yml
    skipped 8 lines
    9 9   filename: send_file_with_external_input.js
    10 10   parent_line_number: 13
    11 11   snippet: path.resolve(file)
     12 + fingerprint: 0f96ceab826cffb4000a8469699f0a26_0
    12 13   - rule:
    13 14   cwe_ids:
    14 15   - "22"
    skipped 4 lines
    19 20   filename: send_file_with_external_input.js
    20 21   parent_line_number: 15
    21 22   snippet: path.join(__dirname, req.params.root)
     23 + fingerprint: 0f96ceab826cffb4000a8469699f0a26_1
    22 24  low:
    23 25   - rule:
    24 26   cwe_ids:
    skipped 5 lines
    30 32   filename: send_file_with_external_input.js
    31 33   parent_line_number: 12
    32 34   snippet: res.sendFile(file)
     35 + fingerprint: 594fb35e8692ca06ee83e8313e32ec58_0
    33 36   - rule:
    34 37   cwe_ids:
    35 38   - "73"
    skipped 4 lines
    40 43   filename: send_file_with_external_input.js
    41 44   parent_line_number: 13
    42 45   snippet: res.sendFile(path.resolve(file))
     46 + fingerprint: 594fb35e8692ca06ee83e8313e32ec58_1
    43 47   - rule:
    44 48   cwe_ids:
    45 49   - "73"
    skipped 4 lines
    50 54   filename: send_file_with_external_input.js
    51 55   parent_line_number: 14
    52 56   snippet: res.sendFile(req.params.file, {}, () => {})
     57 + fingerprint: 594fb35e8692ca06ee83e8313e32ec58_2
    53 58   - rule:
    54 59   cwe_ids:
    55 60   - "73"
    skipped 4 lines
    60 65   filename: send_file_with_external_input.js
    61 66   parent_line_number: 15
    62 67   snippet: 'res.sendFile("file.txt", { root: path.join(__dirname, req.params.root) })'
     68 + fingerprint: 594fb35e8692ca06ee83e8313e32ec58_3
    63 69   
    64 70   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/external_resource/.snapshots/TestJavascriptExpressExternalResource--render_external_resource.yml
    skipped 8 lines
    9 9   filename: render_external_resource.js
    10 10   parent_line_number: 9
    11 11   snippet: 'res.render(req.query.path + "/results", { page: 1 })'
     12 + fingerprint: 2f7ac51ec38f8eabaefac03b062ee2a5_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/external_resource/.snapshots/TestJavascriptExpressExternalResource--require_destructured_resource.yml
    skipped 8 lines
    9 9   filename: require_destructured_resource.js
    10 10   parent_line_number: 7
    11 11   snippet: require(path)
     12 + fingerprint: 51966377a661b135eca899b43ac2c343_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/external_resource/.snapshots/TestJavascriptExpressExternalResource--require_external_resource.yml
    skipped 8 lines
    9 9   filename: require_external_resource.js
    10 10   parent_line_number: 10
    11 11   snippet: require(req.query.user.path)
     12 + fingerprint: 243b0f1b2464343e18b09e3adb02d4fa_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/hardcoded_secret/.snapshots/TestJavascriptExpressHardCodedSecret--hardcoded_secret_in_jwt.yml
    skipped 8 lines
    9 9   filename: hardcoded_secret_in_jwt.js
    10 10   parent_line_number: 13
    11 11   snippet: 'expressjwt({ secret: "my-hardcoded-secret" })'
     12 + fingerprint: 2cc672715c780e2810ceae27cfb8da28_0
    12 13   - rule:
    13 14   cwe_ids:
    14 15   - "798"
    skipped 4 lines
    19 20   filename: hardcoded_secret_in_jwt.js
    20 21   parent_line_number: 21
    21 22   snippet: 'jwt({ secret: secret })'
     23 + fingerprint: 2cc672715c780e2810ceae27cfb8da28_1
    22 24   
    23 25   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/hardcoded_secret/.snapshots/TestJavascriptExpressHardCodedSecret--hardcoded_secret_in_session.yml
    skipped 12 lines
    13 13   name: "my-custom-session-name",
    14 14   secret: "my-hardcoded-secret",
    15 15   })
     16 + fingerprint: c6a20f6353ebb42121ee05d097e00c27_0
    16 17   - rule:
    17 18   cwe_ids:
    18 19   - "798"
    skipped 4 lines
    23 24   filename: hardcoded_secret_in_session.js
    24 25   parent_line_number: 23
    25 26   snippet: session(sessionConfig)
     27 + fingerprint: c6a20f6353ebb42121ee05d097e00c27_1
    26 28   
    27 29   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/helmet_missing/.snapshots/TestJavascriptHelmetMissing--unsecure.yml
    skipped 8 lines
    9 9   filename: unsecure.js
    10 10   parent_line_number: 4
    11 11   snippet: express()
     12 + fingerprint: 11025b35d18975e9334681b65859fe26_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/https_protocol_missing/.snapshots/TestJavascriptExpressHttpsProtocolMissing--unsecure.yml
    skipped 8 lines
    9 9   filename: unsecure.js
    10 10   parent_line_number: 1
    11 11   snippet: http.createServer(app)
     12 + fingerprint: 9dbac220e51ce9ebb2d92d094a8767b0_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/insecure_allow_origin/.snapshots/TestJavascriptExpressInsecureAllowOrigin--insecure_allow_origin.yml
    skipped 8 lines
    9 9   filename: insecure_allow_origin.js
    10 10   parent_line_number: 10
    11 11   snippet: 'res.writeHead(200, { "Access-Control-Allow-Origin": req.params.origin })'
     12 + fingerprint: 19c05a0d479a5540caf71df5e2429b58_0
    12 13   - rule:
    13 14   cwe_ids:
    14 15   - "346"
    skipped 4 lines
    19 20   filename: insecure_allow_origin.js
    20 21   parent_line_number: 11
    21 22   snippet: res.set("access-control-allow-origin", origin)
     23 + fingerprint: 19c05a0d479a5540caf71df5e2429b58_1
    22 24   
    23 25   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/insecure_template_rendering/.snapshots/TestJavascriptExpressInsecureTemplateRendering--insecure_dot_template.yml
    skipped 8 lines
    9 9   filename: insecure_dot_template.js
    10 10   parent_line_number: 11
    11 11   snippet: doT.template(req.params.template)
     12 + fingerprint: 0f8f283606c409ca80b84f947751fc31_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/insecure_template_rendering/.snapshots/TestJavascriptExpressInsecureTemplateRendering--insecure_ejs_template.yml
    skipped 8 lines
    9 9   filename: insecure_ejs_template.js
    10 10   parent_line_number: 11
    11 11   snippet: ejs.compile(req.body.user, options)
     12 + fingerprint: e77e3991805c5dddd3dbadf5173a120a_0
    12 13   - rule:
    13 14   cwe_ids:
    14 15   - "1336"
    skipped 4 lines
    19 20   filename: insecure_ejs_template.js
    20 21   parent_line_number: 16
    21 22   snippet: ejs.render(req.params.name, data, options)
     23 + fingerprint: e77e3991805c5dddd3dbadf5173a120a_1
    22 24   
    23 25   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/insecure_template_rendering/.snapshots/TestJavascriptExpressInsecureTemplateRendering--insecure_eta_template.yml
    skipped 8 lines
    9 9   filename: insecure_eta_template.js
    10 10   parent_line_number: 12
    11 11   snippet: 'Eta.render(req.params, { name: "insecure" })'
     12 + fingerprint: c480cdfce4e8383eacfbe5e53bb95e0d_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/insecure_template_rendering/.snapshots/TestJavascriptExpressInsecureTemplateRendering--insecure_express_hbs_template.yml
    skipped 8 lines
    9 9   filename: insecure_express_hbs_template.js
    10 10   parent_line_number: 13
    11 11   snippet: hbs.renderView(req.params.viewPath, options, (err) => {})
     12 + fingerprint: b81dcff685fe53ed72ee08efc5b4e328_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/insecure_template_rendering/.snapshots/TestJavascriptExpressInsecureTemplateRendering--insecure_handlebars_template.yml
    skipped 8 lines
    9 9   filename: insecure_handlebars_template.js
    10 10   parent_line_number: 12
    11 11   snippet: Handlebars.precompile(req.body.user, options)
     12 + fingerprint: 4dfd8eaea7a8c770cafac211038919a1_0
    12 13   - rule:
    13 14   cwe_ids:
    14 15   - "1336"
    skipped 4 lines
    19 20   filename: insecure_handlebars_template.js
    20 21   parent_line_number: 13
    21 22   snippet: Handlebars.compile(req.body.user, options)
     23 + fingerprint: 4dfd8eaea7a8c770cafac211038919a1_1
    22 24   
    23 25   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/insecure_template_rendering/.snapshots/TestJavascriptExpressInsecureTemplateRendering--insecure_hoganjs_template.yml
    skipped 8 lines
    9 9   filename: insecure_hoganjs_template.js
    10 10   parent_line_number: 13
    11 11   snippet: 'Hogan.compile(template, { name: "insecure" })'
     12 + fingerprint: cfa6f91ee78560eda9ce58135d63419d_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/insecure_template_rendering/.snapshots/TestJavascriptExpressInsecureTemplateRendering--insecure_liquid_template.yml
    skipped 8 lines
    9 9   filename: insecure_liquid_template.js
    10 10   parent_line_number: 13
    11 11   snippet: 'engine.render(req.params.text, { hello: "world" })'
     12 + fingerprint: 7264f489a10dbe0c262bab1338d087a1_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/insecure_template_rendering/.snapshots/TestJavascriptExpressInsecureTemplateRendering--insecure_lodash_template.yml
    skipped 8 lines
    9 9   filename: insecure_lodash_template.js
    10 10   parent_line_number: 11
    11 11   snippet: _.template(req.params.body)
     12 + fingerprint: dade516e6cf2d55d71e1f9510e39fc65_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/insecure_template_rendering/.snapshots/TestJavascriptExpressInsecureTemplateRendering--insecure_mustache_template.yml
    skipped 8 lines
    9 9   filename: insecure_mustache_template.js
    10 10   parent_line_number: 12
    11 11   snippet: 'Mustache.render(req.params, { name: "insecure" })'
     12 + fingerprint: 75b3fbdac13e6131ab5e8bae47184caa_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/insecure_template_rendering/.snapshots/TestJavascriptExpressInsecureTemplateRendering--insecure_nunjucks_template.yml
    skipped 8 lines
    9 9   filename: insecure_nunjucks_template.js
    10 10   parent_line_number: 11
    11 11   snippet: nunjucks.render(req.params.body)
     12 + fingerprint: ee737993ece149bb0dea94ff3b80bb5e_0
    12 13   - rule:
    13 14   cwe_ids:
    14 15   - "1336"
    skipped 4 lines
    19 20   filename: insecure_nunjucks_template.js
    20 21   parent_line_number: 12
    21 22   snippet: nunjucks.renderString(req.params.body)
     23 + fingerprint: ee737993ece149bb0dea94ff3b80bb5e_1
    22 24   
    23 25   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/insecure_template_rendering/.snapshots/TestJavascriptExpressInsecureTemplateRendering--insecure_pug_template.yml
    skipped 8 lines
    9 9   filename: insecure_pug_template.js
    10 10   parent_line_number: 12
    11 11   snippet: pug.render(req.params.name, merge(options, locals))
     12 + fingerprint: 87443edd915dd8aa74d4cbefbd1706e2_0
    12 13   - rule:
    13 14   cwe_ids:
    14 15   - "1336"
    skipped 4 lines
    19 20   filename: insecure_pug_template.js
    20 21   parent_line_number: 16
    21 22   snippet: pug.compile(req.params.name)
     23 + fingerprint: 87443edd915dd8aa74d4cbefbd1706e2_1
    22 24   
    23 25   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/insecure_template_rendering/.snapshots/TestJavascriptExpressInsecureTemplateRendering--insecure_squirrelly_template.yml
    skipped 8 lines
    9 9   filename: insecure_squirrelly_template.js
    10 10   parent_line_number: 12
    11 11   snippet: 'Sqrl.render(req.params.text, { name: "alvin" })'
     12 + fingerprint: f631e641891b1191cfe28d07d6302b1a_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/insecure_template_rendering/.snapshots/TestJavascriptExpressInsecureTemplateRendering--insecure_whiskers_template.yml
    skipped 8 lines
    9 9   filename: insecure_whiskers_template.js
    10 10   parent_line_number: 13
    11 11   snippet: whiskers.render(req.params.text, context)
     12 + fingerprint: de0693f04775ac94a3204bec8ceb6b99_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/jwt_not_revoked/.snapshots/TestJavascriptExpressJwtNotRevoked--express_jwt_not_revoked.yml
    skipped 8 lines
    9 9   filename: express_jwt_not_revoked.js
    10 10   parent_line_number: 11
    11 11   snippet: 'expressjwt({ secret: config.secret, algorithms: ["HS256"] })'
     12 + fingerprint: cb3095d58d2370a77337a035ba6f7493_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/open_redirect/.snapshots/TestJavascriptExpressOpenRedirect--open_redirect.yml
    skipped 8 lines
    9 9   filename: open_redirect.js
    10 10   parent_line_number: 2
    11 11   snippet: res.redirect(req.params.url)
     12 + fingerprint: 4e437d5d0ff71e600352157c6a240eb5_0
    12 13   - rule:
    13 14   cwe_ids:
    14 15   - "601"
    skipped 4 lines
    19 20   filename: open_redirect.js
    20 21   parent_line_number: 3
    21 22   snippet: res.redirect(req.query.url + "/bar")
     23 + fingerprint: 4e437d5d0ff71e600352157c6a240eb5_1
    22 24   - rule:
    23 25   cwe_ids:
    24 26   - "601"
    skipped 4 lines
    29 31   filename: open_redirect.js
    30 32   parent_line_number: 4
    31 33   snippet: res.redirect("https://" + req.params.url + "/bar")
     34 + fingerprint: 4e437d5d0ff71e600352157c6a240eb5_2
    32 35   - rule:
    33 36   cwe_ids:
    34 37   - "601"
    skipped 4 lines
    39 42   filename: open_redirect.js
    40 43   parent_line_number: 5
    41 44   snippet: res.redirect("http://" + req.params.path + "/bar")
     45 + fingerprint: 4e437d5d0ff71e600352157c6a240eb5_3
    42 46   
    43 47   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/path_traversal/.snapshots/TestJavascriptExpressPathTraversal--path_traversal_vulnerability.yml
    skipped 8 lines
    9 9   filename: path_traversal_vulnerability.js
    10 10   parent_line_number: 9
    11 11   snippet: path.join("/public/", req.query.path)
     12 + fingerprint: 84e934af8c2135f6ce968eda8b515dbd_0
    12 13   - rule:
    13 14   cwe_ids:
    14 15   - "22"
    skipped 4 lines
    19 20   filename: path_traversal_vulnerability.js
    20 21   parent_line_number: 10
    21 22   snippet: path.resolve(req.query.path)
     23 + fingerprint: 84e934af8c2135f6ce968eda8b515dbd_1
    22 24   
    23 25   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/reduce_fingerprint/.snapshots/TestJavascriptReduceFingerprint--secure_app_disable.yml
    skipped 8 lines
    9 9   filename: secure_app_disable.js
    10 10   parent_line_number: 3
    11 11   snippet: express()
     12 + fingerprint: ed6ed8b54708fe870dd883878474bc75_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/reduce_fingerprint/.snapshots/TestJavascriptReduceFingerprint--unsecure.yml
    skipped 8 lines
    9 9   filename: unsecure.js
    10 10   parent_line_number: 4
    11 11   snippet: express()
     12 + fingerprint: 11025b35d18975e9334681b65859fe26_0
    12 13   - rule:
    13 14   cwe_ids:
    14 15   - "693"
    skipped 4 lines
    19 20   filename: unsecure.js
    20 21   parent_line_number: 4
    21 22   snippet: express()
     23 + fingerprint: 2b159b374c0927680a0bff40b713473f_0
    22 24   
    23 25   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/server_side_request_forgery/.snapshots/TestJavascriptExpressServerSideRequestForgery--axios_ssrf_injection.yml
    skipped 8 lines
    9 9   filename: axios_ssrf_injection.js
    10 10   parent_line_number: 10
    11 11   snippet: axios.get(req.query.path)
     12 + fingerprint: 662372a5481e8accee0a46239d4590e8_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/server_side_request_forgery/.snapshots/TestJavascriptExpressServerSideRequestForgery--node_fetch_ssrf_injection.yml
    skipped 8 lines
    9 9   filename: node_fetch_ssrf_injection.js
    10 10   parent_line_number: 12
    11 11   snippet: fetch("https://" + req.query.path)
     12 + fingerprint: 26b9f4665fdfcaba8db99af878e8b501_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/server_side_request_forgery/.snapshots/TestJavascriptExpressServerSideRequestForgery--puppeteer_ssrf_injection.yml
    skipped 8 lines
    9 9   filename: puppeteer_ssrf_injection.js
    10 10   parent_line_number: 15
    11 11   snippet: page.setContent(content)
     12 + fingerprint: 318f87254f8f0e44e6139b5ef12abc3f_0
    12 13   - rule:
    13 14   cwe_ids:
    14 15   - "918"
    skipped 4 lines
    19 20   filename: puppeteer_ssrf_injection.js
    20 21   parent_line_number: 16
    21 22   snippet: page.goto("https://" + req.query.path)
     23 + fingerprint: 318f87254f8f0e44e6139b5ef12abc3f_1
    22 24   
    23 25   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/sql_injection/.snapshots/TestJavascriptExpressSqlInjection--knex_sql_injection.yml
    skipped 8 lines
    9 9   filename: knex_sql_injection.js
    10 10   parent_line_number: 11
    11 11   snippet: res.send(prepareJson(cartDetails))
     12 + fingerprint: 4facc1afc53beec979a800a78f0096d6_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/sql_injection/.snapshots/TestJavascriptExpressSqlInjection--mysql2_sql_injection.yml
    skipped 11 lines
    12 12   connection.query(
    13 13   "SELECT * FROM `user` WHERE name = " + req.params.customer.name
    14 14   )
     15 + fingerprint: 6ab447a0217cef645dfc88f86abb0c3a_0
    15 16   - rule:
    16 17   cwe_ids:
    17 18   - "89"
    skipped 8 lines
    26 27   "SELECT * FROM users WHERE name = " + req.params.user_name,
    27 28   function () {}
    28 29   )
     30 + fingerprint: 6ab447a0217cef645dfc88f86abb0c3a_1
    29 31   - rule:
    30 32   cwe_ids:
    31 33   - "89"
    skipped 4 lines
    36 38   filename: mysql2_sql_injection.js
    37 39   parent_line_number: 23
    38 40   snippet: conn.query("SELECT * FROM users WHERE name = " + req.params.user_name, function () {})
     41 + fingerprint: 6ab447a0217cef645dfc88f86abb0c3a_2
    39 42   
    40 43   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/sql_injection/.snapshots/TestJavascriptExpressSqlInjection--pg_sql_injection.yml
    skipped 11 lines
    12 12   client.query(
    13 13   "SELECT * FROM users WHERE user.name = " + req.params.user.name
    14 14   )
     15 + fingerprint: c586d90217bd23f25dd04b101a799cbd_0
    15 16   
    16 17   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/sql_injection/.snapshots/TestJavascriptExpressSqlInjection--sequelize_sql_injection.yml
    skipped 8 lines
    9 9   filename: sequelize_sql_injection.js
    10 10   parent_line_number: 7
    11 11   snippet: sqlite.query(customerQuery)
     12 + fingerprint: 517438dfc8bb854de841ed83af94969d_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/static_asset_with_session/.snapshots/TestJavascriptExpressStaticAssetWithSession--ok.yml
    skipped 9 lines
    10 10   filename: ok.js
    11 11   parent_line_number: 2
    12 12   snippet: '{}'
     13 + fingerprint: 86893356122363645f8f0d0427a9704b_0
    13 14   
    14 15   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/static_asset_with_session/.snapshots/TestJavascriptExpressStaticAssetWithSession--unsafe.yml
    skipped 9 lines
    10 10   filename: unsafe.js
    11 11   parent_line_number: 3
    12 12   snippet: app.use(express.static(__dirname + "/public"))
     13 + fingerprint: 28d21916f3114061f8bd21bed81e2429_0
    13 14  medium:
    14 15   - rule:
    15 16   cwe_ids:
    skipped 6 lines
    22 23   filename: unsafe.js
    23 24   parent_line_number: 1
    24 25   snippet: '{}'
     26 + fingerprint: 4ddd326ab62f572775eb70f4bae2ef96_0
    25 27   
    26 28   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/ui_redress/.snapshots/TestJavascriptExpressUiRedress--ui_redress_vulnerability.yml
    skipped 8 lines
    9 9   filename: ui_redress_vulnerability.js
    10 10   parent_line_number: 9
    11 11   snippet: res.set("X-Frame-Options", req.query.options)
     12 + fingerprint: dc8d27767d942ab052ecc13a85754186_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/unsafe_deserialization/.snapshots/TestJavascriptExpressUnsafeDeserialization--node_serialize.yml
    skipped 8 lines
    9 9   filename: node_serialize.js
    10 10   parent_line_number: 5
    11 11   snippet: nodeSerialize.unserialize(userStr)
     12 + fingerprint: d3679cd2207e725d42e98cd097bd1ccb_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/unsafe_deserialization/.snapshots/TestJavascriptExpressUnsafeDeserialization--serialize_error.yml
    skipped 12 lines
    13 13   name: "MyCustomError",
    14 14   message: req.params.error
    15 15   })
     16 + fingerprint: 6a5dfee75fcbe696dcfb98d2c9f41309_0
    16 17   
    17 18   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/xml_external_entity_vulnerability/.snapshots/TestJavascriptExpressXXEVulnerability--lib_xml_with_noent_true.yml
    skipped 8 lines
    9 9   filename: lib_xml_with_noent_true.js
    10 10   parent_line_number: 4
    11 11   snippet: 'noent: true'
     12 + fingerprint: 8d0aa7266ebfd9ebc5d6eb6c53815a59_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/xml_external_entity_vulnerability/.snapshots/TestJavascriptExpressXXEVulnerability--xxe_vuln_with_node_expat.yml
    skipped 8 lines
    9 9   filename: xxe_vuln_with_node_expat.js
    10 10   parent_line_number: 6
    11 11   snippet: parser.parse(req.body.user, false)
     12 + fingerprint: 13432eadcabdd8e7dd0a215e21087ad3_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/xml_external_entity_vulnerability/.snapshots/TestJavascriptExpressXXEVulnerability--xxe_vuln_with_xml2js.yml
    skipped 8 lines
    9 9   filename: xxe_vuln_with_xml2js.js
    10 10   parent_line_number: 5
    11 11   snippet: parser.parseString(req.body.data, function(_err, _result) {})
     12 + fingerprint: fe8173ede5201eeb7df79a78fa97fd93_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/express/xml_external_entity_vulnerability/.snapshots/TestJavascriptExpressXXEVulnerability--xxe_vuln_with_xml2json.yml
    skipped 8 lines
    9 9   filename: xxe_vuln_with_xml2json.js
    10 10   parent_line_number: 4
    11 11   snippet: 'parser.toXml(req.body, { ignoreNull: true })'
     12 + fingerprint: a5e6d984dd3693cd851072b9e8d19c00_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/lang/exception/.snapshots/TestJavascriptLangException--promise_reject.yml
    skipped 10 lines
    11 11   - PII
    12 12   parent_line_number: 5
    13 13   snippet: Promise.reject(new PermissionDenied("fail" + user.email))
     14 + fingerprint: a4a529dbfe643ed779f85fc181ca69d6_0
    14 15   
    15 16   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/lang/exception/.snapshots/TestJavascriptLangException--reject.yml
    skipped 10 lines
    11 11   - PII
    12 12   parent_line_number: 7
    13 13   snippet: reject("Error with user " + user)
     14 + fingerprint: be67cc902579d32f14f00a0d8a2027b2_0
    14 15   - rule:
    15 16   cwe_ids:
    16 17   - "210"
    skipped 6 lines
    23 24   - PII
    24 25   parent_line_number: 16
    25 26   snippet: reject("Error with user " + user)
     27 + fingerprint: be67cc902579d32f14f00a0d8a2027b2_1
    26 28   
    27 29   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/lang/exception/.snapshots/TestJavascriptLangException--throw_custom_exception.yml
    skipped 10 lines
    11 11   - PII
    12 12   parent_line_number: 5
    13 13   snippet: throw new PermissionDenied(`Error with ${current_user.email}`)
     14 + fingerprint: f62dc1acaf83122fd9fa9769dcccdfe0_0
    14 15   
    15 16   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/lang/exception/.snapshots/TestJavascriptLangException--throw_string.yml
    skipped 10 lines
    11 11   - PII
    12 12   parent_line_number: 5
    13 13   snippet: throw `${user.email}`
     14 + fingerprint: b01bf33ac7819807025094a0c9aedb34_0
    14 15   
    15 16   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/lang/file_generation/.snapshots/TestJavascriptLangFileGeneration--file_generation.yml
    skipped 14 lines
    15 15   if (err) console.log(err)
    16 16   else console.log("Data saved")
    17 17   })
     18 + fingerprint: 7dc547c0485fb50177dd96e6cc520f43_0
    18 19   - rule:
    19 20   cwe_ids:
    20 21   - "313"
    skipped 10 lines
    31 32   if (err) console.log(err)
    32 33   else console.log("Data saved")
    33 34   })
     35 + fingerprint: 7dc547c0485fb50177dd96e6cc520f43_1
    34 36   - rule:
    35 37   cwe_ids:
    36 38   - "313"
    skipped 10 lines
    47 49   if (err) console.log(err)
    48 50   else console.log("Data saved")
    49 51   })
     52 + fingerprint: 7dc547c0485fb50177dd96e6cc520f43_2
    50 53   
    51 54   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/lang/hardcoded_secret/.snapshots/TestJavascriptHardcodedSecret--unsecure_assigment.yml
    skipped 8 lines
    9 9   filename: unsecure_assigment.js
    10 10   parent_line_number: 2
    11 11   snippet: config.clientSecret = "secretHardcodedString"
     12 + fingerprint: 7888ef2c773957ce7e1700935114e1e4_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/lang/hardcoded_secret/.snapshots/TestJavascriptHardcodedSecret--unsecure_object.yml
    skipped 16 lines
    17 17   callbackURL: "/oauth2/redirect/google",
    18 18   scope: ["profile"],
    19 19   }
     20 + fingerprint: 9e504ef584b3b4c2768db81bed4a2915_0
    20 21   
    21 22   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/lang/http_insecure/.snapshots/TestJavascriptHTTPInsecure--axios_insecure.yml
    skipped 8 lines
    9 9   filename: axios_insecure.js
    10 10   parent_line_number: 2
    11 11   snippet: axios.get(insecure_url)
     12 + fingerprint: 5667b49e84002c3b923f6c78e8943c6e_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/lang/http_insecure/.snapshots/TestJavascriptHTTPInsecure--axios_with_config_insecure.yml
    skipped 8 lines
    9 9   filename: axios_with_config_insecure.js
    10 10   parent_line_number: 7
    11 11   snippet: axios(config)
     12 + fingerprint: 1be5d457d984a1bd5304c976abece8e7_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/lang/http_insecure/.snapshots/TestJavascriptHTTPInsecure--fetch_insecure.yml
    skipped 8 lines
    9 9   filename: fetch_insecure.js
    10 10   parent_line_number: 3
    11 11   snippet: fetch(insecure_url)
     12 + fingerprint: ee0e089397c6a22c3dc3dbdd1110359a_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/lang/http_insecure/.snapshots/TestJavascriptHTTPInsecure--request_insecure.yml
    skipped 8 lines
    9 9   filename: request_insecure.js
    10 10   parent_line_number: 5
    11 11   snippet: xhttp.open("GET", insecure_url, true)
     12 + fingerprint: 9caf1c625e8510eae24dfdf3445f074a_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/lang/jwt/.snapshots/TestJavascriptJWT--unsecure.yml
    skipped 14 lines
    15 15   { user: { email: "[email protected]" } },
    16 16   process.env.JWT_SECRET
    17 17   )
     18 + fingerprint: 0d02d2bf09c4b783d7c32239f1af43fe_0
    18 19   
    19 20   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/lang/jwt_hardcoded_secret/.snapshots/TestJavascriptJWTHardcodedSecret--unsecure.yml
    skipped 8 lines
    9 9   filename: unsecure.js
    10 10   parent_line_number: 3
    11 11   snippet: 'jwt.sign({ foo: "bar" }, "someSecret")'
     12 + fingerprint: 00589880ba468827dcd091e5dfb04118_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/lang/jwt_hardcoded_secret/.snapshots/TestJavascriptJWTHardcodedSecret--unsecure_jose_jwt.yml
    skipped 12 lines
    13 13   .setIssuedAt()
    14 14   .setExpirationTime('2h')
    15 15   .sign(secret)
     16 + fingerprint: 7c599a49f18f8f39a152c36f65972edc_0
    16 17   
    17 18   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/lang/jwt_weak_encryption/.snapshots/TestJavascriptJWTWeakEncryption--unsecure.yml
    skipped 11 lines
    12 12   jwt.sign({ foo: "bar" }, process.env.JWT_SECRET, {
    13 13   algorithm: "none",
    14 14   })
     15 + fingerprint: a9ee605621c71f1b5acba0c3b6d8feca_0
    15 16   
    16 17   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/lang/logger/.snapshots/TestJavascriptLangLogger--child.yml
    skipped 11 lines
    12 12   - PII
    13 13   parent_line_number: 7
    14 14   snippet: logger.child(ctx)
     15 + fingerprint: a272744c07360821d25042868f04ea5c_0
    15 16   
    16 17   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/lang/logger/.snapshots/TestJavascriptLangLogger--child_level.yml
    skipped 11 lines
    12 12   - PII
    13 13   parent_line_number: 7
    14 14   snippet: logger.child(ctx)
     15 + fingerprint: 8e95cdcc2014858dafacef84dcbc04e8_0
    15 16   - rule:
    16 17   cwe_ids:
    17 18   - "1295"
    skipped 7 lines
    25 26   - PII
    26 27   parent_line_number: 7
    27 28   snippet: logger.child(ctx).info(user.name)
     29 + fingerprint: 8e95cdcc2014858dafacef84dcbc04e8_1
    28 30   
    29 31   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/lang/logger/.snapshots/TestJavascriptLangLogger--console.yml
    skipped 11 lines
    12 12   - PII
    13 13   parent_line_number: 1
    14 14   snippet: console.log(user.name)
     15 + fingerprint: 907f568d6d401d24176f4ad514eba094_0
    15 16   - rule:
    16 17   cwe_ids:
    17 18   - "1295"
    skipped 7 lines
    25 26   - PII
    26 27   parent_line_number: 2
    27 28   snippet: console.log("user email is", user.email)
     29 + fingerprint: 907f568d6d401d24176f4ad514eba094_1
    28 30   
    29 31   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/lang/logger/.snapshots/TestJavascriptLangLogger--datatype_leak.yml
    skipped 11 lines
    12 12   - PII
    13 13   parent_line_number: 1
    14 14   snippet: logger.info(user.email)
     15 + fingerprint: e8d6e0071bfd061c79b1f4ee0a1474d9_0
    15 16   
    16 17   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/lang/logger/.snapshots/TestJavascriptLangLogger--log.yml
    skipped 11 lines
    12 12   - PII
    13 13   parent_line_number: 1
    14 14   snippet: log.info(user.name)
     15 + fingerprint: fe37ae4c682eb60e39d100fdfcd972c4_0
    15 16   
    16 17   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/lang/open_redirect/.snapshots/TestJavascriptOpenRedirect--insecure.yml
    skipped 8 lines
    9 9   filename: insecure.js
    10 10   parent_line_number: 4
    11 11   snippet: window.location.href = myPath
     12 + fingerprint: 6e0ea50cad602d864fb0bd40211daba9_0
    12 13   - rule:
    13 14   cwe_ids:
    14 15   - "601"
    skipped 4 lines
    19 20   filename: insecure.js
    20 21   parent_line_number: 5
    21 22   snippet: location.href = myPath2
     23 + fingerprint: 6e0ea50cad602d864fb0bd40211daba9_1
    22 24   
    23 25   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/lang/session/.snapshots/TestJavascriptLangSession--session_leak.yml
    skipped 10 lines
    11 11   - PII
    12 12   parent_line_number: 3
    13 13   snippet: localStorage.setItem("user", user)
     14 + fingerprint: d081e8105d6ae2165d155f17906a1170_0
    14 15   
    15 16   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/lang/weak_encryption/.snapshots/TestJavascriptWeakEncryption--des.yml
    skipped 10 lines
    11 11   - PII
    12 12   parent_line_number: 3
    13 13   snippet: CryptoJS.DES.encrypt(user.email, "secret key")
     14 + fingerprint: 6aba15ca33da3c20cb7c9872f985d625_0
    14 15   
    15 16   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/lang/weak_encryption/.snapshots/TestJavascriptWeakEncryption--md5.yml
    skipped 10 lines
    11 11   - PII
    12 12   parent_line_number: 4
    13 13   snippet: crypto.createHmac("md5", key).update(user.email)
     14 + fingerprint: 0f998b98cc9f987fb155d95b934a2462_0
    14 15   - rule:
    15 16   cwe_ids:
    16 17   - "327"
    skipped 6 lines
    23 24   - PII
    24 25   parent_line_number: 5
    25 26   snippet: crypto.createHash("md5").update(user.email)
     27 + fingerprint: 0f998b98cc9f987fb155d95b934a2462_1
    26 28   - rule:
    27 29   cwe_ids:
    28 30   - "327"
    skipped 6 lines
    35 37   - PII
    36 38   parent_line_number: 9
    37 39   snippet: CryptoJS.MD5(user.email)
     40 + fingerprint: 0f998b98cc9f987fb155d95b934a2462_2
    38 41   
    39 42   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/lang/weak_encryption/.snapshots/TestJavascriptWeakEncryption--rc4.yml
    skipped 10 lines
    11 11   - PII
    12 12   parent_line_number: 3
    13 13   snippet: CryptoJS.RC4.encrypt(user.email, "secret key")
     14 + fingerprint: 52ad6114081ffe4fa9da7f7fba034d11_0
    14 15   
    15 16   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/lang/weak_encryption/.snapshots/TestJavascriptWeakEncryption--sha1.yml
    skipped 10 lines
    11 11   - PII
    12 12   parent_line_number: 5
    13 13   snippet: crypto.createHmac("sha1", key).update(user.email)
     14 + fingerprint: d7aa86e42256f21cde35fd7cc3788c79_0
    14 15   - rule:
    15 16   cwe_ids:
    16 17   - "327"
    skipped 6 lines
    23 24   - PII
    24 25   parent_line_number: 6
    25 26   snippet: crypto.createHash("sha1").update(user.email)
     27 + fingerprint: d7aa86e42256f21cde35fd7cc3788c79_1
    26 28   - rule:
    27 29   cwe_ids:
    28 30   - "327"
    skipped 6 lines
    35 37   - PII
    36 38   parent_line_number: 8
    37 39   snippet: CryptoJS.HmacSHA1(user.email, "Key")
     40 + fingerprint: d7aa86e42256f21cde35fd7cc3788c79_2
    38 41   - rule:
    39 42   cwe_ids:
    40 43   - "327"
    skipped 6 lines
    47 50   - PII
    48 51   parent_line_number: 9
    49 52   snippet: CryptoJS.SHA1(user.email)
     53 + fingerprint: d7aa86e42256f21cde35fd7cc3788c79_3
    50 54   
    51 55   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/lang/weak_password_encryption/.snapshots/TestJavascriptWeakPasswordEncryption--argon2i.yml
    skipped 16 lines
    17 17   memoryCost: 2 ** 16,
    18 18   hashLength: 50,
    19 19   })
     20 + fingerprint: a58fc137c5b45ed1bf8f11a41b26e223_0
    20 21   
    21 22   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/lang/weak_password_encryption/.snapshots/TestJavascriptWeakPasswordEncryption--des_password.yml
    skipped 11 lines
    12 12   - PII
    13 13   parent_line_number: 3
    14 14   snippet: CryptoJS.DES.encrypt(user.password, "secret key")
     15 + fingerprint: 0888dddca4579bd97844049a09dd190b_0
    15 16   
    16 17   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/lang/weak_password_encryption/.snapshots/TestJavascriptWeakPasswordEncryption--md5_password.yml
    skipped 11 lines
    12 12   - PII
    13 13   parent_line_number: 4
    14 14   snippet: crypto.createHmac("md5", key).update(user.password)
     15 + fingerprint: 91595eeb27b5e6a736f190f5e774b326_0
    15 16   - rule:
    16 17   cwe_ids:
    17 18   - "327"
    skipped 7 lines
    25 26   - PII
    26 27   parent_line_number: 5
    27 28   snippet: crypto.createHash("md5").update(user.password)
     29 + fingerprint: 91595eeb27b5e6a736f190f5e774b326_1
    28 30   - rule:
    29 31   cwe_ids:
    30 32   - "327"
    skipped 7 lines
    38 40   - PII
    39 41   parent_line_number: 9
    40 42   snippet: CryptoJS.MD5(user.password)
     43 + fingerprint: 91595eeb27b5e6a736f190f5e774b326_2
    41 44   
    42 45   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/lang/weak_password_encryption/.snapshots/TestJavascriptWeakPasswordEncryption--ok_not_a_password.yml
    skipped 10 lines
    11 11   - PII
    12 12   parent_line_number: 3
    13 13   snippet: CryptoJS.MD5(user.email)
     14 + fingerprint: 2bd7229f4aa32a74f0c033216f2f3373_0
    14 15   - rule:
    15 16   cwe_ids:
    16 17   - "327"
    skipped 6 lines
    23 24   - PII
    24 25   parent_line_number: 4
    25 26   snippet: CryptoJS.DES.encrypt(customer.email, "secret key")
     27 + fingerprint: 2bd7229f4aa32a74f0c033216f2f3373_1
    26 28   
    27 29   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/lang/weak_password_encryption/.snapshots/TestJavascriptWeakPasswordEncryption--rc4_password.yml
    skipped 11 lines
    12 12   - PII
    13 13   parent_line_number: 3
    14 14   snippet: CryptoJS.RC4.encrypt(user.password, "secret key")
     15 + fingerprint: 39f42f9dee77e77aa475d8298066b0c3_0
    15 16   
    16 17   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/lang/weak_password_encryption/.snapshots/TestJavascriptWeakPasswordEncryption--sha1_password.yml
    skipped 11 lines
    12 12   - PII
    13 13   parent_line_number: 4
    14 14   snippet: crypto.createHmac("sha1", key).update(user.password)
     15 + fingerprint: fac90edb2c93f3dc048f6c35d6bb2965_0
    15 16   - rule:
    16 17   cwe_ids:
    17 18   - "327"
    skipped 7 lines
    25 26   - PII
    26 27   parent_line_number: 5
    27 28   snippet: crypto.createHash("sha1").update(user.password)
     29 + fingerprint: fac90edb2c93f3dc048f6c35d6bb2965_1
    28 30   - rule:
    29 31   cwe_ids:
    30 32   - "327"
    skipped 7 lines
    38 40   - PII
    39 41   parent_line_number: 7
    40 42   snippet: CryptoJS.HmacSHA1(user.password, "Key")
     43 + fingerprint: fac90edb2c93f3dc048f6c35d6bb2965_2
    41 44   - rule:
    42 45   cwe_ids:
    43 46   - "327"
    skipped 7 lines
    51 54   - PII
    52 55   parent_line_number: 8
    53 56   snippet: CryptoJS.SHA1(user.password)
     57 + fingerprint: fac90edb2c93f3dc048f6c35d6bb2965_3
    54 58   
    55 59   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/react/dangerously_set_inner_html/.snapshots/TestJavascriptReactDangerouslySetInnerHTML--unsecure-raw_input.yml
    skipped 8 lines
    9 9   filename: unsecure-raw_input.js
    10 10   parent_line_number: 2
    11 11   snippet: '{ __html: input }'
     12 + fingerprint: e59e2d6b1d61a146a43a7bc7a0f0769a_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/react/dangerously_set_inner_html/.snapshots/TestJavascriptReactDangerouslySetInnerHTML--unsecure-template_string.yml
    skipped 8 lines
    9 9   filename: unsecure-template_string.js
    10 10   parent_line_number: 4
    11 11   snippet: '{ __html: `<a href=${input}>home page</a>` }'
     12 + fingerprint: 4ee7f485a83185dc6514a0e95269298f_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/react/google_analytics/.snapshots/TestJavascriptReactGoogleAnalytics--insecure.yml
    skipped 15 lines
    16 16   action: "logged_in",
    17 17   value: user.email,
    18 18   })
     19 + fingerprint: 325d8627339fb8007772f3afafd6b47c_0
    19 20   - rule:
    20 21   cwe_ids:
    21 22   - "201"
    skipped 11 lines
    33 34   action: "logged_in",
    34 35   value: user.email,
    35 36   })
     37 + fingerprint: 325d8627339fb8007772f3afafd6b47c_1
    36 38   
    37 39   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/third_parties/airbrake/.snapshots/TestJavascriptAirbrake--datatype_in_notify.yml
    skipped 14 lines
    15 15   error: err,
    16 16   params: { user: user.ipAddress },
    17 17   })
     18 + fingerprint: c4786d86d4c3490d41817ab11de3f9af_0
    18 19   
    19 20   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/third_parties/algolia/.snapshots/TestJavascriptAlgolia--datatype_in_index.yml
    skipped 10 lines
    11 11   - PII
    12 12   parent_line_number: 4
    13 13   snippet: myAlgolia.initIndex(company.bank_account_number)
     14 + fingerprint: 955a76f0b339af35908c18e474405f17_0
    14 15   
    15 16   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/third_parties/algolia/.snapshots/TestJavascriptAlgolia--datatype_in_save_object.yml
    skipped 12 lines
    13 13   snippet: |-
    14 14   index
    15 15   .saveObject(userObj, { autoGenerateObjectIDIfNotExist: true })
     16 + fingerprint: f7cd3e6cc20d31411535c7bef6ba52cc_1
    16 17  medium:
    17 18   - rule:
    18 19   cwe_ids:
    skipped 7 lines
    26 27   - PII
    27 28   parent_line_number: 12
    28 29   snippet: 'index.saveObjects([{ email: user.email }])'
     30 + fingerprint: f7cd3e6cc20d31411535c7bef6ba52cc_0
    29 31   
    30 32   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/third_parties/bugsnag/.snapshots/TestJavascriptBugsnag--datatype_in_breadcrumb.yml
    skipped 10 lines
    11 11   - PII
    12 12   parent_line_number: 1
    13 13   snippet: Bugsnag.leaveBreadcrumb(user.email)
     14 + fingerprint: 2eaef71de885a52be1cbf2dd3f951de2_0
    14 15   
    15 16   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/third_parties/bugsnag/.snapshots/TestJavascriptBugsnag--datatype_in_notify.yml
    skipped 10 lines
    11 11   - Personal Data
    12 12   parent_line_number: 5
    13 13   snippet: 'Bugsnag.notify(user.ip_address + " : " + e)'
     14 + fingerprint: 5415a792ea778594e6e40c72e09aac8f_0
    14 15   
    15 16   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/third_parties/bugsnag/.snapshots/TestJavascriptBugsnag--datatype_in_session.yml
    skipped 10 lines
    11 11   - PII
    12 12   parent_line_number: 4
    13 13   snippet: bugSession.notify(user.email)
     14 + fingerprint: a3b7e2efe220ddd88ca70f09bfc62594_0
    14 15   
    15 16   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/third_parties/bugsnag/.snapshots/TestJavascriptBugsnag--datatype_in_start.yml
    skipped 21 lines
    22 22   session.setUser(user.email)
    23 23   }
    24 24   })
     25 + fingerprint: 4707cfda64a1837cb5fe6f9270a5a8a6_0
    25 26   - rule:
    26 27   cwe_ids:
    27 28   - "201"
    skipped 17 lines
    45 46   session.setUser(user.email)
    46 47   }
    47 48   })
     49 + fingerprint: 4707cfda64a1837cb5fe6f9270a5a8a6_1
    48 50   - rule:
    49 51   cwe_ids:
    50 52   - "201"
    skipped 17 lines
    68 70   session.setUser(user.email)
    69 71   }
    70 72   })
     73 + fingerprint: 4707cfda64a1837cb5fe6f9270a5a8a6_2
    71 74   
    72 75   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/third_parties/datadog/.snapshots/TestJavascriptDataDog--unsecure.yml
    skipped 10 lines
    11 11   - PII
    12 12   parent_line_number: 11
    13 13   snippet: client.event("user", "logged_in", {}, user)
     14 + fingerprint: 15317e7b0c29169d3b524d33116994d5_0
    14 15   
    15 16   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/third_parties/datadog_browser/.snapshots/TestJavascriptDataDogBrowser--unsecure.yml
    skipped 8 lines
    9 9   filename: unsecure.js
    10 10   parent_line_number: 2
    11 11   snippet: 'trackUserInteractions: true'
     12 + fingerprint: 1e4a758498c5f5f164616eeb341f7bd1_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/third_parties/dom_purify/.snapshots/TestJavascriptDomPurify--unsecure.yml
    skipped 8 lines
    9 9   filename: unsecure.js
    10 10   parent_line_number: 2
    11 11   snippet: DOMPurify.sanitize(dirty, config)
     12 + fingerprint: c8b12645ba0ae58b6a56874acbd6011f_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/third_parties/elasticsearch/.snapshots/TestJavascriptElasticSearch--unsecure.yml
    skipped 10 lines
    11 11   - PII
    12 12   parent_line_number: 2
    13 13   snippet: elasticsearch.index(user)
     14 + fingerprint: 649fa9a91e3ae3230f484d183241de4c_0
    14 15   
    15 16   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/third_parties/google_analytics/.snapshots/TestJavascriptGoogleAnalytics--unsecure.yml
    skipped 15 lines
    16 16   email: "[email protected]",
    17 17   },
    18 18   })
     19 + fingerprint: e9e519779eae41a91fc30ad3b62a84a3_0
    19 20   
    20 21   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/third_parties/google_tag_manager/.snapshots/TestJavascriptGTM--unsecure.yml
    skipped 13 lines
    14 14   window.dataLayer.push({
    15 15   email: user.email,
    16 16   })
     17 + fingerprint: 163d1d6557cf6be6e0f1a851cf46b2a6_0
    17 18   - rule:
    18 19   cwe_ids:
    19 20   - "201"
    skipped 9 lines
    29 30   window.dataLayer.push({
    30 31   email: user.email,
    31 32   })
     33 + fingerprint: 163d1d6557cf6be6e0f1a851cf46b2a6_1
    32 34   
    33 35   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/third_parties/honeybadger/.snapshots/TestJavascriptHoneybadger--unsecure.yml
    skipped 10 lines
    11 11   - PII
    12 12   parent_line_number: 5
    13 13   snippet: Honeybadger.setContext(context)
     14 + fingerprint: 9298a232e4b1abb3732c757053e9acfd_0
    14 15   
    15 16   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/third_parties/new_relic/.snapshots/TestJavascriptNewRelic--datatype_in_interaction_set_attribute.yml
    skipped 12 lines
    13 13   snippet: |-
    14 14   newrelic.interaction()
    15 15   .setAttribute("username", user.first_name)
     16 + fingerprint: 7a41ad36631310b51dcd7d9dbaa35032_0
    16 17   - rule:
    17 18   cwe_ids:
    18 19   - "201"
    skipped 9 lines
    28 29   newrelic.interaction()
    29 30   .setAttribute("username", user.first_name)
    30 31   .setAttribute("postal-code", user.post_code)
     32 + fingerprint: 7a41ad36631310b51dcd7d9dbaa35032_1
    31 33   - rule:
    32 34   cwe_ids:
    33 35   - "201"
    skipped 6 lines
    40 42   - PII
    41 43   parent_line_number: 13
    42 44   snippet: interaction.setAttribute("email", user.email_address)
     45 + fingerprint: 7a41ad36631310b51dcd7d9dbaa35032_2
    43 46   
    44 47   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/third_parties/new_relic/.snapshots/TestJavascriptNewRelic--datatype_in_notice_error.yml
    skipped 10 lines
    11 11   - Personal Data
    12 12   parent_line_number: 7
    13 13   snippet: newrelic.noticeError(err, customer.ip_address)
     14 + fingerprint: 3d897530b17d000792263d6a75ce428c_0
    14 15   
    15 16   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/third_parties/new_relic/.snapshots/TestJavascriptNewRelic--datatype_in_set_custom_attribute.yml
    skipped 10 lines
    11 11   - PII
    12 12   parent_line_number: 3
    13 13   snippet: newrelic.setCustomAttribute("user-id", customer.email)
     14 + fingerprint: 8103bc131e1f7ba4ffd808778772b56f_0
    14 15   
    15 16   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/third_parties/new_relic/.snapshots/TestJavascriptNewRelic--datatype_in_set_page_view_name.yml
    skipped 10 lines
    11 11   - PII
    12 12   parent_line_number: 3
    13 13   snippet: newrelic.setPageViewName(customer.bank_account_number, "$host")
     14 + fingerprint: 6070c362168c8594f5eb6151fc31b55d_0
    14 15   
    15 16   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/third_parties/open_telemetry/.snapshots/TestJavascriptOpenTelemetry--datatype_in_add_event.yml
    skipped 13 lines
    14 14   currentSpan.addEvent('my-event', {
    15 15   'event.metadata': customer.emailAddress
    16 16   })
     17 + fingerprint: c07461857f570fe7124dbbff054fcfc5_0
    17 18   
    18 19   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/third_parties/open_telemetry/.snapshots/TestJavascriptOpenTelemetry--datatype_in_record_exception.yml
    skipped 10 lines
    11 11   - Personal Data
    12 12   parent_line_number: 9
    13 13   snippet: span.recordException(currentUser.ipAddress)
     14 + fingerprint: 5734006b93afe02b2c6b1ad94dd00a65_0
    14 15   
    15 16   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/third_parties/open_telemetry/.snapshots/TestJavascriptOpenTelemetry--datatype_in_set_attribute.yml
    skipped 10 lines
    11 11   - PII
    12 12   parent_line_number: 6
    13 13   snippet: span.setAttribute("current-user", currentUser.emailAddress)
     14 + fingerprint: 8a07b30f80bef1b76aef3330ebe140e1_0
    14 15   - rule:
    15 16   cwe_ids:
    16 17   - "201"
    skipped 6 lines
    23 24   - PII
    24 25   parent_line_number: 11
    25 26   snippet: span.setAttribute("current-user", user.email)
     27 + fingerprint: 8a07b30f80bef1b76aef3330ebe140e1_1
    26 28   
    27 29   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/third_parties/open_telemetry/.snapshots/TestJavascriptOpenTelemetry--datatype_in_set_status.yml
    skipped 14 lines
    15 15   code: opentelemetry.SpanStatusCode.ERROR,
    16 16   message: "Bad connection for " + currentUser.emailAddress
    17 17   })
     18 + fingerprint: 800b1e73e5b7dcbfe428e5119722f598_0
    18 19   
    19 20   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/third_parties/passport_hardcoded_secret/.snapshots/TestJavascripPassportHardcodedSecret--unsecure.yml
    skipped 8 lines
    9 9   filename: unsecure.js
    10 10   parent_line_number: 4
    11 11   snippet: '{ clientSecret: "hardcodedSecret" }'
     12 + fingerprint: 0b98494eae42c8b61d9beaee584d5c30_0
    12 13   - rule:
    13 14   cwe_ids:
    14 15   - "798"
    skipped 4 lines
    19 20   filename: unsecure.js
    20 21   parent_line_number: 5
    21 22   snippet: passport.use(strategy)
     23 + fingerprint: 6af1c104e80a2f44be6322d9f17d873a_0
    22 24   
    23 25   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/third_parties/rollbar/.snapshots/TestJavascriptRollbar--browser_unsecure.yml
    skipped 10 lines
    11 11   - PII
    12 12   parent_line_number: 3
    13 13   snippet: Rollbar.critical("Connection error from remote Payments API", user)
     14 + fingerprint: e23c84bd8b97113860affa0140b34b92_0
    14 15   
    15 16   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/third_parties/segment/.snapshots/TestJavascriptSegmentDataflow--datatype_in_alias.yml
    skipped 14 lines
    15 15   previousId: user.email,
    16 16   userId: user.id,
    17 17   })
     18 + fingerprint: 4469f3ea642c622470aab0f8c20097a7_0
    18 19   
    19 20   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/third_parties/segment/.snapshots/TestJavascriptSegmentDataflow--datatype_in_group.yml
    skipped 15 lines
    16 16   groupId: user.job_title,
    17 17   traits: {},
    18 18   })
     19 + fingerprint: e06b3627d5c7a61440e243b72dbcfb7f_0
    19 20   
    20 21   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/third_parties/segment/.snapshots/TestJavascriptSegmentDataflow--datatype_in_identify.yml
    skipped 19 lines
    20 20   friends: user.friendCount
    21 21   }
    22 22   })
     23 + fingerprint: 93814e8f0bfa77c3d3f784e7c9194d02_0
    23 24   - rule:
    24 25   cwe_ids:
    25 26   - "201"
    skipped 15 lines
    41 42   friends: user.friendCount
    42 43   }
    43 44   })
     45 + fingerprint: 93814e8f0bfa77c3d3f784e7c9194d02_1
    44 46   - rule:
    45 47   cwe_ids:
    46 48   - "201"
    skipped 15 lines
    62 64   friends: user.friendCount
    63 65   }
    64 66   })
     67 + fingerprint: 93814e8f0bfa77c3d3f784e7c9194d02_2
    65 68   - rule:
    66 69   cwe_ids:
    67 70   - "201"
    skipped 6 lines
    74 77   - PII
    75 78   parent_line_number: 18
    76 79   snippet: browser.identify(user.email)
     80 + fingerprint: 93814e8f0bfa77c3d3f784e7c9194d02_3
    77 81   
    78 82   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/third_parties/segment/.snapshots/TestJavascriptSegmentDataflow--datatype_in_page.yml
    skipped 17 lines
    18 18   path: "/cart/"+customer.bank_account_number
    19 19   },
    20 20   })
     21 + fingerprint: 3ff19e836f9a7304eb136ee1444282f4_0
    21 22   
    22 23   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/third_parties/segment/.snapshots/TestJavascriptSegmentDataflow--datatype_in_track.yml
    skipped 15 lines
    16 16   userId: user.id,
    17 17   userIpAddr: user.ip_address,
    18 18   })
     19 + fingerprint: 7962fdb50924228eb50532bd49443112_1
    19 20  medium:
    20 21   - rule:
    21 22   cwe_ids:
    skipped 7 lines
    29 30   - PII
    30 31   parent_line_number: 17
    31 32   snippet: browser.track(user.email)
     33 + fingerprint: 7962fdb50924228eb50532bd49443112_0
    32 34   
    33 35   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/third_parties/sentry/.snapshots/TestJavascriptThirdPartySentry--javascript_add_breadcrumb.yml
    skipped 14 lines
    15 15   message: `my message for ${user.email}`,
    16 16   // ...
    17 17   })
     18 + fingerprint: 51f5ec8e972ab1d8ac18a963406e1ff4_0
    18 19   
    19 20   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/third_parties/sentry/.snapshots/TestJavascriptThirdPartySentry--javascript_capture_event.yml
    skipped 16 lines
    17 17   // ...
    18 18   ],
    19 19   })
     20 + fingerprint: dbc1820c858ccc475532ff6c93ac1abe_0
    20 21   
    21 22   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/third_parties/sentry/.snapshots/TestJavascriptThirdPartySentry--javascript_capture_exception.yml
    skipped 13 lines
    14 14   Sentry.captureException(
    15 15   new Error(`user ${current_user.email} couldn't log in!`)
    16 16   )
     17 + fingerprint: ccfe5be6347096dc61dca940fa92542d_0
    17 18   
    18 19   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/third_parties/sentry/.snapshots/TestJavascriptThirdPartySentry--javascript_capture_message.yml
    skipped 10 lines
    11 11   - PII
    12 12   parent_line_number: 1
    13 13   snippet: Sentry.captureMessage("User has successfully signed in " + current_user.email)
     14 + fingerprint: 2399e47bf32f23e338a8c98eb0985d5c_0
    14 15   
    15 16   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/third_parties/sentry/.snapshots/TestJavascriptThirdPartySentry--javascript_configure_scope_set_extra.yml
    skipped 10 lines
    11 11   - PII
    12 12   parent_line_number: 2
    13 13   snippet: scope.setExtra("email", user.email)
     14 + fingerprint: a6fd582e471d3774ceb8dbda2fcf2175_0
    14 15   
    15 16   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/third_parties/sentry/.snapshots/TestJavascriptThirdPartySentry--javascript_configure_scope_set_tag.yml
    skipped 10 lines
    11 11   - PII
    12 12   parent_line_number: 2
    13 13   snippet: scope.setTag("user_email", user.email)
     14 + fingerprint: 7152403c083c605ccab83ca16ae65240_0
    14 15   
    15 16   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/javascript/third_parties/sentry/.snapshots/TestJavascriptThirdPartySentry--javascript_configure_scope_set_user.yml
    skipped 10 lines
    11 11   - PII
    12 12   parent_line_number: 2
    13 13   snippet: 'scope.setUser({ email: user.email })'
     14 + fingerprint: 00a2e892b48a57478b26a299a26bb81e_0
    14 15   
    15 16   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/cookies/.snapshots/TestRubyLangCookies--datatype_in_signed_cookies.yml
    skipped 11 lines
    12 12   - PII
    13 13   parent_line_number: 1
    14 14   snippet: cookies.signed[:info] = user.email
     15 + fingerprint: 0bc36f6fd36597f1a15e4e12cd6e6cc8_0
    15 16   - rule:
    16 17   cwe_ids:
    17 18   - "315"
    skipped 7 lines
    25 26   - PII
    26 27   parent_line_number: 2
    27 28   snippet: cookies.permanent.signed[:secret] = user.first_name
     29 + fingerprint: 0bc36f6fd36597f1a15e4e12cd6e6cc8_1
    28 30   
    29 31   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/cookies/.snapshots/TestRubyLangCookies--datatype_object_in_cookie.yml
    skipped 11 lines
    12 12   - PII
    13 13   parent_line_number: 5
    14 14   snippet: 'cookies[:login] = { value: user.to_json, expires: 1.hour, secure: true }'
     15 + fingerprint: 81cd660fcd6ad1c761838375c978b235_0
    15 16   - rule:
    16 17   cwe_ids:
    17 18   - "315"
    skipped 7 lines
    25 26   - PII
    26 27   parent_line_number: 5
    27 28   snippet: 'cookies[:login] = { value: user.to_json, expires: 1.hour, secure: true }'
     29 + fingerprint: 81cd660fcd6ad1c761838375c978b235_1
    28 30   
    29 31   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/deserialization_of_user_input/.snapshots/TestRubyLangDeserializationOfUserInput--unsafe_event.yml
    skipped 8 lines
    9 9   filename: unsafe_event.rb
    10 10   parent_line_number: 2
    11 11   snippet: YAML.load(event["oops"])
     12 + fingerprint: dbb27be331e8b9bdb9545f304d99c91f_0
    12 13   - rule:
    13 14   cwe_ids:
    14 15   - "502"
    skipped 4 lines
    19 20   filename: unsafe_event.rb
    20 21   parent_line_number: 4
    21 22   snippet: Psych.load(event["oops"])
     23 + fingerprint: dbb27be331e8b9bdb9545f304d99c91f_1
    22 24   - rule:
    23 25   cwe_ids:
    24 26   - "502"
    skipped 4 lines
    29 31   filename: unsafe_event.rb
    30 32   parent_line_number: 6
    31 33   snippet: Syck.load(event["oops"])
     34 + fingerprint: dbb27be331e8b9bdb9545f304d99c91f_2
    32 35   - rule:
    33 36   cwe_ids:
    34 37   - "502"
    skipped 4 lines
    39 42   filename: unsafe_event.rb
    40 43   parent_line_number: 8
    41 44   snippet: JSON.load(event["oops"])
     45 + fingerprint: dbb27be331e8b9bdb9545f304d99c91f_3
    42 46   - rule:
    43 47   cwe_ids:
    44 48   - "502"
    skipped 4 lines
    49 53   filename: unsafe_event.rb
    50 54   parent_line_number: 10
    51 55   snippet: Oj.load(event["oops"])
     56 + fingerprint: dbb27be331e8b9bdb9545f304d99c91f_4
    52 57   - rule:
    53 58   cwe_ids:
    54 59   - "502"
    skipped 6 lines
    61 66   snippet: |-
    62 67   Oj.object_load(event["oops"]) do |json|
    63 68   end
     69 + fingerprint: dbb27be331e8b9bdb9545f304d99c91f_5
    64 70   - rule:
    65 71   cwe_ids:
    66 72   - "502"
    skipped 4 lines
    71 77   filename: unsafe_event.rb
    72 78   parent_line_number: 14
    73 79   snippet: Marshal.load(event["oops"])
     80 + fingerprint: dbb27be331e8b9bdb9545f304d99c91f_6
    74 81   - rule:
    75 82   cwe_ids:
    76 83   - "502"
    skipped 4 lines
    81 88   filename: unsafe_event.rb
    82 89   parent_line_number: 15
    83 90   snippet: Marshal.restore(event["oops"])
     91 + fingerprint: dbb27be331e8b9bdb9545f304d99c91f_7
    84 92   
    85 93   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/deserialization_of_user_input/.snapshots/TestRubyLangDeserializationOfUserInput--unsafe_params.yml
    skipped 8 lines
    9 9   filename: unsafe_params.rb
    10 10   parent_line_number: 1
    11 11   snippet: YAML.load(params[:oops])
     12 + fingerprint: 96a48cf9bfa9a6955f687c13537653a9_0
    12 13   - rule:
    13 14   cwe_ids:
    14 15   - "502"
    skipped 4 lines
    19 20   filename: unsafe_params.rb
    20 21   parent_line_number: 3
    21 22   snippet: Psych.load(params[:oops])
     23 + fingerprint: 96a48cf9bfa9a6955f687c13537653a9_1
    22 24   - rule:
    23 25   cwe_ids:
    24 26   - "502"
    skipped 4 lines
    29 31   filename: unsafe_params.rb
    30 32   parent_line_number: 5
    31 33   snippet: Syck.load(params[:oops])
     34 + fingerprint: 96a48cf9bfa9a6955f687c13537653a9_2
    32 35   - rule:
    33 36   cwe_ids:
    34 37   - "502"
    skipped 4 lines
    39 42   filename: unsafe_params.rb
    40 43   parent_line_number: 7
    41 44   snippet: JSON.load(params[:oops])
     45 + fingerprint: 96a48cf9bfa9a6955f687c13537653a9_3
    42 46   - rule:
    43 47   cwe_ids:
    44 48   - "502"
    skipped 6 lines
    51 55   snippet: |-
    52 56   Oj.load(params[:oops]) do |json|
    53 57   end
     58 + fingerprint: 96a48cf9bfa9a6955f687c13537653a9_4
    54 59   - rule:
    55 60   cwe_ids:
    56 61   - "502"
    skipped 4 lines
    61 66   filename: unsafe_params.rb
    62 67   parent_line_number: 11
    63 68   snippet: Oj.object_load(params[:oops])
     69 + fingerprint: 96a48cf9bfa9a6955f687c13537653a9_5
    64 70   - rule:
    65 71   cwe_ids:
    66 72   - "502"
    skipped 4 lines
    71 77   filename: unsafe_params.rb
    72 78   parent_line_number: 13
    73 79   snippet: Marshal.load(params[:oops])
     80 + fingerprint: 96a48cf9bfa9a6955f687c13537653a9_6
    74 81   - rule:
    75 82   cwe_ids:
    76 83   - "502"
    skipped 4 lines
    81 88   filename: unsafe_params.rb
    82 89   parent_line_number: 14
    83 90   snippet: Marshal.restore(params[:oops])
     91 + fingerprint: 96a48cf9bfa9a6955f687c13537653a9_7
    84 92   
    85 93   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/deserialization_of_user_input/.snapshots/TestRubyLangDeserializationOfUserInput--unsafe_request.yml
    skipped 8 lines
    9 9   filename: unsafe_request.rb
    10 10   parent_line_number: 1
    11 11   snippet: YAML.load(request.env[:oops])
     12 + fingerprint: cac2c2a798f33f34857ab2445151310b_0
    12 13   - rule:
    13 14   cwe_ids:
    14 15   - "502"
    skipped 4 lines
    19 20   filename: unsafe_request.rb
    20 21   parent_line_number: 3
    21 22   snippet: Psych.load(request.env[:oops])
     23 + fingerprint: cac2c2a798f33f34857ab2445151310b_1
    22 24   - rule:
    23 25   cwe_ids:
    24 26   - "502"
    skipped 4 lines
    29 31   filename: unsafe_request.rb
    30 32   parent_line_number: 5
    31 33   snippet: Syck.load(request.env[:oops])
     34 + fingerprint: cac2c2a798f33f34857ab2445151310b_2
    32 35   - rule:
    33 36   cwe_ids:
    34 37   - "502"
    skipped 4 lines
    39 42   filename: unsafe_request.rb
    40 43   parent_line_number: 7
    41 44   snippet: JSON.load(request.env[:oops])
     45 + fingerprint: cac2c2a798f33f34857ab2445151310b_3
    42 46   - rule:
    43 47   cwe_ids:
    44 48   - "502"
    skipped 4 lines
    49 53   filename: unsafe_request.rb
    50 54   parent_line_number: 9
    51 55   snippet: Oj.load(request.env[:oops])
     56 + fingerprint: cac2c2a798f33f34857ab2445151310b_4
    52 57   - rule:
    53 58   cwe_ids:
    54 59   - "502"
    skipped 6 lines
    61 66   snippet: |-
    62 67   Oj.object_load(request.env[:oops]) do |json|
    63 68   end
     69 + fingerprint: cac2c2a798f33f34857ab2445151310b_5
    64 70   - rule:
    65 71   cwe_ids:
    66 72   - "502"
    skipped 4 lines
    71 77   filename: unsafe_request.rb
    72 78   parent_line_number: 13
    73 79   snippet: Marshal.load(request.env[:oops])
     80 + fingerprint: cac2c2a798f33f34857ab2445151310b_6
    74 81   - rule:
    75 82   cwe_ids:
    76 83   - "502"
    skipped 4 lines
    81 88   filename: unsafe_request.rb
    82 89   parent_line_number: 14
    83 90   snippet: Marshal.restore(request.env[:oops])
     91 + fingerprint: cac2c2a798f33f34857ab2445151310b_7
    84 92   
    85 93   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/eval_using_user_input/.snapshots/TestRubyLangEvalUsingUserInput--unsafe_event.yml
    skipped 9 lines
    10 10   filename: unsafe_event.rb
    11 11   parent_line_number: 2
    12 12   snippet: RubyVM::InstructionSequence.compile(event["oops"])
     13 + fingerprint: 3cb817bcd40bc677cc9e9d1d877c724d_0
    13 14   - rule:
    14 15   cwe_ids:
    15 16   - "94"
    skipped 5 lines
    21 22   filename: unsafe_event.rb
    22 23   parent_line_number: 4
    23 24   snippet: a.eval(event["oops"], "test")
     25 + fingerprint: 3cb817bcd40bc677cc9e9d1d877c724d_1
    24 26   - rule:
    25 27   cwe_ids:
    26 28   - "94"
    skipped 5 lines
    32 34   filename: unsafe_event.rb
    33 35   parent_line_number: 6
    34 36   snippet: a.instance_eval(event["oops"])
     37 + fingerprint: 3cb817bcd40bc677cc9e9d1d877c724d_2
    35 38   - rule:
    36 39   cwe_ids:
    37 40   - "94"
    skipped 5 lines
    43 46   filename: unsafe_event.rb
    44 47   parent_line_number: 8
    45 48   snippet: a.class_eval(event["oops"])
     49 + fingerprint: 3cb817bcd40bc677cc9e9d1d877c724d_3
    46 50   - rule:
    47 51   cwe_ids:
    48 52   - "94"
    skipped 5 lines
    54 58   filename: unsafe_event.rb
    55 59   parent_line_number: 10
    56 60   snippet: a.module_eval(event["oops"])
     61 + fingerprint: 3cb817bcd40bc677cc9e9d1d877c724d_4
    57 62   - rule:
    58 63   cwe_ids:
    59 64   - "94"
    skipped 5 lines
    65 70   filename: unsafe_event.rb
    66 71   parent_line_number: 12
    67 72   snippet: eval(event["oops"])
     73 + fingerprint: 3cb817bcd40bc677cc9e9d1d877c724d_5
    68 74   - rule:
    69 75   cwe_ids:
    70 76   - "94"
    skipped 5 lines
    76 82   filename: unsafe_event.rb
    77 83   parent_line_number: 14
    78 84   snippet: instance_eval(event["oops"], "test")
     85 + fingerprint: 3cb817bcd40bc677cc9e9d1d877c724d_6
    79 86   - rule:
    80 87   cwe_ids:
    81 88   - "94"
    skipped 5 lines
    87 94   filename: unsafe_event.rb
    88 95   parent_line_number: 16
    89 96   snippet: class_eval(event["oops"])
     97 + fingerprint: 3cb817bcd40bc677cc9e9d1d877c724d_7
    90 98   - rule:
    91 99   cwe_ids:
    92 100   - "94"
    skipped 5 lines
    98 106   filename: unsafe_event.rb
    99 107   parent_line_number: 18
    100 108   snippet: module_eval(event["oops"])
     109 + fingerprint: 3cb817bcd40bc677cc9e9d1d877c724d_8
    101 110   
    102 111   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/eval_using_user_input/.snapshots/TestRubyLangEvalUsingUserInput--unsafe_params.yml
    skipped 9 lines
    10 10   filename: unsafe_params.rb
    11 11   parent_line_number: 1
    12 12   snippet: RubyVM::InstructionSequence.compile(params["oops"])
     13 + fingerprint: d047dec078244cc582c4250294366633_0
    13 14   - rule:
    14 15   cwe_ids:
    15 16   - "94"
    skipped 5 lines
    21 22   filename: unsafe_params.rb
    22 23   parent_line_number: 3
    23 24   snippet: a.eval(params["oops"], "test")
     25 + fingerprint: d047dec078244cc582c4250294366633_1
    24 26   - rule:
    25 27   cwe_ids:
    26 28   - "94"
    skipped 5 lines
    32 34   filename: unsafe_params.rb
    33 35   parent_line_number: 5
    34 36   snippet: a.instance_eval(params["oops"])
     37 + fingerprint: d047dec078244cc582c4250294366633_2
    35 38   - rule:
    36 39   cwe_ids:
    37 40   - "94"
    skipped 5 lines
    43 46   filename: unsafe_params.rb
    44 47   parent_line_number: 7
    45 48   snippet: a.class_eval(params["oops"])
     49 + fingerprint: d047dec078244cc582c4250294366633_3
    46 50   - rule:
    47 51   cwe_ids:
    48 52   - "94"
    skipped 5 lines
    54 58   filename: unsafe_params.rb
    55 59   parent_line_number: 9
    56 60   snippet: a.module_eval(params["oops"])
     61 + fingerprint: d047dec078244cc582c4250294366633_4
    57 62   - rule:
    58 63   cwe_ids:
    59 64   - "94"
    skipped 5 lines
    65 70   filename: unsafe_params.rb
    66 71   parent_line_number: 11
    67 72   snippet: eval(params["oops"])
     73 + fingerprint: d047dec078244cc582c4250294366633_5
    68 74   - rule:
    69 75   cwe_ids:
    70 76   - "94"
    skipped 5 lines
    76 82   filename: unsafe_params.rb
    77 83   parent_line_number: 13
    78 84   snippet: instance_eval(params["oops"], "test")
     85 + fingerprint: d047dec078244cc582c4250294366633_6
    79 86   - rule:
    80 87   cwe_ids:
    81 88   - "94"
    skipped 5 lines
    87 94   filename: unsafe_params.rb
    88 95   parent_line_number: 15
    89 96   snippet: class_eval(params["oops"])
     97 + fingerprint: d047dec078244cc582c4250294366633_7
    90 98   - rule:
    91 99   cwe_ids:
    92 100   - "94"
    skipped 5 lines
    98 106   filename: unsafe_params.rb
    99 107   parent_line_number: 17
    100 108   snippet: module_eval(params["oops"])
     109 + fingerprint: d047dec078244cc582c4250294366633_8
    101 110   
    102 111   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/eval_using_user_input/.snapshots/TestRubyLangEvalUsingUserInput--unsafe_request.yml
    skipped 9 lines
    10 10   filename: unsafe_request.rb
    11 11   parent_line_number: 1
    12 12   snippet: RubyVM::InstructionSequence.compile(request.env["oops"])
     13 + fingerprint: 6150ae7e55ccb352eff3b4e31c127f18_0
    13 14   - rule:
    14 15   cwe_ids:
    15 16   - "94"
    skipped 5 lines
    21 22   filename: unsafe_request.rb
    22 23   parent_line_number: 3
    23 24   snippet: a.eval(request.env["oops"], "test")
     25 + fingerprint: 6150ae7e55ccb352eff3b4e31c127f18_1
    24 26   - rule:
    25 27   cwe_ids:
    26 28   - "94"
    skipped 5 lines
    32 34   filename: unsafe_request.rb
    33 35   parent_line_number: 5
    34 36   snippet: a.instance_eval(request.env["oops"])
     37 + fingerprint: 6150ae7e55ccb352eff3b4e31c127f18_2
    35 38   - rule:
    36 39   cwe_ids:
    37 40   - "94"
    skipped 5 lines
    43 46   filename: unsafe_request.rb
    44 47   parent_line_number: 7
    45 48   snippet: a.class_eval(request.env["oops"])
     49 + fingerprint: 6150ae7e55ccb352eff3b4e31c127f18_3
    46 50   - rule:
    47 51   cwe_ids:
    48 52   - "94"
    skipped 5 lines
    54 58   filename: unsafe_request.rb
    55 59   parent_line_number: 9
    56 60   snippet: a.module_eval(request.env["oops"])
     61 + fingerprint: 6150ae7e55ccb352eff3b4e31c127f18_4
    57 62   - rule:
    58 63   cwe_ids:
    59 64   - "94"
    skipped 5 lines
    65 70   filename: unsafe_request.rb
    66 71   parent_line_number: 11
    67 72   snippet: eval(request.env["oops"])
     73 + fingerprint: 6150ae7e55ccb352eff3b4e31c127f18_5
    68 74   - rule:
    69 75   cwe_ids:
    70 76   - "94"
    skipped 5 lines
    76 82   filename: unsafe_request.rb
    77 83   parent_line_number: 13
    78 84   snippet: instance_eval(request.env["oops"], "test")
     85 + fingerprint: 6150ae7e55ccb352eff3b4e31c127f18_6
    79 86   - rule:
    80 87   cwe_ids:
    81 88   - "94"
    skipped 5 lines
    87 94   filename: unsafe_request.rb
    88 95   parent_line_number: 15
    89 96   snippet: class_eval(request.env["oops"])
     97 + fingerprint: 6150ae7e55ccb352eff3b4e31c127f18_7
    90 98   - rule:
    91 99   cwe_ids:
    92 100   - "94"
    skipped 5 lines
    98 106   filename: unsafe_request.rb
    99 107   parent_line_number: 17
    100 108   snippet: module_eval(request.env["oops"])
     109 + fingerprint: 6150ae7e55ccb352eff3b4e31c127f18_8
    101 110   
    102 111   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/exception/.snapshots/TestRubyLangException--datatype_leak.yml
    skipped 10 lines
    11 11   - PII
    12 12   parent_line_number: 1
    13 13   snippet: raise CustomException.new(user.email)
     14 + fingerprint: 865a10823630b4befef09e4971d946ef_0
    14 15   - rule:
    15 16   cwe_ids:
    16 17   - "210"
    skipped 6 lines
    23 24   - PII
    24 25   parent_line_number: 2
    25 26   snippet: 'raise "User doesn''t exist #{user.email}"'
     27 + fingerprint: 865a10823630b4befef09e4971d946ef_1
    26 28   
    27 29   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/exec_using_user_input/.snapshots/TestRubyLangExecUsingUserInput--unsafe_shell.yml
    skipped 8 lines
    9 9   filename: unsafe_shell.rb
    10 10   parent_line_number: 3
    11 11   snippet: Shell.alias_command("foo", params[:oops]) {}
     12 + fingerprint: ac21c2128e3565dd6a8c92bae6213b0e_0
    12 13   - rule:
    13 14   cwe_ids:
    14 15   - "78"
    skipped 4 lines
    19 20   filename: unsafe_shell.rb
    20 21   parent_line_number: 4
    21 22   snippet: Shell::CommandProcessor.alias_command(x, "/bin/#{params[:oops]}") {}
     23 + fingerprint: ac21c2128e3565dd6a8c92bae6213b0e_1
    22 24   - rule:
    23 25   cwe_ids:
    24 26   - "78"
    skipped 4 lines
    29 31   filename: unsafe_shell.rb
    30 32   parent_line_number: 6
    31 33   snippet: Shell.def_system_command("foo", "bar", params[:oops]) {}
     34 + fingerprint: ac21c2128e3565dd6a8c92bae6213b0e_2
    32 35   - rule:
    33 36   cwe_ids:
    34 37   - "78"
    skipped 4 lines
    39 42   filename: unsafe_shell.rb
    40 43   parent_line_number: 7
    41 44   snippet: Shell::CommandProcessor.def_system_command("foo", params[:oops]) {}
     45 + fingerprint: ac21c2128e3565dd6a8c92bae6213b0e_3
    42 46   - rule:
    43 47   cwe_ids:
    44 48   - "78"
    skipped 4 lines
    49 53   filename: unsafe_shell.rb
    50 54   parent_line_number: 12
    51 55   snippet: processor1.system(params[:oops])
     56 + fingerprint: ac21c2128e3565dd6a8c92bae6213b0e_4
    52 57   - rule:
    53 58   cwe_ids:
    54 59   - "78"
    skipped 4 lines
    59 64   filename: unsafe_shell.rb
    60 65   parent_line_number: 15
    61 66   snippet: processor2.system(x, params[:oops])
     67 + fingerprint: ac21c2128e3565dd6a8c92bae6213b0e_5
    62 68   
    63 69   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/exec_using_user_input/.snapshots/TestRubyLangExecUsingUserInput--unsafe_stdlib.yml
    skipped 8 lines
    9 9   filename: unsafe_stdlib.rb
    10 10   parent_line_number: 3
    11 11   snippet: Kernel.exec(params[:oops])
     12 + fingerprint: 317e176e853b9f8a94cc0783303f5bdf_0
    12 13   - rule:
    13 14   cwe_ids:
    14 15   - "78"
    skipped 4 lines
    19 20   filename: unsafe_stdlib.rb
    20 21   parent_line_number: 5
    21 22   snippet: spawn(params[:oops])
     23 + fingerprint: 317e176e853b9f8a94cc0783303f5bdf_1
    22 24   - rule:
    23 25   cwe_ids:
    24 26   - "78"
    skipped 4 lines
    29 31   filename: unsafe_stdlib.rb
    30 32   parent_line_number: 7
    31 33   snippet: IO.popen(params[:oops]) {}
     34 + fingerprint: 317e176e853b9f8a94cc0783303f5bdf_2
    32 35   - rule:
    33 36   cwe_ids:
    34 37   - "78"
    skipped 4 lines
    39 42   filename: unsafe_stdlib.rb
    40 43   parent_line_number: 9
    41 44   snippet: Process.exec(params[:oops])
     45 + fingerprint: 317e176e853b9f8a94cc0783303f5bdf_3
    42 46   - rule:
    43 47   cwe_ids:
    44 48   - "78"
    skipped 4 lines
    49 53   filename: unsafe_stdlib.rb
    50 54   parent_line_number: 11
    51 55   snippet: Open3.popen3(["cmd", params[:oops]], "abc") {}
     56 + fingerprint: 317e176e853b9f8a94cc0783303f5bdf_4
    52 57   - rule:
    53 58   cwe_ids:
    54 59   - "78"
    skipped 4 lines
    59 64   filename: unsafe_stdlib.rb
    60 65   parent_line_number: 13
    61 66   snippet: Gem::Util.silent_system(x, params[:oops])
     67 + fingerprint: 317e176e853b9f8a94cc0783303f5bdf_5
    62 68   - rule:
    63 69   cwe_ids:
    64 70   - "78"
    skipped 4 lines
    69 75   filename: unsafe_stdlib.rb
    70 76   parent_line_number: 15
    71 77   snippet: PTY.spawn("/bin/#{params[:oops]}") {}
     78 + fingerprint: 317e176e853b9f8a94cc0783303f5bdf_6
    72 79   - rule:
    73 80   cwe_ids:
    74 81   - "78"
    skipped 4 lines
    79 86   filename: unsafe_stdlib.rb
    80 87   parent_line_number: 17
    81 88   snippet: '%x{/bin/#{params[:oops]}}'
     89 + fingerprint: 317e176e853b9f8a94cc0783303f5bdf_7
    82 90   - rule:
    83 91   cwe_ids:
    84 92   - "78"
    skipped 4 lines
    89 97   filename: unsafe_stdlib.rb
    90 98   parent_line_number: 19
    91 99   snippet: '`/bin/#{params[:oops]}`'
     100 + fingerprint: 317e176e853b9f8a94cc0783303f5bdf_8
    92 101   
    93 102   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/file_generation/.snapshots/TestRubyLangFileGeneration--datatype_in_csv_generate.yml
    skipped 16 lines
    17 17   user.first_name,
    18 18   user.last_name
    19 19   ]
     20 + fingerprint: 640b1c24d7bc341c81c9abf22fabadb4_0
    20 21   - rule:
    21 22   cwe_ids:
    22 23   - "532"
    skipped 12 lines
    35 36   user.first_name,
    36 37   user.last_name
    37 38   ]
     39 + fingerprint: 640b1c24d7bc341c81c9abf22fabadb4_1
    38 40   - rule:
    39 41   cwe_ids:
    40 42   - "532"
    skipped 12 lines
    53 55   user.first_name,
    54 56   user.last_name
    55 57   ]
     58 + fingerprint: 640b1c24d7bc341c81c9abf22fabadb4_2
    56 59   
    57 60   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/file_generation/.snapshots/TestRubyLangFileGeneration--datatype_in_csv_open.yml
    skipped 16 lines
    17 17   user.first_name,
    18 18   user.last_name
    19 19   ]
     20 + fingerprint: 8bd0e497c50734bec32b81e68648901d_0
    20 21   - rule:
    21 22   cwe_ids:
    22 23   - "532"
    skipped 12 lines
    35 36   user.first_name,
    36 37   user.last_name
    37 38   ]
     39 + fingerprint: 8bd0e497c50734bec32b81e68648901d_1
    38 40   - rule:
    39 41   cwe_ids:
    40 42   - "532"
    skipped 12 lines
    53 55   user.first_name,
    54 56   user.last_name
    55 57   ]
     58 + fingerprint: 8bd0e497c50734bec32b81e68648901d_2
    56 59   
    57 60   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/file_generation/.snapshots/TestRubyLangFileGeneration--datatype_in_file_open.yml
    skipped 11 lines
    12 12   - PII
    13 13   parent_line_number: 1
    14 14   snippet: 'f.write "#{Time.now} - User #{user.email} logged in\n"'
     15 + fingerprint: f3ee7677b663766b10489daba5394225_0
    15 16   - rule:
    16 17   cwe_ids:
    17 18   - "532"
    skipped 7 lines
    25 26   - PII
    26 27   parent_line_number: 5
    27 28   snippet: f.write "#{user.email},#{user.first_name},#{user.last_name}"
     29 + fingerprint: f3ee7677b663766b10489daba5394225_1
    28 30   
    29 31   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/file_generation/.snapshots/TestRubyLangFileGeneration--datatype_in_io_sysopen.yml
    skipped 11 lines
    12 12   - PII
    13 13   parent_line_number: 3
    14 14   snippet: 'a.puts "Hello, #{user.full_name}!"'
     15 + fingerprint: 76f934c16ac33c36f20bc09290f391db_0
    15 16   
    16 17   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/ftp_using_user_input/.snapshots/TestRubyLangFtpUsingUserInput--ok_not_unsafe.yml
    skipped 8 lines
    9 9   filename: ok_not_unsafe.rb
    10 10   parent_line_number: 1
    11 11   snippet: Net::FTP.new(x)
     12 + fingerprint: 109fb3f0c6318203ef1242e3e689294d_0
    12 13   - rule:
    13 14   cwe_ids:
    14 15   - "319"
    skipped 7 lines
    22 23   Net::FTP.open("example.com", username: "user") do
    23 24   
    24 25   end
     26 + fingerprint: 109fb3f0c6318203ef1242e3e689294d_1
    25 27   - rule:
    26 28   cwe_ids:
    27 29   - "319"
    skipped 4 lines
    32 34   filename: ok_not_unsafe.rb
    33 35   parent_line_number: 8
    34 36   snippet: Net::FTP.open("example.com")
     37 + fingerprint: 109fb3f0c6318203ef1242e3e689294d_2
    35 38   
    36 39   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/ftp_using_user_input/.snapshots/TestRubyLangFtpUsingUserInput--unsafe.yml
    skipped 8 lines
    9 9   filename: unsafe.rb
    10 10   parent_line_number: 1
    11 11   snippet: Net::FTP.new(params[:oops])
     12 + fingerprint: 8227f94cd757037c8b11ea06e98c47ce_0
    12 13   - rule:
    13 14   cwe_ids:
    14 15   - "22"
    skipped 7 lines
    22 23   Net::FTP.open("example.com", username: params[:user]) do
    23 24   
    24 25   end
     26 + fingerprint: 8227f94cd757037c8b11ea06e98c47ce_1
    25 27   - rule:
    26 28   cwe_ids:
    27 29   - "22"
    skipped 4 lines
    32 34   filename: unsafe.rb
    33 35   parent_line_number: 9
    34 36   snippet: ftp.puttextfile("local.txt", event["filename"])
     37 + fingerprint: 8227f94cd757037c8b11ea06e98c47ce_2
    35 38  low:
    36 39   - rule:
    37 40   cwe_ids:
    skipped 5 lines
    43 46   filename: unsafe.rb
    44 47   parent_line_number: 1
    45 48   snippet: Net::FTP.new(params[:oops])
     49 + fingerprint: 863474a5c4ef9934b5e020504475dd02_0
    46 50   - rule:
    47 51   cwe_ids:
    48 52   - "319"
    skipped 7 lines
    56 60   Net::FTP.open("example.com", username: params[:user]) do
    57 61   
    58 62   end
     63 + fingerprint: 863474a5c4ef9934b5e020504475dd02_1
    59 64   - rule:
    60 65   cwe_ids:
    61 66   - "319"
    skipped 4 lines
    66 71   filename: unsafe.rb
    67 72   parent_line_number: 8
    68 73   snippet: Net::FTP.open("example.com")
     74 + fingerprint: 863474a5c4ef9934b5e020504475dd02_2
    69 75   
    70 76   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/hardcoded_secret/.snapshots/TestRubyLangHardcodedSecret--bad.yml
    skipped 8 lines
    9 9   filename: bad.rb
    10 10   parent_line_number: 2
    11 11   snippet: PASSWORD = pw
     12 + fingerprint: 5f7e39d0cdab442a3dc6a21bb399641f_0
    12 13   - rule:
    13 14   cwe_ids:
    14 15   - "798"
    skipped 4 lines
    19 20   filename: bad.rb
    20 21   parent_line_number: 4
    21 22   snippet: 'api_key: "oops"'
     23 + fingerprint: 5f7e39d0cdab442a3dc6a21bb399641f_1
    22 24   - rule:
    23 25   cwe_ids:
    24 26   - "798"
    skipped 4 lines
    29 31   filename: bad.rb
    30 32   parent_line_number: 6
    31 33   snippet: '"secret" => "oops"'
     34 + fingerprint: 5f7e39d0cdab442a3dc6a21bb399641f_2
    32 35   - rule:
    33 36   cwe_ids:
    34 37   - "798"
    skipped 4 lines
    39 42   filename: bad.rb
    40 43   parent_line_number: 8
    41 44   snippet: 'API_KEY: "oops"'
     45 + fingerprint: 5f7e39d0cdab442a3dc6a21bb399641f_3
    42 46   - rule:
    43 47   cwe_ids:
    44 48   - "798"
    skipped 4 lines
    49 53   filename: bad.rb
    50 54   parent_line_number: 10
    51 55   snippet: '"secret" => "oops"'
     56 + fingerprint: 5f7e39d0cdab442a3dc6a21bb399641f_4
    52 57   
    53 58   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/http_get_params/.snapshots/TestRubyLangHttpGetParams--datatype_in_param_hash.yml
    skipped 10 lines
    11 11   - PII
    12 12   parent_line_number: 1
    13 13   snippet: 'HTTP.get("https://my.api.com/users/search", params: { user: { first_name: user.first_name } })'
     14 + fingerprint: 579a5de37607db8a47afc4385db02b1b_0
    14 15   
    15 16   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/http_get_params/.snapshots/TestRubyLangHttpGetParams--datatype_in_params.yml
    skipped 11 lines
    12 12   - Personal Data (Sensitive)
    13 13   parent_line_number: 1
    14 14   snippet: URI("https://my.api.com/users/search?ethnic_origin=#{user.ethnic_origin}")
     15 + fingerprint: f34fb10ce48303451898c1db1c78265d_1
    15 16  medium:
    16 17   - rule:
    17 18   cwe_ids:
    skipped 7 lines
    25 26   - PII
    26 27   parent_line_number: 3
    27 28   snippet: RestClient.get("https://my.api.com/users/search?first_name=#{user.first_name}")
     29 + fingerprint: f34fb10ce48303451898c1db1c78265d_0
    28 30   
    29 31   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/http_insecure/.snapshots/TestRubyLangHttpInsecure--insecure_curb.yml
    skipped 10 lines
    11 11   snippet: |-
    12 12   Curl.http("GET", "http://my.api.com/users/search", nil) do
    13 13   end
     14 + fingerprint: 2df37da4651da431f66aaf4af12f7223_0
    14 15   - rule:
    15 16   cwe_ids:
    16 17   - "319"
    skipped 4 lines
    21 22   filename: insecure_curb.rb
    22 23   parent_line_number: 6
    23 24   snippet: Curl.get("http://my.api.com/users/search") {}
     25 + fingerprint: 2df37da4651da431f66aaf4af12f7223_1
    24 26   - rule:
    25 27   cwe_ids:
    26 28   - "319"
    skipped 4 lines
    31 33   filename: insecure_curb.rb
    32 34   parent_line_number: 8
    33 35   snippet: Curl::Easy.perform("http://my.api.com/users/search") {}
     36 + fingerprint: 2df37da4651da431f66aaf4af12f7223_2
    34 37   - rule:
    35 38   cwe_ids:
    36 39   - "319"
    skipped 4 lines
    41 44   filename: insecure_curb.rb
    42 45   parent_line_number: 10
    43 46   snippet: Curl::Easy.new("http://my.api.com/users/search") {}
     47 + fingerprint: 2df37da4651da431f66aaf4af12f7223_3
    44 48   - rule:
    45 49   cwe_ids:
    46 50   - "319"
    skipped 4 lines
    51 55   filename: insecure_curb.rb
    52 56   parent_line_number: 11
    53 57   snippet: easy.url = "http://my.api.com/customers"
     58 + fingerprint: 2df37da4651da431f66aaf4af12f7223_4
    54 59   - rule:
    55 60   cwe_ids:
    56 61   - "319"
    skipped 4 lines
    61 66   filename: insecure_curb.rb
    62 67   parent_line_number: 14
    63 68   snippet: easy2.url = "http://my.api.com/users/search"
     69 + fingerprint: 2df37da4651da431f66aaf4af12f7223_5
    64 70   - rule:
    65 71   cwe_ids:
    66 72   - "319"
    skipped 4 lines
    71 77   filename: insecure_curb.rb
    72 78   parent_line_number: 16
    73 79   snippet: Curl::Multi.get(["https://my.api.com/secure", "http://my.api.com/users/search"], {}) {}
     80 + fingerprint: 2df37da4651da431f66aaf4af12f7223_6
    74 81   - rule:
    75 82   cwe_ids:
    76 83   - "319"
    skipped 4 lines
    81 88   filename: insecure_curb.rb
    82 89   parent_line_number: 18
    83 90   snippet: 'Curl::Multi.http([{ url: "http://my.api.com/users/search", method: :post }]) {}'
     91 + fingerprint: 2df37da4651da431f66aaf4af12f7223_7
    84 92   
    85 93   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/http_insecure/.snapshots/TestRubyLangHttpInsecure--insecure_excon.yml
    skipped 8 lines
    9 9   filename: insecure_excon.rb
    10 10   parent_line_number: 1
    11 11   snippet: 'Excon.new("http://my.api.com/insecure", foo: true)'
     12 + fingerprint: 55c11a2725f21f0f542b7b0a88988395_0
    12 13   - rule:
    13 14   cwe_ids:
    14 15   - "319"
    skipped 4 lines
    19 20   filename: insecure_excon.rb
    20 21   parent_line_number: 3
    21 22   snippet: 'Excon.get("http://my.api.com/insecure", foo: true)'
     23 + fingerprint: 55c11a2725f21f0f542b7b0a88988395_1
    22 24   
    23 25   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/http_insecure/.snapshots/TestRubyLangHttpInsecure--insecure_get.yml
    skipped 8 lines
    9 9   filename: insecure_get.rb
    10 10   parent_line_number: 1
    11 11   snippet: Faraday.get("http://api.insecure.com")
     12 + fingerprint: 1a4b09e6cdc1a4e2a3dfbc0c5b0e21ea_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/http_insecure/.snapshots/TestRubyLangHttpInsecure--insecure_net_http.yml
    skipped 8 lines
    9 9   filename: insecure_net_http.rb
    10 10   parent_line_number: 3
    11 11   snippet: Net::HTTP.post_form("http://my.api.com/users/search")
     12 + fingerprint: 3bf618c5f169740a6892f6784db0e242_0
    12 13   - rule:
    13 14   cwe_ids:
    14 15   - "319"
    skipped 6 lines
    21 22   snippet: |-
    22 23   Net::HTTP.start("http://my.api.com/users/search") do
    23 24   end
     25 + fingerprint: 3bf618c5f169740a6892f6784db0e242_1
    24 26   - rule:
    25 27   cwe_ids:
    26 28   - "319"
    skipped 4 lines
    31 33   filename: insecure_net_http.rb
    32 34   parent_line_number: 8
    33 35   snippet: 'Net::HTTP::Get.new("http://my.api.com/users/search", { "X-Test": 42 })'
     36 + fingerprint: 3bf618c5f169740a6892f6784db0e242_2
    34 37   
    35 38   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/http_insecure/.snapshots/TestRubyLangHttpInsecure--insecure_post.yml
    skipped 8 lines
    9 9   filename: insecure_post.rb
    10 10   parent_line_number: 1
    11 11   snippet: Faraday.post("http://api.insecure.com")
     12 + fingerprint: f5d6fb5a4467a3f9c1ed683b5de914e7_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/http_insecure/.snapshots/TestRubyLangHttpInsecure--uri_encode_form.yml
    skipped 8 lines
    9 9   filename: uri_encode_form.rb
    10 10   parent_line_number: 1
    11 11   snippet: URI('http://my.api.com/users/search')
     12 + fingerprint: bbe07548be64ce691181b569676555bd_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/http_post_insecure_with_data/.snapshots/TestRubyLangHttpPostInsecureWithData--insecure_post_form_with_datatype.yml
    skipped 10 lines
    11 11   - PII
    12 12   parent_line_number: 1
    13 13   snippet: 'Net::HTTP.post_form("http://my.api.com/users/search", email: user.email)'
     14 + fingerprint: 77b5d28f826f72f969f4cb7b2d6e9897_0
    14 15   - rule:
    15 16   cwe_ids:
    16 17   - "319"
    skipped 6 lines
    23 24   - PII
    24 25   parent_line_number: 1
    25 26   snippet: 'Net::HTTP.post_form("http://my.api.com/users/search", email: user.email)'
     27 + fingerprint: bc934c346ffa45c50d2798c4e415c59d_0
    26 28   
    27 29   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/http_post_insecure_with_data/.snapshots/TestRubyLangHttpPostInsecureWithData--insecure_post_with_datatype.yml
    skipped 10 lines
    11 11   - PII
    12 12   parent_line_number: 1
    13 13   snippet: 'HTTParty.post("http://my.api.com/users/search", body: user.email)'
     14 + fingerprint: af7407290413bad61047495bd97d57e3_0
    14 15   - rule:
    15 16   cwe_ids:
    16 17   - "319"
    skipped 6 lines
    23 24   - PII
    24 25   parent_line_number: 1
    25 26   snippet: 'HTTParty.post("http://my.api.com/users/search", body: user.email)'
     27 + fingerprint: 5272c5e5d1d1a391129e0aa195cd8b17_0
    26 28   
    27 29   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/http_url_using_user_input/.snapshots/TestRubyLangHttpUrlUsingUserInput--ok_not_unsafe.yml
    skipped 8 lines
    9 9   filename: ok_not_unsafe.rb
    10 10   parent_line_number: 20
    11 11   snippet: 'Excon.new("http://example.com", path: x)'
     12 + fingerprint: 383cd073c91171518af16d1d7821ff9f_0
    12 13   - rule:
    13 14   cwe_ids:
    14 15   - "319"
    skipped 4 lines
    19 20   filename: ok_not_unsafe.rb
    20 21   parent_line_number: 34
    21 22   snippet: 'Excon.post("http://example.com", path: x)'
     23 + fingerprint: 383cd073c91171518af16d1d7821ff9f_1
    22 24   - rule:
    23 25   cwe_ids:
    24 26   - "319"
    skipped 4 lines
    29 31   filename: ok_not_unsafe.rb
    30 32   parent_line_number: 40
    31 33   snippet: Net::HTTP.post_form("http://#{x}/users/search")
     34 + fingerprint: 383cd073c91171518af16d1d7821ff9f_2
    32 35   
    33 36   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/http_url_using_user_input/.snapshots/TestRubyLangHttpUrlUsingUserInput--unsafe_curb.yml
    skipped 10 lines
    11 11   snippet: |-
    12 12   Curl.http("GET", params[:oops], nil) do
    13 13   end
     14 + fingerprint: da818badaa39c626cb60c11f307ce208_0
    14 15   - rule:
    15 16   cwe_ids:
    16 17   - "918"
    skipped 4 lines
    21 22   filename: unsafe_curb.rb
    22 23   parent_line_number: 6
    23 24   snippet: Curl.get(params[:oops]) {}
     25 + fingerprint: da818badaa39c626cb60c11f307ce208_1
    24 26   - rule:
    25 27   cwe_ids:
    26 28   - "918"
    skipped 4 lines
    31 33   filename: unsafe_curb.rb
    32 34   parent_line_number: 8
    33 35   snippet: Curl::Easy.perform(params[:oops]) {}
     36 + fingerprint: da818badaa39c626cb60c11f307ce208_2
    34 37   - rule:
    35 38   cwe_ids:
    36 39   - "918"
    skipped 4 lines
    41 44   filename: unsafe_curb.rb
    42 45   parent_line_number: 10
    43 46   snippet: Curl::Easy.new(params[:oops]) {}
     47 + fingerprint: da818badaa39c626cb60c11f307ce208_3
    44 48   - rule:
    45 49   cwe_ids:
    46 50   - "918"
    skipped 4 lines
    51 55   filename: unsafe_curb.rb
    52 56   parent_line_number: 11
    53 57   snippet: easy.url = params[:oops2]
     58 + fingerprint: da818badaa39c626cb60c11f307ce208_4
    54 59   - rule:
    55 60   cwe_ids:
    56 61   - "918"
    skipped 4 lines
    61 66   filename: unsafe_curb.rb
    62 67   parent_line_number: 14
    63 68   snippet: easy2.url = params[:oops]
     69 + fingerprint: da818badaa39c626cb60c11f307ce208_5
    64 70   - rule:
    65 71   cwe_ids:
    66 72   - "918"
    skipped 4 lines
    71 77   filename: unsafe_curb.rb
    72 78   parent_line_number: 16
    73 79   snippet: Curl::Multi.get(["https://my.api.com/secure", params[:oops]], {}) {}
     80 + fingerprint: da818badaa39c626cb60c11f307ce208_6
    74 81   - rule:
    75 82   cwe_ids:
    76 83   - "918"
    skipped 4 lines
    81 88   filename: unsafe_curb.rb
    82 89   parent_line_number: 18
    83 90   snippet: 'Curl::Multi.http([{ url: params[:oops], method: :post }]) {}'
     91 + fingerprint: da818badaa39c626cb60c11f307ce208_7
    84 92   
    85 93   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/http_url_using_user_input/.snapshots/TestRubyLangHttpUrlUsingUserInput--unsafe_excon.yml
    skipped 8 lines
    9 9   filename: unsafe_excon.rb
    10 10   parent_line_number: 1
    11 11   snippet: 'Excon.new(params[:oops], foo: true)'
     12 + fingerprint: 63bcfc0b3d24f39cb3ca63b8637c6162_0
    12 13   - rule:
    13 14   cwe_ids:
    14 15   - "918"
    skipped 4 lines
    19 20   filename: unsafe_excon.rb
    20 21   parent_line_number: 2
    21 22   snippet: 'Excon.new("http://example.com", path: params[:oops])'
     23 + fingerprint: 63bcfc0b3d24f39cb3ca63b8637c6162_1
    22 24   - rule:
    23 25   cwe_ids:
    24 26   - "918"
    skipped 4 lines
    29 31   filename: unsafe_excon.rb
    30 32   parent_line_number: 4
    31 33   snippet: 'Excon::Connection.new(host: params[:oops])'
     34 + fingerprint: 63bcfc0b3d24f39cb3ca63b8637c6162_2
    32 35   - rule:
    33 36   cwe_ids:
    34 37   - "918"
    skipped 4 lines
    39 42   filename: unsafe_excon.rb
    40 43   parent_line_number: 5
    41 44   snippet: 'Excon::Connection.new(hostname: params[:oops])'
     45 + fingerprint: 63bcfc0b3d24f39cb3ca63b8637c6162_3
    42 46   - rule:
    43 47   cwe_ids:
    44 48   - "918"
    skipped 4 lines
    49 53   filename: unsafe_excon.rb
    50 54   parent_line_number: 6
    51 55   snippet: 'Excon::Connection.new(path: params[:oops])'
     56 + fingerprint: 63bcfc0b3d24f39cb3ca63b8637c6162_4
    52 57   - rule:
    53 58   cwe_ids:
    54 59   - "918"
    skipped 4 lines
    59 64   filename: unsafe_excon.rb
    60 65   parent_line_number: 7
    61 66   snippet: 'Excon::Connection.new(port: params[:oops])'
     67 + fingerprint: 63bcfc0b3d24f39cb3ca63b8637c6162_5
    62 68   - rule:
    63 69   cwe_ids:
    64 70   - "918"
    skipped 4 lines
    69 75   filename: unsafe_excon.rb
    70 76   parent_line_number: 9
    71 77   snippet: 'connection.post(path: params[:oops])'
     78 + fingerprint: 63bcfc0b3d24f39cb3ca63b8637c6162_6
    72 79   - rule:
    73 80   cwe_ids:
    74 81   - "918"
    skipped 4 lines
    79 86   filename: unsafe_excon.rb
    80 87   parent_line_number: 11
    81 88   snippet: 'connection2.request(path: params[:oops])'
     89 + fingerprint: 63bcfc0b3d24f39cb3ca63b8637c6162_7
    82 90   - rule:
    83 91   cwe_ids:
    84 92   - "918"
    skipped 4 lines
    89 97   filename: unsafe_excon.rb
    90 98   parent_line_number: 13
    91 99   snippet: 'connection3.requests([{ :method => :get, path: params[:oops] }])'
     100 + fingerprint: 63bcfc0b3d24f39cb3ca63b8637c6162_8
    92 101   - rule:
    93 102   cwe_ids:
    94 103   - "918"
    skipped 4 lines
    99 108   filename: unsafe_excon.rb
    100 109   parent_line_number: 15
    101 110   snippet: Excon.get(params[:oops])
     111 + fingerprint: 63bcfc0b3d24f39cb3ca63b8637c6162_9
    102 112   - rule:
    103 113   cwe_ids:
    104 114   - "918"
    skipped 4 lines
    109 119   filename: unsafe_excon.rb
    110 120   parent_line_number: 16
    111 121   snippet: 'Excon.post("http://example.com", path: params[:oops])'
     122 + fingerprint: 63bcfc0b3d24f39cb3ca63b8637c6162_10
    112 123  low:
    113 124   - rule:
    114 125   cwe_ids:
    skipped 5 lines
    120 131   filename: unsafe_excon.rb
    121 132   parent_line_number: 2
    122 133   snippet: 'Excon.new("http://example.com", path: params[:oops])'
     134 + fingerprint: 51826efb8873069dab7166379abc47d8_0
    123 135   - rule:
    124 136   cwe_ids:
    125 137   - "319"
    skipped 4 lines
    130 142   filename: unsafe_excon.rb
    131 143   parent_line_number: 16
    132 144   snippet: 'Excon.post("http://example.com", path: params[:oops])'
     145 + fingerprint: 51826efb8873069dab7166379abc47d8_1
    133 146   
    134 147   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/http_url_using_user_input/.snapshots/TestRubyLangHttpUrlUsingUserInput--unsafe_get.yml
    skipped 8 lines
    9 9   filename: unsafe_get.rb
    10 10   parent_line_number: 1
    11 11   snippet: Faraday.get(params[:oops])
     12 + fingerprint: 92a4d85c724b164eb2ef93755d9d8ad4_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/http_url_using_user_input/.snapshots/TestRubyLangHttpUrlUsingUserInput--unsafe_net_http.yml
    skipped 8 lines
    9 9   filename: unsafe_net_http.rb
    10 10   parent_line_number: 3
    11 11   snippet: Net::HTTP.post_form("http://#{params[:oops]}/users/search")
     12 + fingerprint: d7e95ef774e486e9ed6deb86c1f22c5e_0
    12 13   - rule:
    13 14   cwe_ids:
    14 15   - "918"
    skipped 7 lines
    22 23   Net::HTTP.start(params[:host]) do |instance1|
    23 24   instance1.head(params[:path])
    24 25   end
     26 + fingerprint: d7e95ef774e486e9ed6deb86c1f22c5e_1
    25 27   - rule:
    26 28   cwe_ids:
    27 29   - "918"
    skipped 4 lines
    32 34   filename: unsafe_net_http.rb
    33 35   parent_line_number: 6
    34 36   snippet: instance1.head(params[:path])
     37 + fingerprint: d7e95ef774e486e9ed6deb86c1f22c5e_2
    35 38   - rule:
    36 39   cwe_ids:
    37 40   - "918"
    skipped 4 lines
    42 45   filename: unsafe_net_http.rb
    43 46   parent_line_number: 9
    44 47   snippet: 'Net::HTTP::Get.new(params[:oops], { "X-Test": 42 })'
     48 + fingerprint: d7e95ef774e486e9ed6deb86c1f22c5e_3
    45 49   - rule:
    46 50   cwe_ids:
    47 51   - "918"
    skipped 4 lines
    52 56   filename: unsafe_net_http.rb
    53 57   parent_line_number: 11
    54 58   snippet: Net::HTTP.start(params[:oops])
     59 + fingerprint: d7e95ef774e486e9ed6deb86c1f22c5e_4
    55 60   - rule:
    56 61   cwe_ids:
    57 62   - "918"
    skipped 4 lines
    62 67   filename: unsafe_net_http.rb
    63 68   parent_line_number: 12
    64 69   snippet: instance2.ipaddr = request.env[:oops]
     70 + fingerprint: d7e95ef774e486e9ed6deb86c1f22c5e_5
    65 71   - rule:
    66 72   cwe_ids:
    67 73   - "918"
    skipped 4 lines
    72 78   filename: unsafe_net_http.rb
    73 79   parent_line_number: 13
    74 80   snippet: instance2.send_request("GET", params[:oops], nil)
     81 + fingerprint: d7e95ef774e486e9ed6deb86c1f22c5e_6
    75 82   - rule:
    76 83   cwe_ids:
    77 84   - "918"
    skipped 4 lines
    82 89   filename: unsafe_net_http.rb
    83 90   parent_line_number: 15
    84 91   snippet: Net::HTTP.new(params[:oops])
     92 + fingerprint: d7e95ef774e486e9ed6deb86c1f22c5e_7
    85 93   - rule:
    86 94   cwe_ids:
    87 95   - "918"
    skipped 4 lines
    92 100   filename: unsafe_net_http.rb
    93 101   parent_line_number: 16
    94 102   snippet: instance3.patch(params[:path])
     103 + fingerprint: d7e95ef774e486e9ed6deb86c1f22c5e_8
    95 104   - rule:
    96 105   cwe_ids:
    97 106   - "918"
    skipped 4 lines
    102 111   filename: unsafe_net_http.rb
    103 112   parent_line_number: 18
    104 113   snippet: instance4.post(request.env[:oops])
     114 + fingerprint: d7e95ef774e486e9ed6deb86c1f22c5e_9
    105 115  low:
    106 116   - rule:
    107 117   cwe_ids:
    skipped 5 lines
    113 123   filename: unsafe_net_http.rb
    114 124   parent_line_number: 3
    115 125   snippet: Net::HTTP.post_form("http://#{params[:oops]}/users/search")
     126 + fingerprint: 71635572f6c2736df1473f18c62a4464_0
    116 127   
    117 128   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/http_url_using_user_input/.snapshots/TestRubyLangHttpUrlUsingUserInput--unsafe_post.yml
    skipped 8 lines
    9 9   filename: unsafe_post.rb
    10 10   parent_line_number: 1
    11 11   snippet: Faraday.post(params[:oops])
     12 + fingerprint: 0fb264051314da6648d8c781340da923_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/insecure_ftp/.snapshots/TestRubyLangInsecureFtp--ftp_new.yml
    skipped 10 lines
    11 11   - PII
    12 12   parent_line_number: 8
    13 13   snippet: Net::FTP.new("ftp.ruby-lang.org")
     14 + fingerprint: 062194ccfa9c06ad0d4e9904900e3877_0
    14 15   
    15 16   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/insecure_ftp/.snapshots/TestRubyLangInsecureFtp--ftp_open.yml
    skipped 14 lines
    15 15   files = ftp.list('n*')
    16 16   ftp.getbinaryfile('nif.rb-0.91.gz', 'nif.gz', 1024)
    17 17   end
     18 + fingerprint: b8e9482850ee7c7a95a458362e2f224d_0
    18 19   
    19 20   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/insecure_ftp/.snapshots/TestRubyLangInsecureFtp--ftp_open_with_datatype.yml
    skipped 21 lines
    22 22   file.close!
    23 23   end
    24 24   end
     25 + fingerprint: 9216dc42897b21b951350ad3b2eef2b1_0
    25 26   
    26 27   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/jwt/.snapshots/TestRubyLangJwt--datatype_in_jwt.yml
    skipped 10 lines
    11 11   - PII
    12 12   parent_line_number: 1
    13 13   snippet: JWT.encode user.address, nil, "none"
     14 + fingerprint: 19adccb3dfd7120b5c2428755885153c_0
    14 15   
    15 16   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/jwt/.snapshots/TestRubyLangJwt--datatype_object_in_jwt.yml
    skipped 10 lines
    11 11   - PII
    12 12   parent_line_number: 6
    13 13   snippet: JWT.encode(payload, ENV.fetch("SECRET_KEY"))
     14 + fingerprint: aca904d7e3ea640d8731a1c880d8d489_0
    14 15   
    15 16   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/jwt/.snapshots/TestRubyLangJwt--datatypes_with_encrypted_jwt.yml
    skipped 10 lines
    11 11   - PII
    12 12   parent_line_number: 2
    13 13   snippet: 'JWT.encode({ user: current_user.email }, private_key, ''HS256'', {})'
     14 + fingerprint: 5e7436068f843fa9eea7a6cf286b1077_0
    14 15   - rule:
    15 16   cwe_ids:
    16 17   - "315"
    skipped 6 lines
    23 24   - PII
    24 25   parent_line_number: 4
    25 26   snippet: 'JWT.encode({ user: current_user.email }, ENV["SECRET_KEY"])'
     27 + fingerprint: 5e7436068f843fa9eea7a6cf286b1077_1
    26 28   - rule:
    27 29   cwe_ids:
    28 30   - "315"
    skipped 6 lines
    35 37   - PII
    36 38   parent_line_number: 6
    37 39   snippet: 'JWT.encode({ user_name: user.name }, Rails.application.secret_key_base)'
     40 + fingerprint: 5e7436068f843fa9eea7a6cf286b1077_2
    38 41   
    39 42   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/logger/.snapshots/TestRubyLangLogger--datatype_leak.yml
    skipped 11 lines
    12 12   - PII
    13 13   parent_line_number: 1
    14 14   snippet: logger.info(user.email)
     15 + fingerprint: 1a2fb99cf829ec6b123fb1507c882b8b_0
    15 16   
    16 17   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/path_using_user_input/.snapshots/TestRubyLangPathUsingUserInput--unsafe_event.yml
    skipped 9 lines
    10 10   filename: unsafe_event.rb
    11 11   parent_line_number: 2
    12 12   snippet: 'Dir["foo", base: event["oops"]]'
     13 + fingerprint: e1d843263981fc379f819368579af3eb_0
    13 14   - rule:
    14 15   cwe_ids:
    15 16   - "22"
    skipped 5 lines
    21 22   filename: unsafe_event.rb
    22 23   parent_line_number: 4
    23 24   snippet: Dir.chdir("/home/#{event["oops"]}")
     25 + fingerprint: e1d843263981fc379f819368579af3eb_1
    24 26   - rule:
    25 27   cwe_ids:
    26 28   - "22"
    skipped 5 lines
    32 34   filename: unsafe_event.rb
    33 35   parent_line_number: 6
    34 36   snippet: File.exist?(event["oops"])
     37 + fingerprint: e1d843263981fc379f819368579af3eb_2
    35 38   - rule:
    36 39   cwe_ids:
    37 40   - "22"
    skipped 5 lines
    43 46   filename: unsafe_event.rb
    44 47   parent_line_number: 8
    45 48   snippet: IO.readlines("/home/#{event["oops"]}")
     49 + fingerprint: e1d843263981fc379f819368579af3eb_3
    46 50   - rule:
    47 51   cwe_ids:
    48 52   - "22"
    skipped 7 lines
    56 60   snippet: |-
    57 61   Kernel.open(event["oops"], "w+") do
    58 62   end
     63 + fingerprint: e1d843263981fc379f819368579af3eb_4
    59 64   - rule:
    60 65   cwe_ids:
    61 66   - "22"
    skipped 5 lines
    67 72   filename: unsafe_event.rb
    68 73   parent_line_number: 13
    69 74   snippet: open(event["oops"])
     75 + fingerprint: e1d843263981fc379f819368579af3eb_5
    70 76   - rule:
    71 77   cwe_ids:
    72 78   - "22"
    skipped 5 lines
    78 84   filename: unsafe_event.rb
    79 85   parent_line_number: 15
    80 86   snippet: PStore.new(event["oops"])
     87 + fingerprint: e1d843263981fc379f819368579af3eb_6
    81 88   - rule:
    82 89   cwe_ids:
    83 90   - "22"
    skipped 5 lines
    89 96   filename: unsafe_event.rb
    90 97   parent_line_number: 17
    91 98   snippet: Pathname.new(event["oops"])
     99 + fingerprint: e1d843263981fc379f819368579af3eb_7
    92 100   - rule:
    93 101   cwe_ids:
    94 102   - "22"
    skipped 5 lines
    100 108   filename: unsafe_event.rb
    101 109   parent_line_number: 18
    102 110   snippet: path + event["two"]
     111 + fingerprint: e1d843263981fc379f819368579af3eb_8
    103 112   - rule:
    104 113   cwe_ids:
    105 114   - "22"
    skipped 5 lines
    111 120   filename: unsafe_event.rb
    112 121   parent_line_number: 19
    113 122   snippet: path / event["two"]
     123 + fingerprint: e1d843263981fc379f819368579af3eb_9
    114 124   - rule:
    115 125   cwe_ids:
    116 126   - "22"
    skipped 5 lines
    122 132   filename: unsafe_event.rb
    123 133   parent_line_number: 20
    124 134   snippet: path.join("a", event["three"])
     135 + fingerprint: e1d843263981fc379f819368579af3eb_10
    125 136   
    126 137   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/path_using_user_input/.snapshots/TestRubyLangPathUsingUserInput--unsafe_params.yml
    skipped 9 lines
    10 10   filename: unsafe_params.rb
    11 11   parent_line_number: 1
    12 12   snippet: 'Dir["foo", base: params[:oops]]'
     13 + fingerprint: 6f8801902ec5f070e313ae5cb0f96344_0
    13 14   - rule:
    14 15   cwe_ids:
    15 16   - "22"
    skipped 5 lines
    21 22   filename: unsafe_params.rb
    22 23   parent_line_number: 3
    23 24   snippet: Dir.chdir("/home/#{params[:oops]}")
     25 + fingerprint: 6f8801902ec5f070e313ae5cb0f96344_1
    24 26   - rule:
    25 27   cwe_ids:
    26 28   - "22"
    skipped 5 lines
    32 34   filename: unsafe_params.rb
    33 35   parent_line_number: 5
    34 36   snippet: File.exist?(params[:oops])
     37 + fingerprint: 6f8801902ec5f070e313ae5cb0f96344_2
    35 38   - rule:
    36 39   cwe_ids:
    37 40   - "22"
    skipped 5 lines
    43 46   filename: unsafe_params.rb
    44 47   parent_line_number: 7
    45 48   snippet: IO.readlines("/home/#{params[:oops]}")
     49 + fingerprint: 6f8801902ec5f070e313ae5cb0f96344_3
    46 50   - rule:
    47 51   cwe_ids:
    48 52   - "22"
    skipped 7 lines
    56 60   snippet: |-
    57 61   Kernel.open(params[:oops], "w+") do
    58 62   end
     63 + fingerprint: 6f8801902ec5f070e313ae5cb0f96344_4
    59 64   - rule:
    60 65   cwe_ids:
    61 66   - "22"
    skipped 5 lines
    67 72   filename: unsafe_params.rb
    68 73   parent_line_number: 12
    69 74   snippet: open(params[:oops])
     75 + fingerprint: 6f8801902ec5f070e313ae5cb0f96344_5
    70 76   - rule:
    71 77   cwe_ids:
    72 78   - "22"
    skipped 5 lines
    78 84   filename: unsafe_params.rb
    79 85   parent_line_number: 14
    80 86   snippet: PStore.new(params[:oops])
     87 + fingerprint: 6f8801902ec5f070e313ae5cb0f96344_6
    81 88   - rule:
    82 89   cwe_ids:
    83 90   - "22"
    skipped 5 lines
    89 96   filename: unsafe_params.rb
    90 97   parent_line_number: 16
    91 98   snippet: Pathname.new(params[:oops])
     99 + fingerprint: 6f8801902ec5f070e313ae5cb0f96344_7
    92 100   - rule:
    93 101   cwe_ids:
    94 102   - "22"
    skipped 5 lines
    100 108   filename: unsafe_params.rb
    101 109   parent_line_number: 17
    102 110   snippet: path + params[:two]
     111 + fingerprint: 6f8801902ec5f070e313ae5cb0f96344_8
    103 112   - rule:
    104 113   cwe_ids:
    105 114   - "22"
    skipped 5 lines
    111 120   filename: unsafe_params.rb
    112 121   parent_line_number: 18
    113 122   snippet: path / params[:three]
     123 + fingerprint: 6f8801902ec5f070e313ae5cb0f96344_9
    114 124   - rule:
    115 125   cwe_ids:
    116 126   - "22"
    skipped 5 lines
    122 132   filename: unsafe_params.rb
    123 133   parent_line_number: 19
    124 134   snippet: path.join("a", params[:four])
     135 + fingerprint: 6f8801902ec5f070e313ae5cb0f96344_10
    125 136   - rule:
    126 137   cwe_ids:
    127 138   - "22"
    skipped 5 lines
    133 144   filename: unsafe_params.rb
    134 145   parent_line_number: 21
    135 146   snippet: Rails.root.join(params[:oops])
     147 + fingerprint: 6f8801902ec5f070e313ae5cb0f96344_11
    136 148   - rule:
    137 149   cwe_ids:
    138 150   - "22"
    skipped 5 lines
    144 156   filename: unsafe_params.rb
    145 157   parent_line_number: 23
    146 158   snippet: Gem::Util.traverse_parents(params[:oops]) {}
     159 + fingerprint: 6f8801902ec5f070e313ae5cb0f96344_12
    147 160   
    148 161   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/path_using_user_input/.snapshots/TestRubyLangPathUsingUserInput--unsafe_rails.yml
    skipped 9 lines
    10 10   filename: unsafe_rails.rb
    11 11   parent_line_number: 1
    12 12   snippet: Rails.root.join(params[:oops])
     13 + fingerprint: e16ead13c18a8b386d17acceb46fd0e2_0
    13 14   - rule:
    14 15   cwe_ids:
    15 16   - "22"
    skipped 5 lines
    21 22   filename: unsafe_rails.rb
    22 23   parent_line_number: 3
    23 24   snippet: 'render(partial: params[:oops])'
     25 + fingerprint: e16ead13c18a8b386d17acceb46fd0e2_1
    24 26   - rule:
    25 27   cwe_ids:
    26 28   - "22"
    skipped 5 lines
    32 34   filename: unsafe_rails.rb
    33 35   parent_line_number: 4
    34 36   snippet: 'render_to_string({ file: "/templates/#{params[:oops]}" })'
     37 + fingerprint: e16ead13c18a8b386d17acceb46fd0e2_2
    35 38   - rule:
    36 39   cwe_ids:
    37 40   - "22"
    skipped 5 lines
    43 46   filename: unsafe_rails.rb
    44 47   parent_line_number: 6
    45 48   snippet: 'send_file params[:oops], type: "text/html"'
     49 + fingerprint: e16ead13c18a8b386d17acceb46fd0e2_3
    46 50   
    47 51   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/path_using_user_input/.snapshots/TestRubyLangPathUsingUserInput--unsafe_request.yml
    skipped 9 lines
    10 10   filename: unsafe_request.rb
    11 11   parent_line_number: 1
    12 12   snippet: 'Dir["foo", base: request.env[:oops]]'
     13 + fingerprint: 89bd6bf8a581031b477b5953c7a3bb28_0
    13 14   - rule:
    14 15   cwe_ids:
    15 16   - "22"
    skipped 5 lines
    21 22   filename: unsafe_request.rb
    22 23   parent_line_number: 3
    23 24   snippet: Dir.chdir("/home/#{request.env[:oops]}")
     25 + fingerprint: 89bd6bf8a581031b477b5953c7a3bb28_1
    24 26   - rule:
    25 27   cwe_ids:
    26 28   - "22"
    skipped 5 lines
    32 34   filename: unsafe_request.rb
    33 35   parent_line_number: 5
    34 36   snippet: File.exist?(request.env[:oops])
     37 + fingerprint: 89bd6bf8a581031b477b5953c7a3bb28_2
    35 38   - rule:
    36 39   cwe_ids:
    37 40   - "22"
    skipped 5 lines
    43 46   filename: unsafe_request.rb
    44 47   parent_line_number: 7
    45 48   snippet: IO.readlines("/home/#{request.env[:oops]}")
     49 + fingerprint: 89bd6bf8a581031b477b5953c7a3bb28_3
    46 50   - rule:
    47 51   cwe_ids:
    48 52   - "22"
    skipped 7 lines
    56 60   snippet: |-
    57 61   Kernel.open(request.env[:oops], "w+") do
    58 62   end
     63 + fingerprint: 89bd6bf8a581031b477b5953c7a3bb28_4
    59 64   - rule:
    60 65   cwe_ids:
    61 66   - "22"
    skipped 5 lines
    67 72   filename: unsafe_request.rb
    68 73   parent_line_number: 12
    69 74   snippet: open(request.env[:oops])
     75 + fingerprint: 89bd6bf8a581031b477b5953c7a3bb28_5
    70 76   - rule:
    71 77   cwe_ids:
    72 78   - "22"
    skipped 5 lines
    78 84   filename: unsafe_request.rb
    79 85   parent_line_number: 14
    80 86   snippet: PStore.new(request.env[:oops])
     87 + fingerprint: 89bd6bf8a581031b477b5953c7a3bb28_6
    81 88   - rule:
    82 89   cwe_ids:
    83 90   - "22"
    skipped 5 lines
    89 96   filename: unsafe_request.rb
    90 97   parent_line_number: 16
    91 98   snippet: Pathname.new(request.env[:oops])
     99 + fingerprint: 89bd6bf8a581031b477b5953c7a3bb28_7
    92 100   - rule:
    93 101   cwe_ids:
    94 102   - "22"
    skipped 5 lines
    100 108   filename: unsafe_request.rb
    101 109   parent_line_number: 17
    102 110   snippet: path + request.headers[:oops]
     111 + fingerprint: 89bd6bf8a581031b477b5953c7a3bb28_8
    103 112   - rule:
    104 113   cwe_ids:
    105 114   - "22"
    skipped 5 lines
    111 120   filename: unsafe_request.rb
    112 121   parent_line_number: 18
    113 122   snippet: path / request.query_parameters[:oops]
     123 + fingerprint: 89bd6bf8a581031b477b5953c7a3bb28_9
    114 124   - rule:
    115 125   cwe_ids:
    116 126   - "22"
    skipped 5 lines
    122 132   filename: unsafe_request.rb
    123 133   parent_line_number: 19
    124 134   snippet: path.join("a", request.body)
     135 + fingerprint: 89bd6bf8a581031b477b5953c7a3bb28_10
    125 136   
    126 137   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/path_using_user_input/.snapshots/TestRubyLangPathUsingUserInput--unsafe_shell.yml
    skipped 9 lines
    10 10   filename: unsafe_shell.rb
    11 11   parent_line_number: 3
    12 12   snippet: Shell.cd(params[:oops])
     13 + fingerprint: 34290eaa9921a15e05281b0a9f850e49_0
    13 14   - rule:
    14 15   cwe_ids:
    15 16   - "22"
    skipped 5 lines
    21 22   filename: unsafe_shell.rb
    22 23   parent_line_number: 5
    23 24   snippet: Shell.default_system_path = params[:oops]
     25 + fingerprint: 34290eaa9921a15e05281b0a9f850e49_1
    24 26   - rule:
    25 27   cwe_ids:
    26 28   - "22"
    skipped 5 lines
    32 34   filename: unsafe_shell.rb
    33 35   parent_line_number: 7
    34 36   snippet: Shell.new(params[:oops], umask)
     37 + fingerprint: 34290eaa9921a15e05281b0a9f850e49_2
    35 38   - rule:
    36 39   cwe_ids:
    37 40   - "22"
    skipped 5 lines
    43 46   filename: unsafe_shell.rb
    44 47   parent_line_number: 9
    45 48   snippet: shell.pushdir(params[:oops], true)
     49 + fingerprint: 34290eaa9921a15e05281b0a9f850e49_3
    46 50   - rule:
    47 51   cwe_ids:
    48 52   - "22"
    skipped 5 lines
    54 58   filename: unsafe_shell.rb
    55 59   parent_line_number: 12
    56 60   snippet: processor1.foreach(params[:oops], rs) {}
     61 + fingerprint: 34290eaa9921a15e05281b0a9f850e49_4
    57 62   - rule:
    58 63   cwe_ids:
    59 64   - "22"
    skipped 5 lines
    65 70   filename: unsafe_shell.rb
    66 71   parent_line_number: 15
    67 72   snippet: processor2.test(:exists?, x, params[:oops])
     73 + fingerprint: 34290eaa9921a15e05281b0a9f850e49_5
    68 74   - rule:
    69 75   cwe_ids:
    70 76   - "22"
    skipped 5 lines
    76 82   filename: unsafe_shell.rb
    77 83   parent_line_number: 17
    78 84   snippet: processor2[:exists?, x, params[:oops], y]
     85 + fingerprint: 34290eaa9921a15e05281b0a9f850e49_6
    79 86   - rule:
    80 87   cwe_ids:
    81 88   - "22"
    skipped 5 lines
    87 94   filename: unsafe_shell.rb
    88 95   parent_line_number: 20
    89 96   snippet: test(:exists?, params[:oops])
     97 + fingerprint: 34290eaa9921a15e05281b0a9f850e49_7
    90 98   - rule:
    91 99   cwe_ids:
    92 100   - "22"
    skipped 5 lines
    98 106   filename: unsafe_shell.rb
    99 107   parent_line_number: 24
    100 108   snippet: Shell.new(params[:oops])
     109 + fingerprint: 34290eaa9921a15e05281b0a9f850e49_8
    101 110   
    102 111   
  • ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/reflection_using_user_input/.snapshots/TestRubyLangReflectionUsingUserInput--unsafe_rails.yml
    skipped 8 lines
    9 9   filename: unsafe_rails.rb
    10 10   parent_line_number: 1
    11 11   snippet: params[:class].constantize
     12 + fingerprint: 156357da0ed173828518abd1d8558374_0
    12 13   
    13 14   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/reflection_using_user_input/.snapshots/TestRubyLangReflectionUsingUserInput--unsafe_stdlib.yml
    skipped 8 lines
    9 9   filename: unsafe_stdlib.rb
    10 10   parent_line_number: 1
    11 11   snippet: Object.const_get(params[:class])
     12 + fingerprint: ee293268391c14ee59c7cd9e36e078c0_0
    12 13   - rule:
    13 14   cwe_ids:
    14 15   - "94"
    skipped 4 lines
    19 20   filename: unsafe_stdlib.rb
    20 21   parent_line_number: 2
    21 22   snippet: Object.const_set(params[:class], 42)
     23 + fingerprint: ee293268391c14ee59c7cd9e36e078c0_1
    22 24   - rule:
    23 25   cwe_ids:
    24 26   - "94"
    skipped 4 lines
    29 31   filename: unsafe_stdlib.rb
    30 32   parent_line_number: 3
    31 33   snippet: Object.remove_const(params[:class])
     34 + fingerprint: ee293268391c14ee59c7cd9e36e078c0_2
    32 35   - rule:
    33 36   cwe_ids:
    34 37   - "94"
    skipped 4 lines
    39 42   filename: unsafe_stdlib.rb
    40 43   parent_line_number: 5
    41 44   snippet: method(params[:method])
     45 + fingerprint: ee293268391c14ee59c7cd9e36e078c0_3
    42 46   - rule:
    43 47   cwe_ids:
    44 48   - "94"
    skipped 4 lines
    49 53   filename: unsafe_stdlib.rb
    50 54   parent_line_number: 7
    51 55   snippet: x.define_method(params[:method]) {}
     56 + fingerprint: ee293268391c14ee59c7cd9e36e078c0_4
    52 57   - rule:
    53 58   cwe_ids:
    54 59   - "94"
    skipped 4 lines
    59 64   filename: unsafe_stdlib.rb
    60 65   parent_line_number: 9
    61 66   snippet: params[:method].to_sym.to_proc
     67 + fingerprint: ee293268391c14ee59c7cd9e36e078c0_5
    62 68   - rule:
    63 69   cwe_ids:
    64 70   - "94"
    skipped 4 lines
    69 75   filename: unsafe_stdlib.rb
    70 76   parent_line_number: 11
    71 77   snippet: bad_things(&params[:method].to_sym)
     78 + fingerprint: ee293268391c14ee59c7cd9e36e078c0_6
    72 79   - rule:
    73 80   cwe_ids:
    74 81   - "94"
    skipped 4 lines
    79 86   filename: unsafe_stdlib.rb
    80 87   parent_line_number: 12
    81 88   snippet: x.bad_things(&params[:method].to_sym)
     89 + fingerprint: ee293268391c14ee59c7cd9e36e078c0_7
    82 90   
    83 91   
  • ■ ■ ■ ■ ■ ■
    pkg/commands/process/settings/rules/ruby/lang/regex_using_user_input/.snapshots/TestRubyLangRegexUsingUserInput--unsafe.yml
    skipped 8 lines
    9 9   filename: unsafe.rb
    10 10   parent_line_number: 1
    11 11   snippet: /#{params[:oops]}.*/
     12 + fingerprint: 1e8ee47f5cc7f8e0addb596acc3642ab_0
    12 13   - rule:
    13 14   cwe_ids:
    14 15   - "1333"
    skipped 4 lines
    19 20   filename: unsafe.rb
    20 21   parent_line_number: 3
    21 22   snippet: '%r{abc#{params[:oops]}def}'
     23 + fingerprint: 1e8ee47f5cc7f8e0addb596acc3642ab_1
    22 24   - rule:
    23 25   cwe_ids:
    24 26   - "1333"
    skipped 4 lines
    29 31   filename: unsafe.rb
    30 32   parent_line_number: 5
    31 33   snippet: Regexp.new(params[:oops])
     34 + fingerprint: 1e8ee47f5cc7f8e0addb596acc3642ab_2
    32 35   
    33 36   
Please wait...
Page is in error, reload to recover