Skip to content

fix(container): bump Python base image to 3.12.16 - #13215

Merged
pedrooot merged 1 commit into
masterfrom
fix/sdk-python-3.12.16
Oct 30, 2026
Merged

pedrooot merged 1 commit into
masterfrom
fix/sdk-python-3.12.16

Conversation

@pedrooot

@pedrooot pedrooot commented Oct 30, 2026 •

Copy link
Copy Markdown
Member

Context

The SDK and API container images are built on python:3.12.15-slim-trixie. The Grype database now flags the bundled CPython 3.12.15 interpreter with a critical CVE fixed in 3.12.16, so sdk-container-build-and-scan fails on every PR that builds the image, regardless of what the PR changes. The API image uses the same base and is affected the same way.

Description

Both Dockerfile and api/Dockerfile move to python:3.12.16-slim-trixie, pinned by its multi-arch index digest. Nothing else in the images changes. One changelog fragment is added for the SDK and one for the API.

Steps to review

Build the SDK image and scan it the way CI does:

docker build -t prowler:py31216 .
grype prowler:py31216 --only-fixed --by-cve

Locally the scan reports no critical or high findings and the Python CVE is gone; docker run --rm --entrypoint python prowler:py31216 --version prints Python 3.12.16.

Checklist

Community Checklist

SDK/CLI

  • Are there new checks included in this PR? No
    • If so, do we need to update permissions for the provider? Please review this carefully.

UI

  • All issue/task requirements work as expected on the UI
  • If this PR adds or updates npm dependencies, include package-health evidence (maintenance, popularity, known vulnerabilities, license, release age) and explain why existing/native alternatives are insufficient.
  • Screenshots/Video of the functionality flow (if applicable) - Mobile (X < 640px)
  • Screenshots/Video of the functionality flow (if applicable) - Table (640px > X < 1024px)
  • Screenshots/Video of the functionality flow (if applicable) - Desktop (X > 1024px)
  • Ensure a changelog fragment is added under ui/changelog.d/, if applicable.

API

  • All issue/task requirements work as expected on the API
  • Endpoint response output (if applicable)
  • EXPLAIN ANALYZE output for new/modified queries or indexes (if applicable)
  • Performance test results (if applicable)
  • Any other relevant evidence of the implementation (if applicable)
  • Verify if API specs need to be regenerated.
  • Check if version updates are required (e.g., specs, uv, etc.).
  • Ensure a changelog fragment is added under api/changelog.d/, if applicable.

MCP Server

  • All issue/task requirements work as expected on the MCP Server
  • Ensure a changelog fragment is added under mcp_server/changelog.d/, if applicable.

License

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Summary by CodeRabbit

  • Security
    • Updated the Python runtime used by the API and SDK container images from 3.12.15 to 3.12.16, including a fix for CVE-2026-115557. This update helps keep these container environments protected against the reported vulnerability.

@pedrooot
pedrooot requested a review from a team as a code owner October 30, 2026 11:29
Copilot AI balanced review requested due to automatic review settings October 30, 2026 11:29

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.

@github-actions

Copy link
Copy Markdown
Contributor

✅ All required changelog fragments are present.

@github-actions

Copy link
Copy Markdown
Contributor

✅ No Conflicts

No conflict markers, and the branch merges cleanly into its base.

@coderabbitai

coderabbitai Bot commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 95f46511-6ed7-44d2-9d33-ce2b62afe22d
Commits

Reviewing files that changed from the base of the PR and between 0088647 and ac28936.

Files selected for processing: 4
  • Dockerfile
  • api/Dockerfile
  • api/changelog.d/api-python-3.12.16.security.md
  • prowler/changelog.d/sdk-python-3.12.16.security.md

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 8 remain after this review.

Walkthrough

The root and API Docker build stages now use Python 3.12.16 slim Trixie images pinned to updated digests. Changelog entries record the API and SDK image updates and identify CVE-2026-115557 as patched.

Changes: Python image update

Layer / File(s) Summary
Base image pins and changelog entries
Dockerfile, api/Dockerfile, api/changelog.d/api-python-3.12.16.security.md, prowler/changelog.d/sdk-python-3.12.16.security.md
The root and API Dockerfiles use Python 3.12.16 slim Trixie images with updated pinned digests. The API and SDK changelogs identify CVE-2026-115557 as patched.

Priority: Normal

Estimated code review effort: 2 (Simple) | ~10 minutes

Suggested reviewers: alejandrobailo

Merge Risk: Minimal · up to ac289

The Python patch update has no identified merge-blocking issue and is mergeable subject to normal build and image checks.

Pre-merge checks: Passed 5
Check name Status Explanation
Title check Passed The title clearly and concisely describes the main change: updating the container Python base image to version 3.12.16.
Description check Passed The description includes the required context, change summary, review steps, checklist, and license confirmation. It also documents the SDK and API changelog fragments and reports validation results f…
Docstring Coverage Passed No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Description check

Explanation

The description includes the required context, change summary, review steps, checklist, and license confirmation. It also documents the SDK and API changelog fragments and reports validation results for the SDK image.

Full details: Docstring Coverage

Explanation

No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 0 functions across 0 files. (4 skipped: 4 unsupported.)

Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown
Contributor

🔒 Container Security Scan

Image: prowler:e7b4c6e
Last scan: 2026-10-30 11:33:57 UTC

✅ No Vulnerabilities Detected

The container image passed all security checks. No known CVEs were found.

📋 Resources:

@github-actions

Copy link
Copy Markdown
Contributor

🔒 Container Security Scan

Image: prowler-api:e7b4c6e
Last scan: 2026-10-30 11:34:11 UTC

✅ No Vulnerabilities Detected

The container image passed all security checks. No known CVEs were found.

📋 Resources:

@github-actions

Copy link
Copy Markdown
Contributor

🔎 Container Security Scan (Grype)

Image: prowler:e7b4c6e
Last scan: 2026-10-30 11:35:53 UTC

✅ Nothing Blocking

No findings at critical or high severity.

Not blocking at this cutoff — medium: 21, low: 7, negligible: 1.

82 finding(s) excluded by .grype.yaml, each with a documented reason.


📋 Resources:

@codecov

codecov Bot commented Oct 30, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 93.37%. Comparing base (6999bba) to head (ac28936).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master   #13215      +/-   ##
==========================================
+ Coverage   90.56%   93.37%   +2.80%     
==========================================
  Files        2569      319    -2250     
  Lines      126090    46502   -79588     
==========================================
- Hits       114191    43419   -70772     
+ Misses      11899     3083    -8816     
Flag Coverage Δ
api 94.88% <ø> (ø)
prowler-py3.10-aws ?
prowler-py3.10-azure ?
prowler-py3.10-config ?
prowler-py3.10-e2enetworks ?
prowler-py3.10-external ?
prowler-py3.10-gcp ?
prowler-py3.10-github ?
prowler-py3.10-googleworkspace ?
prowler-py3.10-huaweicloud ?
prowler-py3.10-iac ?
prowler-py3.10-kubernetes ?
prowler-py3.10-lib ?
prowler-py3.10-linode ?
prowler-py3.10-m365 ?
prowler-py3.10-mongodbatlas ?
prowler-py3.10-nhn ?
prowler-py3.10-okta ?
prowler-py3.10-openstack ?
prowler-py3.10-oraclecloud ?
prowler-py3.10-scaleway ?
prowler-py3.10-stackit ?
prowler-py3.10-vercel ?
prowler-py3.11-aws ?
prowler-py3.11-azure ?
prowler-py3.11-config ?
prowler-py3.11-e2enetworks ?
prowler-py3.11-external ?
prowler-py3.11-gcp ?
prowler-py3.11-github ?
prowler-py3.11-googleworkspace ?
prowler-py3.11-huaweicloud ?
prowler-py3.11-iac ?
prowler-py3.11-kubernetes ?
prowler-py3.11-lib ?
prowler-py3.11-linode ?
prowler-py3.11-m365 ?
prowler-py3.11-mongodbatlas ?
prowler-py3.11-nhn ?
prowler-py3.11-okta ?
prowler-py3.11-openstack ?
prowler-py3.11-oraclecloud ?
prowler-py3.11-scaleway ?
prowler-py3.11-stackit ?
prowler-py3.11-vercel ?
prowler-py3.12-aws ?
prowler-py3.12-azure ?
prowler-py3.12-config ?
prowler-py3.12-e2enetworks ?
prowler-py3.12-external ?
prowler-py3.12-gcp ?
prowler-py3.12-github ?
prowler-py3.12-googleworkspace ?
prowler-py3.12-huaweicloud ?
prowler-py3.12-iac ?
prowler-py3.12-kubernetes ?
prowler-py3.12-lib ?
prowler-py3.12-linode ?
prowler-py3.12-m365 ?
prowler-py3.12-mongodbatlas ?
prowler-py3.12-nhn ?
prowler-py3.12-okta ?
prowler-py3.12-openstack ?
prowler-py3.12-oraclecloud ?
prowler-py3.12-scaleway ?
prowler-py3.12-stackit ?
prowler-py3.12-vercel ?
prowler-py3.13-aws ?
prowler-py3.13-azure ?
prowler-py3.13-config ?
prowler-py3.13-e2enetworks ?
prowler-py3.13-external ?
prowler-py3.13-gcp ?
prowler-py3.13-github ?
prowler-py3.13-googleworkspace ?
prowler-py3.13-huaweicloud ?
prowler-py3.13-iac ?
prowler-py3.13-kubernetes ?
prowler-py3.13-lib ?
prowler-py3.13-linode ?
prowler-py3.13-m365 ?
prowler-py3.13-mongodbatlas ?
prowler-py3.13-nhn ?
prowler-py3.13-okta ?
prowler-py3.13-openstack ?
prowler-py3.13-oraclecloud ?
prowler-py3.13-scaleway ?
prowler-py3.13-stackit ?
prowler-py3.13-vercel ?

Flags with carried forward coverage won't be shown. Click here to find out more.

Components Coverage Δ
prowler ∅ <ø> (∅)
api 94.88% <ø> (ø)
mcp_server 69.29% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions

Copy link
Copy Markdown
Contributor

🔎 Container Security Scan (Grype)

Image: prowler-api:e7b4c6e
Last scan: 2026-10-30 11:36:32 UTC

✅ Nothing Blocking

No findings at critical or high severity.

Not blocking at this cutoff — medium: 21, low: 7, negligible: 1.

60 finding(s) excluded by .grype.yaml, each with a documented reason.


📋 Resources:

@pedrooot
pedrooot merged commit f64e5e1 into master Oct 30, 2026
52 checks passed
@pedrooot
pedrooot deleted the fix/sdk-python-3.12.16 branch October 30, 2026 11:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants