Class: Platforms::Bitbucket

Inherits:
Object
  • Object
show all
Includes:
SharedPatterns
Defined in:
lib/platforms/bitbucket.rb

Constant Summary

Constants included from SharedPatterns

SharedPatterns::PASSWORD_PATTERN, SharedPatterns::SAFE_VALUE_PATTERN, SharedPatterns::SECRET_PATTERNS

Instance Method Summary collapse

Methods included from SharedPatterns

#find_all_lines, #find_line, #line_content, #scan_for_hardcoded_secrets, #scan_for_missing_timeout

Constructor Details

#initialize(content, filename: "bitbucket-pipelines.yml") ⇒ Bitbucket

Returns a new instance of Bitbucket.



8
9
10
11
12
13
14
15
16
# File 'lib/platforms/bitbucket.rb', line 8

def initialize(content, filename: "bitbucket-pipelines.yml")
    @content = content
    @filename = filename
    @data = YAML.safe_load(content, permitted_classes: [Symbol]) || {}
    @lines = content.lines
rescue YAML::SyntaxError
    @data = {}
    @lines = []
end

Instance Method Details

#scanObject



18
19
20
21
22
23
24
25
# File 'lib/platforms/bitbucket.rb', line 18

def scan
    findings = []
    findings.concat(check_script_injection)
    findings.concat(check_unpinned_pipes)
    findings.concat(check_max_time)
    findings.concat(check_hardcoded_secrets)
    findings.sort
end