Bird
Raised Fist0
GCPcloud~30 mins

Container vulnerability scanning in GCP - Mini Project: Build & Apply

Choose your learning style10 modes available
Container Vulnerability Scanning on Google Cloud Platform
📖 Scenario: You are working as a cloud engineer for a company that deploys containerized applications on Google Cloud Platform (GCP). To keep the applications secure, you need to set up container vulnerability scanning using Google Container Registry (GCR) and Google Cloud Build.This project will guide you step-by-step to configure vulnerability scanning for your container images stored in GCR.
🎯 Goal: By the end of this project, you will have configured a Google Cloud Build trigger that automatically scans container images pushed to Google Container Registry for vulnerabilities.
📋 What You'll Learn
Create a Google Cloud Build trigger configuration file in YAML format
Specify the container image repository to scan
Enable vulnerability scanning in the build trigger
Add the final configuration to deploy the trigger
💡 Why This Matters
🌍 Real World
Container vulnerability scanning helps prevent deploying insecure container images by automatically checking for known security issues before deployment.
💼 Career
Cloud engineers and DevOps professionals use container vulnerability scanning to maintain secure cloud-native applications and comply with security best practices.
Progress0 / 4 steps
1
Create the initial Cloud Build trigger configuration
Create a YAML file named cloudbuild.yaml with a steps list containing one step. The step should have a name field set to gcr.io/cloud-builders/gcloud and an args list with the single string "container images list-tags gcr.io/my-project/my-app".
GCP
Hint

Start by defining the steps key with a list containing one step. Use the exact image name and args as specified.

2
Add a substitution variable for the image repository
Add a substitutions section to the YAML file with a key _IMAGE_REPO set to gcr.io/my-project/my-app.
GCP
Hint

Add the substitutions key at the root level with the exact variable name and value.

3
Add the vulnerability scanning step using the substitution variable
Add a new step to the steps list. This step should have name set to gcr.io/cloud-builders/gcloud and args set to a list with these strings exactly: "container images describe $_IMAGE_REPO --show-package-vulnerability".
GCP
Hint

Add the new step exactly as shown, using the substitution variable $_IMAGE_REPO in the args list.

4
Add the trigger configuration to deploy the build trigger
Create a YAML file named trigger.yaml with a triggerTemplate section that has projectId set to my-project and repoName set to my-repo. Also add filename set to cloudbuild.yaml and name set to vulnerability-scan-trigger.
GCP
Hint

Define the trigger configuration exactly as specified to deploy the Cloud Build trigger.

Practice

(1/5)
1. What is the main purpose of container vulnerability scanning in Google Cloud Platform?
easy
A. To find security issues in container images before deployment
B. To increase the speed of container startup
C. To reduce the size of container images
D. To monitor container CPU usage

Solution

  1. Step 1: Understand container vulnerability scanning

    It is a process to detect security problems in container images.
  2. Step 2: Identify the main goal in GCP context

    GCP uses scanning to find vulnerabilities before containers run, keeping apps safe.
  3. Final Answer:

    To find security issues in container images before deployment -> Option A
  4. Quick Check:

    Purpose = Find security issues [OK]
Hint: Focus on security purpose, not performance or size [OK]
Common Mistakes:
  • Confusing scanning with performance monitoring
  • Thinking scanning reduces image size
  • Assuming scanning manages CPU usage
2. Which gcloud command correctly scans a container image named gcr.io/my-project/my-image:latest for vulnerabilities?
easy
A. gcloud container images describe gcr.io/my-project/my-image:latest --show-vulnerabilities
B. gcloud container images scan gcr.io/my-project/my-image:latest
C. gcloud container images list-tags gcr.io/my-project/my-image:latest --vulnerabilities
D. gcloud container images scan-vulnerabilities gcr.io/my-project/my-image:latest

Solution

  1. Step 1: Recall correct gcloud syntax for vulnerability scanning

    The command to view vulnerabilities is gcloud container images describe with --show-vulnerabilities.
  2. Step 2: Check each option's validity

    gcloud container images describe gcr.io/my-project/my-image:latest --show-vulnerabilities matches the correct syntax; others are invalid or do not exist.
  3. Final Answer:

    gcloud container images describe gcr.io/my-project/my-image:latest --show-vulnerabilities -> Option A
  4. Quick Check:

    Correct command = describe + --show-vulnerabilities [OK]
Hint: Use 'describe' with '--show-vulnerabilities' to scan images [OK]
Common Mistakes:
  • Using non-existent 'scan' command
  • Confusing 'list-tags' with scanning
  • Omitting the '--show-vulnerabilities' flag
3. Given the command gcloud container images describe gcr.io/my-project/app:1.0 --show-vulnerabilities, what output should you expect if the image has no vulnerabilities?
medium
A. A list of vulnerabilities with severity levels
B. An error saying image not found
C. A summary of image size and tags only
D. An empty vulnerabilities section or message indicating no issues

Solution

  1. Step 1: Understand the command's purpose

    The command shows vulnerability details for the specified image.
  2. Step 2: Predict output when no vulnerabilities exist

    The output will show an empty vulnerabilities section or a message indicating no issues found.
  3. Final Answer:

    An empty vulnerabilities section or message indicating no issues -> Option D
  4. Quick Check:

    No vulnerabilities = empty or no issues message [OK]
Hint: No vulnerabilities means empty or no issues message [OK]
Common Mistakes:
  • Expecting a list when none exist
  • Confusing errors with no vulnerabilities
  • Looking for unrelated image metadata
4. You run gcloud container images describe gcr.io/my-project/app:latest --show-vulnerabilities= but get an error: ERROR: (gcloud.container.images.describe) argument --show-vulnerabilities: Expected bool value. What is the likely cause?
medium
A. The image name is incorrect
B. You need to authenticate with gcloud first
C. You forgot to provide a value for --show-vulnerabilities flag
D. The command does not support vulnerability scanning

Solution

  1. Step 1: Analyze the error message

    The error says the flag --show-vulnerabilities expects a boolean value (true or false).
  2. Step 2: Identify the command mistake

    The flag was used without specifying true or false, causing the error.
  3. Final Answer:

    You forgot to provide a value for --show-vulnerabilities flag -> Option C
  4. Quick Check:

    Flag needs true/false value [OK]
Hint: Always provide true or false for boolean flags [OK]
Common Mistakes:
  • Omitting the boolean value for flags
  • Assuming image name causes this error
  • Ignoring authentication errors
5. You want to automate vulnerability scanning for all container images pushed to your GCP project. Which approach best ensures every new image is scanned automatically?
hard
A. Manually run gcloud container images describe --show-vulnerabilities after each push
B. Set up Container Analysis API for automatic scanning of images on push
C. Use Stackdriver logs to detect image pushes and scan images manually
D. Schedule a daily cron job to scan all images regardless of push events

Solution

  1. Step 1: Understand automation needs for scanning

    Automatic scanning requires integration with image push events.
  2. Step 2: Evaluate options for automatic scanning

    Container Analysis API automatically scans images on push, ensuring no image is missed.
  3. Step 3: Compare alternatives

    Manual commands or cron jobs are less efficient and risk missing images or delays.
  4. Final Answer:

    Set up Container Analysis API for automatic scanning of images on push -> Option B
  5. Quick Check:

    Automate scanning on push = Container Analysis API [OK]
Hint: Use triggers to scan images automatically on push [OK]
Common Mistakes:
  • Relying on manual scanning after push
  • Using logs instead of triggers for automation
  • Scheduling scans without event triggers
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard