Sha256: 7c94bd2693f7fd90213a3ef6fc04b47fc352dd255cefd5752df615f142c9557c

Contents?: true

Size: 1.56 KB

Versions: 15

Compression:

Stored size: 1.56 KB

Contents

module KubeAutoAnalyzer

  #This is somewhat awkward placement.  Deployment mechanism sits more with the agent checks
  #But from a "what it's looking for" perspective, as a weakness in Kubelet, it makes more sense here.
  def self.test_service_token_internal
    require 'json'

    @log.debug("Doing the internal Service Token check")
    target = @options.target_server
    @results[target]['vulns']['service_token'] = Hash.new
    api_server_url = @client.api_endpoint.to_s
    container_name = "kaakubeletunauthtest"
    pod = Kubeclient::Resource.new
    pod.metadata = {}
    pod.metadata.name = container_name
    pod.metadata.namespace = "default"
    pod.spec = {}
    pod.spec.restartPolicy = "Never"
    pod.spec.containers = {}
    pod.spec.containers = [{name: "kubeautoanalyzerservicetokentest", image: "raesene/kaa-agent:latest"}]
    pod.spec.containers[0].args = ["/service-token-checker.rb",api_server_url]
    begin
      @log.debug("About to start Service Token Check pod")
      @client.create_pod(pod)
      @log.debug("Executed the create pod")
      begin
        sleep(5) until @client.get_pod(container_name,"default")['status']['containerStatuses'][0]['state']['terminated']['reason'] == "Completed"
      rescue
        retry
      end
      @log.debug ("started Service Token Check pod")
      results = JSON.parse(@client.get_pod_log(container_name,"default"))
      results.each do |node, results|
        @results[target]['vulns']['service_token'][api_server_url] = results
      end
    ensure
      @client.delete_pod(container_name,"default")
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
kube_auto_analyzer-0.0.17 lib/kube_auto_analyzer/vuln_checks/service_token.rb
kube_auto_analyzer-0.0.16 lib/kube_auto_analyzer/vuln_checks/service_token.rb
kube_auto_analyzer-0.0.15 lib/kube_auto_analyzer/vuln_checks/service_token.rb
kube_auto_analyzer-0.0.14 lib/kube_auto_analyzer/vuln_checks/service_token.rb
kube_auto_analyzer-0.0.13 lib/kube_auto_analyzer/vuln_checks/service_token.rb
kube_auto_analyzer-0.0.12 lib/kube_auto_analyzer/vuln_checks/service_token.rb
kube_auto_analyzer-0.0.11 lib/kube_auto_analyzer/vuln_checks/service_token.rb
kube_auto_analyzer-0.0.10 lib/kube_auto_analyzer/vuln_checks/service_token.rb
kube_auto_analyzer-0.0.9 lib/kube_auto_analyzer/vuln_checks/service_token.rb
kube_auto_analyzer-0.0.8 lib/kube_auto_analyzer/vuln_checks/service_token.rb
kube_auto_analyzer-0.0.7 lib/kube_auto_analyzer/vuln_checks/service_token.rb
kube_auto_analyzer-0.0.6 lib/kube_auto_analyzer/vuln_checks/service_token.rb
kube_auto_analyzer-0.0.5 lib/kube_auto_analyzer/vuln_checks/service_token.rb
kube_auto_analyzer-0.0.4 lib/kube_auto_analyzer/vuln_checks/service_token.rb
kube_auto_analyzer-0.0.3 lib/kube_auto_analyzer/vuln_checks/service_token.rb