chore: add Apache Camel K threat model and triage sidecar - #6634
Merged
Merged
Conversation
Adds docs/threat-model.md (the project's implicit security contract: scope, trust boundaries, adversary model, properties provided/disclaimed, downstream responsibilities, known misuses/non-findings, and a closed set of triage dispositions) and a derived docs/threat-model.yaml sidecar for automated/AI triage. Produced with the threat-model-producer rubric and ratified by a maintainer; every claim carries a (documented) or (maintainer, 2026-05-18) provenance tag. The only open item is the non-blocking Q-meta (publication venue / coexistence with the umbrella Apache Camel Security Model). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The umbrella Apache Camel Security Model is now reachable at camel.apache.org/manual/security-model.html. It explicitly self-scopes to 'Camel embedded in someone else's application, not a multi-tenant managed service' and never covers the Kubernetes operator/CR/cluster layer. - Promote the route-runtime division (§4.3, §4.9) from inferred/maintainer framing to (documented - Camel Security Model): route authors and deployment operators are fully trusted; code execution by a route author is by design and not a framework vulnerability; external message senders are Camel core's primary attacker model; DoS via resource exhaustion is operator responsibility. - State the relationship explicitly: this document is the additive Camel-K sub-project expansion for the layer the umbrella excludes; strict superset, no contradiction (§4.1). - Q-meta substance is settled (option c); only publication venue/linking remains a docs/PMC decision. Add a statement-level back-map to the umbrella model (appendix). Disambiguate the security features catalog (security.html) from the Security Model page. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
squakez
approved these changes
May 18, 2026
squakez
left a comment
Contributor
There was a problem hiding this comment.
Thanks for the work! LGTM, however I wonder if we can have some way to automate the changes to this as long as we change the code. In the future we're planning to change some of the design that are mentioned in the document, so this is likely to change often.
Contributor
Author
|
We could work on a way of recreate this periodically |
oscerd
added a commit
that referenced
this pull request
May 19, 2026
* chore: add AGENTS.md, CLAUDE.md and SECURITY.md Adds repository-root AGENTS.md (AI agent guidelines), CLAUDE.md (identical content, mirroring apache/camel's layout), and SECURITY.md (the entry point GitHub and security tooling expect), modeled on apache/camel but adapted for Camel K: - Go/Make toolchain and real targets (make build/test/lint/generate/ update-docs), not Maven. - GitHub Issues workflow and the project's branch/commit conventions, not JIRA. - Go async-testing guidance (Gomega Eventually, no time.Sleep). - Security Model section wired to docs/threat-model.md as the additive Camel-K sub-project expansion of the umbrella Apache Camel Security Model; SECURITY.md points to it for scope and to the ASF process for private disclosure. Note: SECURITY.md and AGENTS.md reference docs/threat-model.md, added by PR #6634; those repo-relative links resolve once #6634 merges. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * chore: address review feedback on AGENTS.md squakez: don't hardcode the Camel K version and Go version in the agent guidelines (they go stale). Instruct the agent to read them from the authoritative sources instead: version from pkg/util/defaults/defaults.go (or 'make get-version'), Go from the go directive in go.mod. Applied identically to CLAUDE.md to keep the two files in sync. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds a threat model for Apache Camel K under
docs/:docs/threat-model.md— the project's implicit security contract: intended use and non-goals, the central trust boundary (RBAC to create/patch acamel.apache.orgCR == arbitrary code/container execution in the target namespace), the adversary model, security properties provided vs. explicitly disclaimed, downstream (operator/deployer) responsibilities, known misuses, recurring non-findings, and a closed set of triage dispositions so an inbound report can be routed to exactly one outcome with a section citation.docs/threat-model.yaml— a derived sidecar carrying the triage-relevant facts in structured form, for automated/AI-assisted triage. The prose document is canonical.Why
Camel K has no
SECURITY.mdand no Camel-K-specific security page. The Apache Camel umbrella Security Model (camel.apache.org/manual/security-model.html) is published and is the Camel PMC's triage reference — but it explicitly scopes itself to "Camel … embedded in someone else's application, not a multi-tenant managed service" and does not address the Kubernetes operator / Custom Resource / cluster layer.Camel K is precisely the layer that builds and operates Camel applications on a cluster. This document is therefore the additive Camel-K sub-project expansion of the umbrella model for the cluster/operator/CR trust boundary that model deliberately excludes — a strict superset that does not contradict it. It gives maintainers and triagers a stable reference for classifying vulnerability reports, scanner findings, and AI analyses against Camel K specifically.
Notes
threat-model-producerrubric and ratified by a maintainer; every non-trivial claim carries a(documented)or(maintainer, 2026-05-18)provenance tag, and the appendix back-maps specific umbrella Camel Security Model statements to the relevant sections.Q-meta: the publication venue and linking (wheredocs/threat-model.mdshould live — it is not currently published by the Antora docs site — and whether the Camel security pages should link to it). The substance of how it coexists with the umbrella model is settled (additive sub-project expansion for the excluded cluster layer); only the venue/linking remains a docs/PMC decision.🤖 Generated with Claude Code