Skip to content

Conversation

@andreyvelich
Copy link
Member

@andreyvelich andreyvelich commented Jul 10, 2025

Part of: #858, #851

This is initial Kubeflow Security Self-Assessment document required for CNCF graduation.

Source: https://tag-security.cncf.io/community/assessments/guide/self-assessment/#project-compliance

The document structure is similar to Knative and KServe self-assessments.

/hold for review

/assign @kubeflow/kubeflow-steering-committee @kubeflow/wg-training-leads @kubeflow/wg-pipeline-leads @kubeflow/wg-notebooks-leads @kubeflow/wg-manifests-leads @kubeflow/wg-data-leads @kubeflow/red-hat @kubeflow/wg-automl-leads @castrojo @kubeflow/kubeflow-outreach-committee

@google-oss-prow google-oss-prow bot requested review from akgraner and kimwnasptd July 10, 2025 18:54
@andreyvelich andreyvelich changed the title Kubeflow Security Self Assessment feat(docs): Kubeflow Security Self Assessment Jul 10, 2025
Signed-off-by: Andrey Velichkevich <[email protected]>
## Get Involved

- **Join** the [CNCF Slack Workspace](https://www.kubeflow.org/docs/about/community/#kubeflow-slack-channels) and the [`#kubeflow-platform`](https://app.slack.com/client/T08PSQ7BQ/C073W572LA2) channel.
- **Attend** the _Kubeflow Manifests WG_ meeting ([meeting notes](https://docs.google.com/document/d/1je_qzoJCAVXndxeJAgA8cdugvYZfsgrAi7HP_WDeUN0/edit), [community calendar](https://www.kubeflow.org/docs/about/community/#kubeflow-community-calendars)).
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
- **Attend** the _Kubeflow Manifests WG_ meeting ([meeting notes](https://docs.google.com/document/d/1je_qzoJCAVXndxeJAgA8cdugvYZfsgrAi7HP_WDeUN0/edit), [community calendar](https://www.kubeflow.org/docs/about/community/#kubeflow-community-calendars)).
- **Attend** the _Kubeflow Platform (manifests & security) WG_ meeting ([meeting notes](https://docs.google.com/document/d/1je_qzoJCAVXndxeJAgA8cdugvYZfsgrAi7HP_WDeUN0/edit), [community calendar](https://www.kubeflow.org/docs/about/community/#kubeflow-community-calendars)).

Copy link
Member Author

Choose a reason for hiding this comment

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

@juliusvonkohout We haven't established the Platform or Security WG yet as part of this discussion: #837

Can we agree on the new WG, SIG, or Committee, and update the README after it ?

cc @kimwnasptd @thesuperzapper

Copy link
Member

Choose a reason for hiding this comment

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

This i also how we call the meeting on the website and calendar entry.

Copy link
Member Author

Choose a reason for hiding this comment

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

Yes, but we haven't established this working group yet. Can we officially create this working group here, and then update this doc ?

Copy link
Member

Choose a reason for hiding this comment

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

Done #896 CC @kimwnasptd

Comment on lines +34 to +66
<table>
<thead>
<tr>
<th>Name</th>
<th>Information</th>
</tr>
</thead>
<tbody>
<tr>
<td>Assessment Stage</td>
<td>Incomplete</td>
</tr>
<tr>
<td>Software</td>
<td>
<a href="https://github.com/kubeflow/spark-operator">Kubeflow Spark Operator</a>,
<a href="https://github.com/kubeflow/notebooks">Kubeflow Notebooks</a>,
<a href="https://github.com/kubeflow/trainer">Kubeflow Trainer</a>,
<a href="https://github.com/kubeflow/katib">Kubeflow Katib</a>,
<a href="https://github.com/kubeflow/model-registry">Kubeflow Model Registry</a>,
<a href="https://github.com/kubeflow/pipelines">Kubeflow Pipelines</a>
</td>
</tr>
<tr>
<td>Security Provider?</td>
<td>No. Kubeflow projects are not security providers</td>
</tr>
<tr>
<td>Languages</td>
<td>Python, Go, TypeScript</td>
</tr>
</tbody>
</table>
Copy link
Member

@juliusvonkohout juliusvonkohout Jul 16, 2025

Choose a reason for hiding this comment

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

May we use a compact markdown table ?

Suggested change
<table>
<thead>
<tr>
<th>Name</th>
<th>Information</th>
</tr>
</thead>
<tbody>
<tr>
<td>Assessment Stage</td>
<td>Incomplete</td>
</tr>
<tr>
<td>Software</td>
<td>
<a href="https://github.com/kubeflow/spark-operator">Kubeflow Spark Operator</a>,
<a href="https://github.com/kubeflow/notebooks">Kubeflow Notebooks</a>,
<a href="https://github.com/kubeflow/trainer">Kubeflow Trainer</a>,
<a href="https://github.com/kubeflow/katib">Kubeflow Katib</a>,
<a href="https://github.com/kubeflow/model-registry">Kubeflow Model Registry</a>,
<a href="https://github.com/kubeflow/pipelines">Kubeflow Pipelines</a>
</td>
</tr>
<tr>
<td>Security Provider?</td>
<td>No. Kubeflow projects are not security providers</td>
</tr>
<tr>
<td>Languages</td>
<td>Python, Go, TypeScript</td>
</tr>
</tbody>
</table>
| Name | Information |
|---|---|
| Assessment Stage | Incomplete |
| Software | [Kubeflow Spark Operator](https://github.com/kubeflow/spark-operator), [Kubeflow Notebooks](https://github.com/kubeflow/notebooks), [Kubeflow Trainer](https://github.com/kubeflow/trainer), [Kubeflow Katib](https://github.com/kubeflow/katib), [Kubeflow Model Registry](https://github.com/kubeflow/model-registry), [Kubeflow Pipelines](https://github.com/kubeflow/pipelines) |
| Security Provider? | No. Kubeflow projects are not security providers |
| Languages | Python, Go, TypeScript |
Name Information
Assessment Stage Incomplete
Software Kubeflow Spark Operator, Kubeflow Notebooks, Kubeflow Trainer, Kubeflow Katib, Kubeflow Model Registry, Kubeflow Pipelines
Security Provider? No. Kubeflow projects are not security providers
Languages Python, Go, TypeScript

Copy link
Member Author

Choose a reason for hiding this comment

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

I didn't add it since my editor formats the table due to very long 3rd row with Kubeflow Projects.
If you think, that is better, I can disable my formatter and use your table.

- Kubeflow Katib security policy: https://github.com/kubeflow/katib/blob/master/SECURITY.md
- Kubeflow Model Registry security policy: https://github.com/kubeflow/model-registry/blob/main/SECURITY.md
- Kubeflow Pipelines security policy: https://github.com/kubeflow/pipelines/blob/master/SECURITY.md

Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
- Kubeflow Platform security policy: https://github.com/kubeflow/pipelines/blob/master/SECURITY.md

Copy link
Member

Choose a reason for hiding this comment

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

Copy link
Member Author

@andreyvelich andreyvelich Jul 16, 2025

Choose a reason for hiding this comment

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

As part of self-assessment we say that Kubeflow consists of six open source project, and I keep it consistent everywhere in the doc (e.g. Security links, SBOM, Actors and Actions to avoid confusion for CNCF and security audit.
Additionally, we didn't ask to perform security audit for Kubeflow Manifests.

Thus, I am not sure if we should include the Kubeflow Manifests security policy.

Comment on lines 98 to 101
Kubeflow is the foundation of tools for AI platforms on Kubernetes. Kubeflow projects address
each stage in [the AI lifecycle](https://www.kubeflow.org/docs/started/architecture/#introducing-the-ml-lifecycle)
with support for best-in-class open source [tools and frameworks](https://www.kubeflow.org/docs/started/architecture/#kubeflow-ecosystem).
Kubeflow projects make AI simple, scalable, and portable.
Copy link
Member

Choose a reason for hiding this comment

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

Lets try to stay close to the official what is kubeflow text

Suggested change
Kubeflow is the foundation of tools for AI platforms on Kubernetes. Kubeflow projects address
each stage in [the AI lifecycle](https://www.kubeflow.org/docs/started/architecture/#introducing-the-ml-lifecycle)
with support for best-in-class open source [tools and frameworks](https://www.kubeflow.org/docs/started/architecture/#kubeflow-ecosystem).
Kubeflow projects make AI simple, scalable, and portable.
Kubeflow is the foundation of tools for AI Platforms on Kubernetes.
AI platform teams can build on top of Kubeflow by using each project independently or deploying the
entire AI reference platform to meet their specific needs. The Kubeflow AI reference platform is
composable, modular, portable, and scalable, backed by an ecosystem of Kubernetes-native
projects that cover every stage of the [AI lifecycle]((https://www.kubeflow.org/docs/started/architecture/#introducing-the-ml-lifecycle)) with support for best-in-class open source [tools and frameworks](https://www.kubeflow.org/docs/started/architecture/#kubeflow-ecosystem).

Copy link
Member Author

Choose a reason for hiding this comment

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

Yes, I will update it once we merge this PR: kubeflow/kubeflow#7734

- Target non-Kubernetes deployment systems.
- Kubeflow doesn't re-invent ML frameworks and packages (e.g. PyTorch, JAX).
- Kubeflow is not replacement for GitOps systems like ArgoCD.
- Kubeflow doesn't enforce a deployment method or distribution for Kubeflow projects.
Copy link
Member

@juliusvonkohout juliusvonkohout Jul 16, 2025

Choose a reason for hiding this comment

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

I think we do enforce Kustomize and helm

Suggested change
- Kubeflow doesn't enforce a deployment method or distribution for Kubeflow projects.
- Support another deployment method next to Kustomize and Helm manifests

Copy link
Member Author

Choose a reason for hiding this comment

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

I think, @thesuperzapper added this no-goal to the GTR doc: https://docs.google.com/document/d/15CZtkk3x-YIUaNnaRzIZaIKrfDfT6is_PAlRDIoBKgQ/edit?tab=t.0

@thesuperzapper Can you give context here please ?

- Kubeflow Trainer: https://www.bestpractices.dev/projects/10435
- Kubeflow Model Registry: https://www.bestpractices.dev/en/projects/9937
- Kubeflow Pipelines: https://www.bestpractices.dev/en/projects/9938

Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
Kubeflow Platform: https://www.bestpractices.dev/en/projects/9940

Copy link
Member Author

Choose a reason for hiding this comment

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

Same comment as here: #871 (comment)

- https://github.com/kubeflow/katib/blob/master/CONTRIBUTING.md
- https://github.com/kubeflow/pipelines/blob/master/CONTRIBUTING.md
- https://github.com/kubeflow/model-registry/blob/main/CONTRIBUTING.md

Copy link
Member

@juliusvonkohout juliusvonkohout Jul 16, 2025

Choose a reason for hiding this comment

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

See kubeflow/manifests#3187

Suggested change
- https://github.com/kubeflow/manifests/blob/master/CONTRIBUTING.md

- `#kubeflow-katib`
- `#kubeflow-model-registry`
- `#kubeflow-pipelines`

Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
- `#kubeflow-platform`

- https://github.com/kubeflow/katib/blob/master/SECURITY.md
- https://github.com/kubeflow/model-registry/blob/main/go.mod/master/SECURITY.md
- https://github.com/kubeflow/pipelines/blob/master/SECURITY.md

Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
- https://github.com/kubeflow/pipelines/blob/master/SECURITY.md

@juliusvonkohout
Copy link
Member

@andreyvelich i added my comments
/hold

andreyvelich and others added 2 commits July 16, 2025 16:57
Co-authored-by: Julius von Kohout <[email protected]>
Signed-off-by: Andrey Velichkevich <[email protected]>
Co-authored-by: Julius von Kohout <[email protected]>
Signed-off-by: Andrey Velichkevich <[email protected]>
Detailed information can be found here in the official
[Kubeflow Model Registry docs](https://www.kubeflow.org/docs/components/model-registry/reference/architecture/).

### Kubeflow Pipelines
Copy link
Member Author

Choose a reason for hiding this comment

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

cc @chensun @droctothorpe @HumairAK @james-jwu to review KFP docs.

Copy link

Choose a reason for hiding this comment

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

@andreyvelich no objections from my end on the KFP sections, they look good to me.

Signed-off-by: Andrey Velichkevich <[email protected]>
Copy link
Member

@tarilabs tarilabs left a comment

Choose a reason for hiding this comment

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

Thank you @andreyvelich , some minor/hopefully-helpful comments below 🙏

- https://github.com/kubeflow/notebooks/blob/notebooks-v2/workspaces/controller/go.mod
- https://github.com/kubeflow/trainer/blob/master/go.mod
- https://github.com/kubeflow/katib/blob/master/go.mod
- https://github.com/kubeflow/model-registry/blob/main/go.mod
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
- https://github.com/kubeflow/model-registry/blob/main/go.mod
- https://github.com/kubeflow/model-registry/blob/main/go.mod, https://github.com/kubeflow/model-registry/blob/main/clients/python/pyproject.toml

andreyvelich and others added 3 commits July 17, 2025 15:00
Signed-off-by: Andrey Velichkevich <[email protected]>
Co-authored-by: Matteo Mortari <[email protected]>
Signed-off-by: Andrey Velichkevich <[email protected]>
Co-authored-by: Matteo Mortari <[email protected]>
Signed-off-by: Andrey Velichkevich <[email protected]>
@droctothorpe
Copy link
Contributor

Sorry for all the nits, @andreyvelich. Thank you so much for steering this! 🙏

andreyvelich and others added 16 commits August 7, 2025 01:36
Signed-off-by: Andrey Velichkevich <[email protected]>
Co-authored-by: Alex <[email protected]>
Signed-off-by: Andrey Velichkevich <[email protected]>
Co-authored-by: Alex <[email protected]>
Signed-off-by: Andrey Velichkevich <[email protected]>
Signed-off-by: Andrey Velichkevich <[email protected]>
Co-authored-by: Alex <[email protected]>
Signed-off-by: Andrey Velichkevich <[email protected]>
Co-authored-by: Alex <[email protected]>
Signed-off-by: Andrey Velichkevich <[email protected]>
Co-authored-by: Alex <[email protected]>
Signed-off-by: Andrey Velichkevich <[email protected]>
Co-authored-by: Alex <[email protected]>
Signed-off-by: Andrey Velichkevich <[email protected]>
Co-authored-by: Alex <[email protected]>
Signed-off-by: Andrey Velichkevich <[email protected]>
Co-authored-by: Alex <[email protected]>
Signed-off-by: Andrey Velichkevich <[email protected]>
Co-authored-by: Alex <[email protected]>
Signed-off-by: Andrey Velichkevich <[email protected]>
Signed-off-by: Andrey Velichkevich <[email protected]>
Co-authored-by: Alex <[email protected]>
Signed-off-by: Andrey Velichkevich <[email protected]>
Co-authored-by: Alex <[email protected]>
Signed-off-by: Andrey Velichkevich <[email protected]>
Co-authored-by: Alex <[email protected]>
Signed-off-by: Andrey Velichkevich <[email protected]>
Signed-off-by: Andrey Velichkevich <[email protected]>
@andreyvelich
Copy link
Member Author

Thanks everyone for your review!
If that initial version looks good, we can merge it and improve it over time.

@andreyvelich
Copy link
Member Author

/hold cancel

- Kubeflow Spark Operator
- Go modules: https://github.com/kubeflow/spark-operator/blob/master/go.mod
- Kubeflow Notebooks
- Go modules: https://github.com/kubeflow/notebooks/blob/notebooks-v2/workspaces/controller/go.mod
Copy link
Member Author

Choose a reason for hiding this comment

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

TODO: Change it to v1 once code is migrated.
cc @andyatmiami @thesuperzapper

Signed-off-by: Andrey Velichkevich <[email protected]>
Copy link
Contributor

@franciscojavierarceo franciscojavierarceo left a comment

Choose a reason for hiding this comment

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

/approve
/lgtm

@google-oss-prow
Copy link

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: franciscojavierarceo

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@google-oss-prow google-oss-prow bot merged commit 2f819b1 into kubeflow:master Aug 18, 2025
2 checks passed
@andreyvelich andreyvelich deleted the self-assesment branch August 19, 2025 00:22
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.

9 participants