This is an automated email from the ASF dual-hosted git repository.

oscerd pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new 7aae27315946 chore: add project-security.md to the OSS helper rules 
(#28081)
7aae27315946 is described below

commit 7aae273159462fba6e7ab3ea2aca594eaa03d787
Author: Andrea Cosentino <[email protected]>
AuthorDate: Mon Oct 19 09:39:01 2026 +0200

    chore: add project-security.md to the OSS helper rules (#28081)
    
    The OSS Helper security commands read an optional project-security.md
    for the reporting channel, the CNA, the advisory format and location,
    the supported release lines and the disclosure steps. When the Camel
    rules moved into .oss-ai-helper-rules/, only the three required files
    came along, and project-local rules take precedence over installed
    ones, so the helper cannot see Camel's security settings.
    
    Add the file, based on the earlier known-projects version, updated:
    supported branches camel-4.22.x and camel-4.18.x (4.14.x is end of
    life), the public fix model, the security model, how fixed versions are
    derived, and how the CVE record gets published.
    
    Signed-off-by: Andrea Cosentino <[email protected]>
    Co-authored-by: Claude Opus 5.5 <[email protected]>
---
 .oss-ai-helper-rules/project-security.md | 37 ++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/.oss-ai-helper-rules/project-security.md 
b/.oss-ai-helper-rules/project-security.md
new file mode 100644
index 000000000000..75520b8b23b8
--- /dev/null
+++ b/.oss-ai-helper-rules/project-security.md
@@ -0,0 +1,37 @@
+# Project Security
+
+This rule file contains the security and CVE-handling workflow for the 
project: how a vulnerability is reported, triaged, fixed, assigned a CVE, and 
published. Commands read this file to determine the private reporting channel, 
the CVE Numbering Authority (CNA), the advisory format and publication 
location, and the supported release lines a fix must be backported to.
+
+This file is **optional**. Commands that do not deal with security ignore it. 
The security commands (`/oss-triage-security-report`, 
`/oss-create-security-advisory`, `/oss-draft-cve`, 
`/oss-analyze-third-party-cve`) read it when present, and fall back to asking 
the maintainer when it is absent.
+
+- **Private reporting channel:** `[email protected]`, the ASF Security Team, 
as described at https://camel.apache.org/security/ and 
https://www.apache.org/security/. Apache Camel does not operate a dedicated 
`[email protected]` list. Never use Jira, GitHub issues or PRs, or any 
public mailing list to report an undisclosed vulnerability.
+- **GitHub private vulnerability reporting:** not used. Coordination happens 
on `[email protected]`, not through GitHub Security Advisories, so 
`/oss-create-security-advisory` should direct reporters to 
`[email protected]` rather than to the GitHub `/reports` endpoint.
+- **Undisclosed fix model:** `public`. An undisclosed vulnerability is fixed 
in the open, through a Jira issue and a pull request whose text describes the 
change in functional terms only: no security wording, no CVE identifier, no 
reporter identity, no exploit details. The fix is backported to every supported 
maintenance branch, and the advisory is published after the fixed releases are 
out.
+- **Security model:** triage reports against 
`docs/user-manual/modules/ROOT/pages/security-model.adoc`. It defines who is 
trusted, where the trust boundaries sit, and which vulnerability classes are in 
or out of scope.
+- **CVE Numbering Authority (CNA):** the Apache Software Foundation Security 
Team, the only body that can allocate CVE IDs for ASF projects. The PMC 
reserves an ID through https://cveprocess.apache.org (or by emailing 
`[email protected]` with the subject `CVE request for ...`). The portal also 
holds the CVE record and offers a REVIEW state for Security Team sign-off. The 
OSS Helper never reserves, requests, or generates CVE IDs; it only drafts 
against an already-reserved ID.
+- **Severity:** the advisory's `Severity` field is a qualitative rating (Low, 
Medium, High, Critical). Camel advisory pages do not publish a CVSS score or 
vector string; compute a CVSS vector only for the CVE record.
+- **Advisory source format:** a Hugo Markdown page named `CVE-YYYY-NNNNN.md`, 
plus a PGP-clearsigned plaintext `CVE-YYYY-NNNNN.txt.asc` linked from the 
advisory's `References` section. `/oss-draft-cve` emits the `.md` page and the 
matching `.txt` body; a PMC member signs the `.txt` into `.txt.asc` after 
review.
+- **Advisory section structure (exact labels, in order):** `Severity`, 
`Summary`, `Versions affected`, `Versions fixed`, `Description`, `Notes`, 
`Mitigation`, `Credit`, `References`.
+- **Advisory template (reference):** the source of any recent advisory under 
`content/security/` in https://github.com/apache/camel-website, for example 
https://github.com/apache/camel-website/blob/main/content/security/CVE-2025-27636.md
 (rendered at https://camel.apache.org/security/CVE-2025-27636.html). Pass it 
as the `/oss-draft-cve template=` argument so that the draft matches the 
current house style.
+- **Publication location:** `apache/camel-website`, under `content/security/` 
(`CVE-YYYY-NNNNN.md` and `CVE-YYYY-NNNNN.txt.asc`). The advisory renders at 
`https://camel.apache.org/security/CVE-YYYY-NNNNN.html`.
+- **Signing key:** a PMC member's GPG key published in 
https://downloads.apache.org/camel/KEYS. `gpg --clearsign CVE-YYYY-NNNNN.txt` 
produces `CVE-YYYY-NNNNN.txt.asc`. The OSS Helper never runs `gpg`; the 
maintainer signs after review.
+- **Supported maintenance branches:** `camel-4.22.x` and `camel-4.18.x`, the 
LTS lines as of October 2026 (each LTS line receives about a year of CVE and 
critical bug fixes; see https://camel.apache.org/categories/Roadmap/ for the 
current status). Backport every security fix to each of them. Upgrade-guide 
notes for every line go on `main`, as `project-guidelines.md` describes.
+- **End-of-life branches (no backports):** `camel-4.14.x`, `camel-4.10.x` and 
every older `camel-4.x` and `camel-3.x` branch. These branches still exist and 
build, but that is not evidence that they are supported.
+- **Fixed versions:** derive them with `git tag --contains <fix-commit> | sort 
-V`; the smallest tag per line is that line's fixed version. A patch release is 
cut from a `release/<version>` branch before the maintenance branch's version 
is bumped, so a fix merged after the cut ships in the next patch: check the 
tags, not the pom version. A tag is not a release until the artifacts are on 
Maven Central.
+- **Disclosure & announcement:** publish only after the fixed releases are 
available. Announce to `[email protected]` and `[email protected]`, 
notify the reporter, and post to `[email protected]`. The ASF 
Security Team submits the CVE record to the CVE Program once the record 
references the published advisory. The `oss-security` post is the first public 
mention of the issue; never disclose specifics before the fix is released.
+- **Third-party CVE notes ("not affected" rationale):** where 
`/oss-analyze-third-party-cve` should record a verified exposure analysis. 
(TODO: Camel has no standard public location for "not affected" notes yet; 
decide whether to track them in release notes, a dedicated security page, or a 
private PMC tracking issue.)
+
+## CVE Handling Workflow
+
+The end-to-end process. The OSS Helper command that assists each step is in 
brackets; steps marked *(manual)* are maintainer or PMC actions with no command.
+
+1. **Receipt and confidentiality:** a report arrives privately on 
`[email protected]`. Treat all specifics as confidential, and acknowledge 
receipt to the reporter. *(manual)*
+2. **Triage:** verify each claim against the current code, the supported 
branches and the git history; assess scope and severity. Decide valid, invalid 
or duplicate. [`/oss-triage-security-report`]
+3. **Reserve a CVE:** if valid, the PMC reserves a CVE ID through 
https://cveprocess.apache.org. *(manual; the OSS Helper never reserves IDs)*
+4. **Fix:** file a neutral Jira issue, fix it on `main` without referencing 
the vulnerability in public commits or PRs, then backport it to every supported 
maintenance branch. [`/oss-create-issue`, `/oss-fix-issue`, `/oss-backport-pr`]
+5. **Release:** cut and vote the fixed releases through the normal ASF release 
process, so that patched versions are available before disclosure. *(manual)*
+6. **Draft and sign the advisory:** draft `CVE-YYYY-NNNNN.md` and the matching 
`.txt` body from the triage notes and the fix PR, then clearsign the `.txt` 
into `.txt.asc`. [`/oss-draft-cve` for the draft; signing is manual]
+7. **Publish:** commit the `.md` page and the `.txt.asc` to 
`apache/camel-website` under `content/security/`, so that the advisory appears 
at `https://camel.apache.org/security/CVE-YYYY-NNNNN.html`. *(manual)*
+8. **Announce and register:** announce to `[email protected]`, 
`[email protected]` and `[email protected]`, and let the ASF 
Security Team publish the CVE record. *(manual)*
+
+For a CVE in a third-party dependency rather than in Camel's own code, use 
`/oss-analyze-third-party-cve` to decide the exposure, and whether a dependency 
upgrade or a documented "not affected" note is the right outcome.

Reply via email to