Skip to content
GitLab
Next
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • GitLab GitLab
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 44,761
    • Issues 44,761
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 1,332
    • Merge requests 1,332
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GitLab.orgGitLab.org
  • GitLabGitLab
  • Issues
  • #12752
Closed
Open
Issue created Jul 10, 2019 by Philippe Lafoucrière@plafoucriereMaintainer0 of 10 checklist items completed0/10 checklist items

SAST for Kubernetes manifests

Problem to solve

Kubernetes manifests should be checked for sensitive data, especially pods definitions. Secrets should be encrypted. Privileges checked. PodSecurityPolicies are useful at runtime, but they're not enough. That's why we should run SAST on K8S yaml files.

Intended users

  • Devon (DevOps Engineer)
  • Sidney (Systems Administrator)

Further details

https://kubesec.io/ is now opensource, and available as a docker image. We should use it to scan repos container kubernetes manifests.

Proposal

Detect yaml files in repos, and analyze their content to determine if they're manifests (maybe look for specific keys and values like apiVersion: v1, kind: Pod, etc.). We'll have to tweak the output of kubesec to fit our format.

Permissions and Security

N/A

Documentation

Update https://docs.gitlab.com/ee/user/application_security/sast/index.html
Update https://gitlab.com/gitlab-org/security-products/sast/blob/master/docs/analyzers.md#analyzers-data

Testing

E2E tests like for any other sast analyzer.

What does success look like, and how can we measure that?

Users get security insights for their kubernetes manifests.

What is the type of buyer?

GitLab Ultimate

Links / references

/cc @twoodham @kencjohnston

Analyzer Checklist

Underlying tool

  • Has permissive software license
  • Headless execution (CLI tool)
  • Executable using GitLab Runner's Linux or Windows Docker executor
  • Language identification method (file extension, package file, etc)

Minimal vulnerability data

  • name
  • description (helpful but not mandatory)
  • type (unique value to avoid collisions with other occurrences)
  • file path
  • line number

Product

  • release post
Edited Dec 07, 2019 by Nicole Schwartz
Assignee
Assign to
Time tracking