From b684eb9063337bf2dcc8ffa4c21ea570f56e701d Mon Sep 17 00:00:00 2001 From: Igor8mr Date: Wed, 6 Dec 2023 18:25:32 -0500 Subject: [PATCH] Bump postcss and autoprefixer in /website/themes/docsy/userguide (#1118) Bumps [postcss](https://github.com/postcss/postcss) to 8.4.31 and updates ancestor dependency [autoprefixer](https://github.com/postcss/autoprefixer). These dependencies need to be updated together. Updates `postcss` from 7.0.39 to 8.4.31 - [Release notes](https://github.com/postcss/postcss/releases) - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/postcss/postcss/compare/7.0.39...8.4.31) Updates `autoprefixer` from 9.5.0 to 10.4.16 - [Release notes](https://github.com/postcss/autoprefixer/releases) - [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md) - [Commits](https://github.com/postcss/autoprefixer/compare/9.5.0...10.4.16) --- updated-dependencies: - dependency-name: postcss dependency-type: indirect - dependency-name: autoprefixer dependency-type: direct:development ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../CE-maintainers-communications.md | 213 ++++ .../cloudevents/files/CloudEvents SBOM.spdx | 174 +++ .../projects/cloudevents/images/apex-logo.png | Bin 0 -> 89074 bytes .../cloudevents/images/async-api-logo.png | Bin 0 -> 75451 bytes .../images/cloudevents-actions.png | Bin 0 -> 27490 bytes .../cloudevents/images/cloudevents-logo.png | Bin 0 -> 26672 bytes .../cloudevents/images/opentelemetry-logo.svg | 1 + .../cloudevents/images/soap-evenlope.png | Bin 0 -> 35630 bytes .../cloudevents/images/soap-webservice.png | Bin 0 -> 14290 bytes .../projects/cloudevents/self-assessment.md | 1052 +++++++++++++++++ 10 files changed, 1440 insertions(+) create mode 100644 assessments/projects/cloudevents/CE-maintainers-communications.md create mode 100644 assessments/projects/cloudevents/files/CloudEvents SBOM.spdx create mode 100644 assessments/projects/cloudevents/images/apex-logo.png create mode 100644 assessments/projects/cloudevents/images/async-api-logo.png create mode 100644 assessments/projects/cloudevents/images/cloudevents-actions.png create mode 100644 assessments/projects/cloudevents/images/cloudevents-logo.png create mode 100644 assessments/projects/cloudevents/images/opentelemetry-logo.svg create mode 100644 assessments/projects/cloudevents/images/soap-evenlope.png create mode 100644 assessments/projects/cloudevents/images/soap-webservice.png create mode 100644 assessments/projects/cloudevents/self-assessment.md diff --git a/assessments/projects/cloudevents/CE-maintainers-communications.md b/assessments/projects/cloudevents/CE-maintainers-communications.md new file mode 100644 index 000000000..585b08c9b --- /dev/null +++ b/assessments/projects/cloudevents/CE-maintainers-communications.md @@ -0,0 +1,213 @@ +# Communications with CloudEvents Maintainers + +## Slack Communications + +* **Security Pals Involved:** + * Igor Rodrigues (Igor Rodrigues) +* **CloudEvents Team Members Involved:** + * Doug Davis (dug) + +### Slack Report + +#### Igor Rodrigues (Nov 29th at 4:29:13 PM) + +* [Message + Link](https://cloud-native.slack.com/archives/C9DB5ABAA/p1701293353624819) + +Hello all, I'm a student at NYU involved in the SecurityPal effort from TAG +Security. Our group is conducting a security assessment on CloudEvents, which we +will later submit to the [TAG Security Assessments +Repository](https://github.com/cncf/tag-security/tree/main). We have completed +an [initial +evaluation](https://github.com/Igor8mr/tag-security/blob/main/assessments/projects/cloud-events/self-assessment.md) +of the project and would appreciate your feedback to validate the information we +included. We also want to know if there are additional aspects we should include +in the assessment to correctly represent your project, along with more details +for sections like [security issue +resolution](https://github.com/Igor8mr/tag-security/blob/main/assessments/projects/cloud-events/self-assessment.md#security-issue-resolution) +and [secure development +practices](https://github.com/Igor8mr/tag-security/blob/main/assessments/projects/cloud-events/self-assessment.md#secure-development-practices). +Please, feel free to share your thoughts here on Slack, on GitHub, or on a call. +Thank you! + +#### Dug (Nov 29th at 8:02:04 PM) + +* [Message + Link](https://cloud-native.slack.com/archives/C9DB5ABAA/p1701306124114029?thread_ts=1701293353.624819&cid=C9DB5ABAA) + +Hi @Igor Rodrigues - will take a look. Just curious though, what made you decide +to analyze CloudEvents? + +#### Igor Rodrigues (Nov 29th at 8:36:26 PM) + +* [Message + Link](https://cloud-native.slack.com/archives/C9DB5ABAA/p1701308186825319?thread_ts=1701293353.624819&cid=C9DB5ABAA) + +Hi @dug, thank you. The assessment is one of our assignments for a class we are +taking with Professor Justin Cappos. Each group was assigned to a CNCF project, +and ours was CloudEvents. The project is interesting, so we are trying to do a +bit more than expected. I hope the assessment helps in the future. + +#### Dug (Nov 30th at 10:24:13 AM) + +* [Message + Link](https://cloud-native.slack.com/archives/C9DB5ABAA/p1701357853677559?thread_ts=1701293353.624819&cid=C9DB5ABAA) + +@Igor Rodrigues thanks. Just a few comments from my quick scan: + +* Where do you see ANTRL being used? I'm surprised you didn't include markdown + in the list despite it not being a "programming language", being a "spec" + markdown is kind of our "language" :slightly_smiling_face: +* `CloudEvents was developed to address the lack of uniformity in event data + format...` be a bit careful here. While CE does provide a "structured" format, + that's just there are times when people want the event data and context + attributes in one doc. In general though CE is NOT trying to define "yet + another common event format (one format to rule them all)". In particular, + many people use/prefer "binary" format because it just augments their existing + events. And even with "structured", the stuff that does into the `data` + attribute is wide open - and should be defined by the business. I just don't + want people to think we're making the same mistake as other folks who tried to + force one format for all events. Rather CE is about standardizing "where to + find common metadata about the event w/o having to parse/understand the event + specific format". +* Nit: in "Protocol Binding" section it mentions `structured-mode` but hasn't + defined that term yet. You may want to define binary vs structured CEs in the + doc before this section. +* Not sure what the "trust boundary" is meant to represent in the diagram since + "trust" is kind of orthogonal to the roles. +* Goals: may want to tweak some of those based on my comments above. Plus, some + of those aren't really goals for CE since CE doesn't control them. For + example, "generate events before consumers are listening" - a good idea, but + CE doesn't really talk about those in the spec itself. CE is just about the + format and how they might appear on the transports. With a few exceptions, it + doesn't get into the protocols themselves or event + management/subscriptions..... +* CE is under review for Graduation status right now... hopefully will be + approved very soon +* CE doesn't really describe any encryption mechanism or deal with integrity - + the text you wrote kind of implies CE addresses it. Perhaps say something like + it's an implementation detail/choice?? +* Ecosystem - might be good to link to the [cloudevents.io](cloudevents.io) site + which includes a list of adopters. +* The "Security issue resolution" section reads like an SDK specific section - + perhaps "SDK" should appear in the title to make it clear that the following + sections apply to the SDK repos and not the spec repo? +* There's also a new security mailing list people should use to report security + concerns: https://lists.cncf.io/g/cncf-cloudevents-security/topics +* There is no "CloudEvents Steering Committee" that's mentioned in the Threat + Modelling section (typo in Modelling) +* It might be good to mention that (I think) all of the security issues found by + Trail of Bits have been addressed + +#### Igor Rodrigues (Nov 30th at 11:58:51 AM) + +* [Message + Link](https://cloud-native.slack.com/archives/C9DB5ABAA/p1701363531073659?thread_ts=1701293353.624819&cid=C9DB5ABAA) + +Hi @dug, Thank you for all the comments! For ANTLR, GitHub marked it as 14.1% of +the [CloudEvents spec](https://github.com/cloudevents/spec), so that's why I +added it to the assessment, but I may remove it if it's not very relevant. I'll +also definitely add Markdown, thanks for noticing that. We'll review the doc, +update it with your comments and tell you about the changes. Thank you again! + +#### Igor Rodrigues (Dec 4th at 11:15:26 AM) + +* [Message + Link](https://cloud-native.slack.com/archives/C9DB5ABAA/p1701706526314599?thread_ts=1701293353.624819&cid=C9DB5ABAA) + +Hi @dug, we fixed the comments you provided on the [security +assessment](https://github.com/Igor8mr/tag-security/blob/main/assessments/projects/cloud-events/self-assessment.md), +along with the comments from the meeting. Here are the [new +changes](https://github.com/cncf/tag-security/commit/e75e0e0a908ffa462c7923fad6e6e201b5feaef0#diff-086780f8339d58b8abcf32f9cf930f8b11ebf1889ee3e36c4eeaede7dc21a7b7) +since then. Please, let me know if there are more parts we could improve. Also, +I wanted to CloudEvents have a public SBOM that we could link, and if you think +there are more aspects we could add to the specification side of the [Security +Issue +resolution](https://github.com/Igor8mr/tag-security/blob/main/assessments/projects/cloud-events/self-assessment.md#cloudevents-specification). +Thank you for all the help! + +#### Dug (Dec 4th at 11:36:23 AM) + +* [Message + Link](https://cloud-native.slack.com/archives/C9DB5ABAA/p1701707783421699?thread_ts=1701293353.624819&cid=C9DB5ABAA) + +The closest thing we have to a SBOM is: +https://github.com/cloudevents/spec#cloudevents-documents Thanks for the update. +Will look it over in a bit. + +#### Igor Rodrigues (Dec 4th at 11:44:52 AM) + +* [Message + Link](https://cloud-native.slack.com/archives/C9DB5ABAA/p1701708292972649?thread_ts=1701293353.624819&cid=C9DB5ABAA) + +Great, thanks! + +#### Dug (Dec 4th at 12:08:22 PM) + +* [Message + Link](https://cloud-native.slack.com/archives/C9DB5ABAA/p1701709702994029?thread_ts=1701293353.624819&cid=C9DB5ABAA) + +I put just a few minor tweaks as comments on the commit. + +#### Igor Rodrigues (Dec 4th at 12:28:53 PM) + +* [Message + Link](https://cloud-native.slack.com/archives/C9DB5ABAA/p1701710933601919?thread_ts=1701293353.624819&cid=C9DB5ABAA) + +Thanks, I'll fix those soon + +#### Igor Rodrigues (Dec 5th at 8:05:09 AM) + +* [Message + Link](https://cloud-native.slack.com/archives/C9DB5ABAA/p1701781509377939?thread_ts=1701293353.624819&cid=C9DB5ABAA) + +Hi @dug, I forgot to ask this before, but are there any action items you are +currently working on or plan to work on that would solve the concerns mentioned +in the doc or other security concerns? I think it would be good to include those +in the assessment. I remember you mentioned implementing bots to check the SDKs, +do you have a pull request, issue, or any other link to the implementation of +the bots idea? Also, we are willing to help implement one of those solutions to +the concerns if you have some specific things in mind. + +#### Dug (Dec 5th at 11:57:30 AM) + +* [Message + Link](https://cloud-native.slack.com/archives/C9DB5ABAA/p1701795450643219?thread_ts=1701293353.624819&cid=C9DB5ABAA) + +@Igor Rodrigues just this one: https://github.com/cloudevents/spec/issues/1235 + +#### Dug (Dec 5th at 11:58:19 AM) + +* [Message + Link](https://cloud-native.slack.com/archives/C9DB5ABAA/p1701795499076589?thread_ts=1701293353.624819&cid=C9DB5ABAA) + +If someone knows how to setup the bots and wants to submit a PR to add them... +that would be great! Or even just a list of instructions for an admin to follow +(if it's more than just a PR) that would be great too. + +#### Igor Rodrigues (Dec 5th at 12:12:57 PM) + +* [Message + Link](https://cloud-native.slack.com/archives/C9DB5ABAA/p1701796377013619?thread_ts=1701293353.624819&cid=C9DB5ABAA) + +Great, thanks! We are taking a look here + +## CloudEvents Team Meeting + +* **Security Pals Involved:** + * Igor Rodrigues +* **CloudEvents Team Members Involved:** + * Doug Davis + * Tommy + * Erik + * David B + * Jon + * Calum + * Jem + * Clemens + +### Team Meeting Report + +The team joined the CloudEvents public team meeting on November 30th, 2023, +which was [recorded on +YouTube](https://www.youtube.com/watch?v=2OZPTQOqFEw&t=191s). diff --git a/assessments/projects/cloudevents/files/CloudEvents SBOM.spdx b/assessments/projects/cloudevents/files/CloudEvents SBOM.spdx new file mode 100644 index 000000000..2e9ded54e --- /dev/null +++ b/assessments/projects/cloudevents/files/CloudEvents SBOM.spdx @@ -0,0 +1,174 @@ +SPDXVersion: SPDX-2.3 +DataLicense: CC0-1.0 +SPDXID: SPDXRef-DOCUMENT +DocumentName: github.com/Igor8mr/spec-130ba0d183f5e45c1d141f5c1f272cf71d898623 +DocumentNamespace: https://s3.us-east-1.amazonaws.com/blob.fossa.io/FOSSA_BOMS/git%2Bgithub.com%2FIgor8mr%2Fspec%24130ba0d183f5e45c1d141f5c1f272cf71d898623 +Creator: Organization: NYU Igor +Creator: Tool: FOSSA v0.12.0 +Created: 2023-11-28T08:10:45Z +LicenseListVersion: 3.18 +DocumentDescribes: SPDXRef-pip-aiohttp-3.9.1 +DocumentDescribes: SPDXRef-pip-bs4-0.0.1 +DocumentDescribes: SPDXRef-pip-Markdown-3.5.1 +DocumentDescribes: SPDXRef-pip-pymdown-extensions-10.5 +DocumentDescribes: SPDXRef-pip-pytest-asyncio-0.21.1 +DocumentDescribes: SPDXRef-pip-tenacity-8.2.3 +DocumentDescribes: SPDXRef-pip-tqdm-4.66.1 + +#### Packages + +PackageName: spec +SPDXID: SPDXRef-git-github.com-Igor8mr-spec-130ba0d183f5e45c1d141f5c1f272cf71d898623 +PackageVersion: 130ba0d183f5e45c1d141f5c1f272cf71d898623 +FilesAnalyzed: true +PackageOriginator: Organization: Git +PackageLicenseDeclared: Apache-2.0 +PackageCopyrightText: 2021 The CloudEvents Authors. +PackageDownloadLocation: NOASSERTION +PackageLicenseConcluded: NOASSERTION +ExternalRef: PACKAGE-MANAGER purl pkg:github/Igor8mr/spec@130ba0d183f5e45c1d141f5c1f272cf71d898623 +PackageChecksum: MD5: edde7edecb511530e340a6758e68469f +PackageChecksum: SHA1: 68b11edf18e3ee4aefb010d0039b46678279cc35 +PackageChecksum: SHA256: ede64337447df771e0cca0261121bf4fb2f3fe9c1b48f2c74b75907bf9c6ef8f + + +PackageName: aiohttp +SPDXID: SPDXRef-pip-aiohttp-3.9.1 +PackageVersion: 3.9.1 +FilesAnalyzed: true +PackageOriginator: Organization: Pip +PackageLicenseDeclared: Apache-2.0 +PackageCopyrightText: aio-libs contributors. + aio-libs contributors. +PackageLicenseInfoFromFiles: MIT +PackageDownloadLocation: https://files.pythonhosted.org/packages/54/07/9467d3f8dae29b14f423b414d9e67512a76743c5bb7686fb05fe10c9cc3e/aiohttp-3.9.1.tar.gz +PackageLicenseConcluded: NOASSERTION +ExternalRef: PACKAGE-MANAGER purl pkg:pypi/aiohttp@3.9.1 +PackageChecksum: MD5: a678b74da295fad8bc65e76ef882028d +PackageChecksum: SHA1: 077a26885ada5fa78bd540d61ad96d7b25ff2f14 +PackageChecksum: SHA256: 60b3a90c477906cef6846cc60499bf25a5fb725b3966958bdcfc30681fefbe46 + + +PackageName: bs4 +SPDXID: SPDXRef-pip-bs4-0.0.1 +PackageVersion: 0.0.1 +FilesAnalyzed: true +PackageOriginator: Organization: Pip +PackageLicenseDeclared: MIT +PackageCopyrightText: NONE +PackageDownloadLocation: https://files.pythonhosted.org/packages/10/ed/7e8b97591f6f456174139ec089c769f89a94a1a4025fe967691de971f314/bs4-0.0.1.tar.gz +PackageLicenseConcluded: NOASSERTION +ExternalRef: PACKAGE-MANAGER purl pkg:pypi/bs4@0.0.1 +PackageChecksum: MD5: 0cf3b06d60f6de4e489ac9eaaf606e15 +PackageChecksum: SHA1: cb7eeca557338c2e6f83ded115730edb0358b5c5 +PackageChecksum: SHA256: f5238cfb5026c9846b4bbca72e3d1af0c98e750fe9c9fe610c7e1827dbd4cd8f + + +PackageName: Markdown +SPDXID: SPDXRef-pip-Markdown-3.5.1 +PackageVersion: 3.5.1 +FilesAnalyzed: true +PackageOriginator: Organization: Pip +PackageLicenseDeclared: BSD-3-Clause +PackageCopyrightText: 2007, 2008 The Python Markdown Project (v. 1.7 and later) + 2004, 2005, 2006 Yuri Takhteyev (v. 0.2-1.6b) + 2004 Manfred Stienstra (the original version) +PackageLicenseInfoFromFiles: ietf-trust BSD-2-Clause PIL +PackageDownloadLocation: https://files.pythonhosted.org/packages/35/14/1ec9742e151f3b06a723a20d9af7201a389ebd3aae8b7d93b521819489dc/Markdown-3.5.1.tar.gz +PackageLicenseConcluded: NOASSERTION +ExternalRef: PACKAGE-MANAGER purl pkg:pypi/markdown@3.5.1 +PackageChecksum: MD5: 17521d1c48bec050461c9749648eb02e +PackageChecksum: SHA1: 93ef9f0f2d38bb6a2e67b2e6b6928d8c6f3fd739 +PackageChecksum: SHA256: b33293b09516ec07f4f82388c82dc4101e2af4b0308d104a00a40c212dfda492 + + +PackageName: pymdown-extensions +SPDXID: SPDXRef-pip-pymdown-extensions-10.5 +PackageVersion: 10.5 +FilesAnalyzed: true +PackageOriginator: Organization: Pip +PackageLicenseDeclared: MIT +PackageCopyrightText: 2014 - 2023 Isaac Muse + 2007-2008 Waylan Limberg](http://achinghead.com/). + 2008-2014 The Python Markdown Project + 2006-2008 Waylan Limberg](http://achinghead.com/). + 2013 GitHub, Inc. +PackageDownloadLocation: https://files.pythonhosted.org/packages/fd/fe/a3f51f84844e7a493884dbd5d70775fc83e26e414234c212fb342d65a079/pymdown_extensions-10.5.tar.gz +PackageLicenseConcluded: NOASSERTION +ExternalRef: PACKAGE-MANAGER purl pkg:pypi/pymdown-extensions@10.5 +PackageChecksum: MD5: 5307ac49eccdfedc0500e861454c1807 +PackageChecksum: SHA1: 999e7fc85d2be0e34e2f29306aae79aeaa77fd1d +PackageChecksum: SHA256: f9bf4664db12301525699019a1325132b48e7f606d2cf85c9a10867addff5780 + + +PackageName: pytest-asyncio +SPDXID: SPDXRef-pip-pytest-asyncio-0.21.1 +PackageVersion: 0.21.1 +FilesAnalyzed: true +PackageOriginator: Organization: Pip +PackageLicenseDeclared: Apache-2.0 +PackageCopyrightText: NONE +PackageDownloadLocation: https://files.pythonhosted.org/packages/5a/85/d39ef5f69d5597a206f213ce387bcdfa47922423875829f7a98a87d33281/pytest-asyncio-0.21.1.tar.gz +PackageLicenseConcluded: NOASSERTION +ExternalRef: PACKAGE-MANAGER purl pkg:pypi/pytest-asyncio@0.21.1 +PackageChecksum: MD5: b7a6b994b519756e167eb060f7b9c215 +PackageChecksum: SHA1: 4bd2b79d5335f9edc9d651223b371b8676e5027d +PackageChecksum: SHA256: 9ed0689af4d77ce1a842e557a08346827c6f8e91432322568ef8e4d6454b2293 + + +PackageName: tenacity +SPDXID: SPDXRef-pip-tenacity-8.2.3 +PackageVersion: 8.2.3 +FilesAnalyzed: true +PackageOriginator: Organization: Pip +PackageLicenseDeclared: Apache-2.0 +PackageCopyrightText: 2016 Étienne Bersac +PackageDownloadLocation: https://files.pythonhosted.org/packages/89/3c/253e1627262373784bf9355db9d6f20d2d8831d79f91e9cca48050cddcc2/tenacity-8.2.3.tar.gz +PackageLicenseConcluded: NOASSERTION +ExternalRef: PACKAGE-MANAGER purl pkg:pypi/tenacity@8.2.3 +PackageChecksum: MD5: 997f8584a7fc7a2fac8129e5b7b38660 +PackageChecksum: SHA1: 04832f7674ec9b765f5b5fa6eedd7dcc0e66fe33 +PackageChecksum: SHA256: fa1582aa8ae5ba5e44f54ccc7de63a8be0593a8d3f77aa8966785f4bfb75b7f7 + + +PackageName: tqdm +SPDXID: SPDXRef-pip-tqdm-4.66.1 +PackageVersion: 4.66.1 +FilesAnalyzed: true +PackageOriginator: Organization: Pip +PackageLicenseDeclared: MPL-2.0 OR MIT +PackageCopyrightText: 2013 noamraph +PackageDownloadLocation: https://files.pythonhosted.org/packages/62/06/d5604a70d160f6a6ca5fd2ba25597c24abd5c5ca5f437263d177ac242308/tqdm-4.66.1.tar.gz +PackageLicenseConcluded: NOASSERTION +ExternalRef: PACKAGE-MANAGER purl pkg:pypi/tqdm@4.66.1 +PackageChecksum: MD5: 7948f65ba4a5924756d4b0f96ffbd2ac +PackageChecksum: SHA1: 8927f903a643ea9c15d2d1df91147d05f8f8f4b6 +PackageChecksum: SHA256: cc06ac41d0dca3fdd457918b98daabfb98ca4d37a5e875dbea3701c31ffc892e + + + +#### Relationships + +SPDXRef-DOCUMENT DESCRIBES SPDXRef-git-github.com-Igor8mr-spec-130ba0d183f5e45c1d141f5c1f272cf71d898623 +SPDXRef-git-github.com-Igor8mr-spec-130ba0d183f5e45c1d141f5c1f272cf71d898623 DEPENDS_ON SPDXRef-pip-aiohttp-3.9.1 +SPDXRef-pip-aiohttp-3.9.1 DEPENDENCY_OF SPDXRef-git-github.com-Igor8mr-spec-130ba0d183f5e45c1d141f5c1f272cf71d898623 +SPDXRef-git-github.com-Igor8mr-spec-130ba0d183f5e45c1d141f5c1f272cf71d898623 DEPENDS_ON SPDXRef-pip-bs4-0.0.1 +SPDXRef-pip-bs4-0.0.1 DEPENDENCY_OF SPDXRef-git-github.com-Igor8mr-spec-130ba0d183f5e45c1d141f5c1f272cf71d898623 +SPDXRef-git-github.com-Igor8mr-spec-130ba0d183f5e45c1d141f5c1f272cf71d898623 DEPENDS_ON SPDXRef-pip-Markdown-3.5.1 +SPDXRef-pip-Markdown-3.5.1 DEPENDENCY_OF SPDXRef-git-github.com-Igor8mr-spec-130ba0d183f5e45c1d141f5c1f272cf71d898623 +SPDXRef-git-github.com-Igor8mr-spec-130ba0d183f5e45c1d141f5c1f272cf71d898623 DEPENDS_ON SPDXRef-pip-pymdown-extensions-10.5 +SPDXRef-pip-pymdown-extensions-10.5 DEPENDENCY_OF SPDXRef-git-github.com-Igor8mr-spec-130ba0d183f5e45c1d141f5c1f272cf71d898623 +SPDXRef-git-github.com-Igor8mr-spec-130ba0d183f5e45c1d141f5c1f272cf71d898623 DEPENDS_ON SPDXRef-pip-pytest-asyncio-0.21.1 +SPDXRef-pip-pytest-asyncio-0.21.1 DEPENDENCY_OF SPDXRef-git-github.com-Igor8mr-spec-130ba0d183f5e45c1d141f5c1f272cf71d898623 +SPDXRef-git-github.com-Igor8mr-spec-130ba0d183f5e45c1d141f5c1f272cf71d898623 DEPENDS_ON SPDXRef-pip-tenacity-8.2.3 +SPDXRef-pip-tenacity-8.2.3 DEPENDENCY_OF SPDXRef-git-github.com-Igor8mr-spec-130ba0d183f5e45c1d141f5c1f272cf71d898623 +SPDXRef-git-github.com-Igor8mr-spec-130ba0d183f5e45c1d141f5c1f272cf71d898623 DEPENDS_ON SPDXRef-pip-tqdm-4.66.1 +SPDXRef-pip-tqdm-4.66.1 DEPENDENCY_OF SPDXRef-git-github.com-Igor8mr-spec-130ba0d183f5e45c1d141f5c1f272cf71d898623 + + + + + + + + diff --git a/assessments/projects/cloudevents/images/apex-logo.png b/assessments/projects/cloudevents/images/apex-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..26fc9118d207198b62b667f2c23a08e14e0d3780 GIT binary patch literal 89074 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 literal 0 HcmV?d00001 diff --git a/assessments/projects/cloudevents/images/async-api-logo.png b/assessments/projects/cloudevents/images/async-api-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..9bff44a410d0a41a23d9edc041e46bece2e0c623 GIT binary patch literal 75451 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
    kU*clhskd7@Ywj~9IV2&uEVNV-5B`I;E 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 literal 0 HcmV?d00001 diff --git a/assessments/projects/cloudevents/images/cloudevents-actions.png b/assessments/projects/cloudevents/images/cloudevents-actions.png new file mode 100644 index 0000000000000000000000000000000000000000..d64a2428788aeace5cf6fbc61911c52a79f559ab GIT binary patch literal 27490 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 CmaOss literal 0 HcmV?d00001 diff --git a/assessments/projects/cloudevents/images/cloudevents-logo.png b/assessments/projects/cloudevents/images/cloudevents-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d4aa3de416a9a86f1f0bc5df150ed434f5f43911 GIT binary patch literal 26672 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 \ No newline at end of file diff --git a/assessments/projects/cloudevents/images/soap-evenlope.png b/assessments/projects/cloudevents/images/soap-evenlope.png new file mode 100644 index 0000000000000000000000000000000000000000..8a84cef82ca7a955aa0ce43abff15502fcde2717 GIT binary patch literal 35630 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 literal 0 HcmV?d00001 diff --git a/assessments/projects/cloudevents/self-assessment.md b/assessments/projects/cloudevents/self-assessment.md new file mode 100644 index 000000000..0bd6e411b --- /dev/null +++ b/assessments/projects/cloudevents/self-assessment.md @@ -0,0 +1,1052 @@ +# CloudEvents self-assessment + +September 26, 2023 + +Authors: Igor Rodrigues (@Igor8mr), Matthew Gong (@MatthewZGong), Kushal Kothari +(@Kushal-kothari) and Devyani Bairagya (@devyani-14). + +Contributors/Reviewers: Pranava Kumar Vemula (@Rana-KV) and Doug Davis +(@duglin). + +This document elaborates and explores the design goals for +[CloudEvents](https://cloudevents.io/) as well as a security assessment of the +software. It was written in collaboration with the CloudEvents team. All +communications with CloudEvents were recorded on a [separate +document](CE-maintainers-communications.md). + +## Table of contents + +* [Table of contents](#table-of-contents) +* [Metadata](#metadata) + * [Security links](#security-links) +* [Overview](#overview) + * [Background](#background) + * [Actors](#actors) + * [Actions](#actions) + * [Goals](#goals) + * [Non-goals](#non-goals) +* [Self-assessment use](#self-assessment-use) +* [Security functions and features](#security-functions-and-features) + * [Critical Security Components](#critical-security-components) + * [Security Relevant Components](#security-relevant-components) +* [Project compliance](#project-compliance) +* [Secure development practices](#secure-development-practices) + * [Development Pipeline](#development-pipeline) + * [Communications Channels](#communications-channels) + * [Ecosystem](#ecosystem) +* [Security Issue Resolution](#security-issue-resolution) + * [CloudEvents Specification](#cloudevents-specification) + * [CloudEvents SDKs](#cloudevents-sdks) +* [Lightweight Threat Modelling](#lightweight-threat-modelling) + * [Threat Modelling Notes](#threat-modelling-notes) + * [Threat Scenarios](#threat-scenarios) + * [Theoretical Threats](#theoretical-threats) + * [Potential threats](#potential-threats) + * [Conclusion](#conclusion) + * [Recommendations](#recommendations) +* [Action Items](#action-items) + * [[Action Item 1] Setup Snyk for SDKs](#action-item-1-setup-snyk-for-sdks) + * [[Action Item 2] Regular SDK Security + Audits](#action-item-2-regular-sdk-security-audits) + * [[Action Item 3] Enforce governance rules throughout SDK + development](#action-item-3-enforce-governance-rules-throughout-sdk-development) + * [[Action Item 4] Enhanced Encryption and Data Validation + Mechanisms](#action-item-4-enhanced-encryption-and-data-validation-mechanisms) + * [[Action Item 5] Documentation and Knowledge + Sharing](#action-item-5-documentation-and-knowledge-sharing) + * [[Action Item 6] Community Engagement and + Feedback](#action-item-6-community-engagement-and-feedback) +* [Appendix](#appendix) + * [Known Issues Over Time](#known-issues-over-time) + * [CII Best Practices](#cii-best-practices) + * [Case Studies](#case-studies) + * [Related Projects and Vendors](#related-projects-and-vendors) +* [References](#references) + +## Metadata + +| | | +| -- | -- | +| Software | [CloudEvents Repository](https://github.com/cloudevents/spec) | +| Security Provider | CloudEvents is not a security provider | +| CloudEvents Specification Language | Markdown | +| CloudEvents SDK Languages | Python, C#/.NET, Go, Java, Javascript, PHP, PowerShell, Ruby and Rust | +| SBOM | [CloudEvents SBOM generated by FOSSA](files/CloudEvents%20SBOM.spdx) | +| Technical Documents | [CloudEvents Documents](https://github.com/cloudevents/spec#cloudevents-documents) | +| | | + +### Security links + +| Doc | url | +| -- | -- | +| CloudEvents Security Assessment | | +| CloudEvents Privacy and Security Specification | | +| CloudEvents SDK Security Standards | | + +## Overview + +[CloudEvents](https://cloudevents.io/) is an open-source +[specification](https://github.com/cloudevents/spec) designed to articulate data +events. While these events are widely employed in various industries, the +absence of standardized guidelines for their composition has led to significant +divergence among developers. This lack of uniformity makes programmers create +distinct event-handling logic for each event source, impeding seamless +communication between different systems. CloudEvents aims to streamline the +process of declaring and delivering events, improving simplicity and +interoperability across diverse services and platforms. + +![CloudEvents Logo](images/cloudevents-logo.png) + +The project also provides [software development kits +(SDKs)](https://github.com/cloudevents/spec#sdks) for Go, JavaScript, Java, C#, +Ruby, PHP, PowerShell, Rust, and Python. These can be used to build event +routers, tracing systems, and other tools. + +### Background + +#### Event + +An +[event](https://github.com/cloudevents/spec/blob/130ba0d183f5e45c1d141f5c1f272cf71d898623/cloudevents/spec.md#event) +is a data entry that conveys an occurrence along with its surrounding context. +Events are transmitted from an event producer (the origin) to interested event +consumers. The transmission process may consider the information within the +event, but the event itself does not specify a particular destination for +routing. Events comprise two categories of information: Event Data, which +represents the incident, and Context metadata, which furnishes additional +contextual details about the incident. A single incident can generate more than +one event. + +There is no common language on events themselves. So when a new software is +created developers have to write new event handling processes for different +types of sources. This can become very chaotic and unorganized. + +CloudEvents was developed to address the need for non-uniformity in event data +formats in cloud and microservices environments. CloudEvents adopts a pragmatic +approach instead of enforcing a universal event format. While it provides a +structured layout, it acknowledges the diverse preferences in the industry. +Users can include event data and context attributes in a single document, and +the support for a binary format seamlessly integrates with existing event +structures. Therefore, CloudEvents standardizes the location for retrieving +shared metadata about an event without the need to parse the specific business +logic of the event. + +### Actors + +#### Event Consumer + +The [Event +Consumer](https://github.com/cloudevents/spec/blob/130ba0d183f5e45c1d141f5c1f272cf71d898623/cloudevents/spec.md#consumer) +is the entity or system interested in subscribing to different events. Receiving +Events from the producer will trigger further action that is up to the consumer. +A "consumer" receives the event and acts upon it, which might lead to the +occurrence of new events. + +#### Event Producer + +The [Event +Producer](https://github.com/cloudevents/spec/blob/130ba0d183f5e45c1d141f5c1f272cf71d898623/cloudevents/spec.md#producer) +is the entity or system that produces the "events". They are responsible for +wrapping event data in the CloudEvents specification. + +#### Event Mediator or Intermediary + +Depending on the architecture of the system, the [Event +Mediator](https://github.com/cloudevents/spec/blob/130ba0d183f5e45c1d141f5c1f272cf71d898623/cloudevents/spec.md#intermediary) +is the entity or system that is responsible for the distribution, processing and +routing of events to consumers. The event broker ensures reliable delivery and +may enforce security policies. + +### Actions + +#### Event Formatting + +Called by the producer and the consumer. An [Event +Format](https://github.com/cloudevents/spec/blob/130ba0d183f5e45c1d141f5c1f272cf71d898623/cloudevents/spec.md#event-format) +specifies how to serialize a CloudEvent as a sequence of bytes. Stand-alone +event formats, such as the JSON format, specify serialization independent of any +protocol or storage medium. The producer encodes the event, while the consumer +decodes the event. + +#### Protocol Binding + +A [protocol +binding](https://github.com/cloudevents/spec/blob/130ba0d183f5e45c1d141f5c1f272cf71d898623/cloudevents/spec.md#protocol-binding) +describes how events are sent and received over a given protocol. CloudEvents +defines encoding modes such as +[binary](https://github.com/cloudevents/spec/blob/main/cloudevents/bindings/kafka-protocol-binding.md#32-binary-content-mode) +and +[structured](https://github.com/cloudevents/spec/blob/main/cloudevents/bindings/kafka-protocol-binding.md#33-structured-content-mode) +for serializing a CloudEvent during transmission. + +* **Binary Content Mode:** The event data is placed in the message body, while + the event attributes (metadata) are included in the message's metadata. This + mode is commonly employed when a CloudEvent producer wants to incorporate + metadata into an existing event without affecting the message body. Binary + encoding will maintain a receiver's event processing since the message's + metadata often accommodates extension attributes. + +* **Structured Content Mode:** The event data and attributes are encoded within + the message body following a specific event format. This mode maintains event + metadata and data in the payload, facilitating the straightforward forwarding + of the same event across various routing hops and protocols. + +Protocol bindings MAY choose to use an Event Format to map an event directly to +the transport envelope body, or MAY provide additional formatting and structure +to the envelope. For example, a wrapper around a structured-mode message might +be used, or several messages could be batched together into a transport envelope +body. + +![CloudEvents Actions](images/cloudevents-actions.png) + +### Goals + +Listed below are the main [goals of +CloudEvents](https://github.com/cloudevents/spec/blob/main/cloudevents/primer.md#design-goals). + +* Simplify event declaration and delivery across services, platforms and + systems. +* Define interoperability of event systems that allow services to produce or + consume events, where the producer and consumer can be developed and deployed + independently. +* Establish a structured framework for the exchange of event data among services + by standardizing the location for storing and retrieving common metadata + related to events. +* Provide specifications for serializing events in different formats and + protocols. + +### Non-goals + +The following are considered as [non-goals of +CloudEvents](https://github.com/cloudevents/spec/blob/main/cloudevents/primer.md#non-goals): + +* Function build and invocation process. +* Language-specific runtime APIs. +* Selecting a single identity/access control system. +* Inclusion of protocol-level routing information. +* Event persistence processes. +* Mechanism for Authorization, Data Integrity and Confidentiality. +* Change the implementation details of underlying communication protocols. +* Define the processing logic for events within different applications and + systems. + +## Self-assessment use + +This self-assessment is created by the CloudEvents team to perform an internal +analysis of the project's security. It is not intended to provide a security +audit of CloudEvents, or function as an independent assessment or attestation of +CloudEvents's security health. + +This document serves to provide CloudEvents users with an initial understanding +of CloudEvents's security, where to find existing security documentation, +CloudEvents plans for security, and a general overview of CloudEvents security +practices, both for the development of CloudEvents as well as security of +CloudEvents. + +This document provides the CNCF TAG-Security with an initial understanding of +CloudEvents to assist in a joint assessment, necessary for projects under +incubation. Taken together, this document and the joint assessment serve as a +cornerstone as CloudEvents is under review for a Graduation status. + +## Security functions and features + +### Critical Security Components + +Unlike similar projects in the past such as [Simple Object Access Protocol +(SOAP)](https://en.wikipedia.org/wiki/SOAP), CloudEvents does not attempt to +create new security protocols but relies on established, robust protocols. As +emphasized earlier, the Specification exclusively concentrates on standardizing +event creation and their representation across various protocols, avoiding +defining how exactly they should be transported. + +#### Event Identification + +Every event within CloudEvents is uniquely identified by a specific combination +of +[source](https://github.com/cloudevents/spec/blob/130ba0d183f5e45c1d141f5c1f272cf71d898623/cloudevents/spec.md#source-1) +and +[id](https://github.com/cloudevents/spec/blob/130ba0d183f5e45c1d141f5c1f272cf71d898623/cloudevents/spec.md#id). +Producers must guarantee that each unique event's concatenation of `source` and +`id` remains distinctive. This practice aids in distinguishing events and +preventing the processing of duplicate events. + +#### Event Type + +The +[type](https://github.com/cloudevents/spec/blob/130ba0d183f5e45c1d141f5c1f272cf71d898623/cloudevents/spec.md#type) +attribute holds a value that characterizes the nature of the event associated +with the initial incident. This attribute is frequently utilized for routing, +observability, policy enforcement, and similar purposes. The producer determines +the format, which may contain details such as the version of the `type`. + +#### Event Subject + +The +[subject](https://github.com/cloudevents/spec/blob/130ba0d183f5e45c1d141f5c1f272cf71d898623/cloudevents/spec.md#subject) +attribute explains the event's subject within the context of the event producer. +Clarifying the subject in contextual metadata proves particularly beneficial in +scenarios involving generic subscription filtering, where middleware may lack +the ability to interpret the content within the `data` attribute. + +#### Event Data Integrity + +CloudEvents does not focus on defining the methods for safeguarding data +integrity. Therefore, it is the choice of the user/developer to address this +aspect. One approach to enhance security is to apply encryption to event data +specific to the domain, restricting visibility to trusted entities. The choice +of the encryption mechanism is collaboratively determined by event producers and +consumers, which is an implementation detail defined by the user. + +#### Privacy and Sensitive Information Handling + +Context attributes should not carry or represent sensitive information. +CloudEvent producers, consumers, and intermediaries can inspect and log context +attributes. + +### Security Relevant Components + +#### Transport Security + +Although CloudEvents does not prescribe specific transport security mechanisms, +it is typically conveyed over secure protocols such as HTTPS, ensuring integrity +and confidentiality. + +#### Event Source Authentication + +The `source` attribute within a CloudEvent provides context for the event +occurrence, establishing reliable and secure source identification. + +#### Data Schema Verification + +The `data` attribute in a CloudEvent contains the actual event data, and its +schema can be defined and validated for consistency and accuracy. This +verification process helps to prevent issues arising from malformed or +unexpected data. + +## Project compliance + +As of the latest security assessment, CloudEvents does not explicitly document +compliance with specific security standards such as PCI-DSS, COBIT, ISO, GDPR, +etc. Current efforts are focused on evaluating compliance with these standards +and ensuring that CloudEvents adheres to industry best practices in security and +privacy. + +## Secure development practices + +### Development Pipeline + +#### CloudEvents Membership + +There are three project [membership +categories](https://github.com/cloudevents/spec/blob/main/docs/GOVERNANCE.md#membership), +which make it harder for a single individual to make bad changes to the +repository. + +* **Member**: Anyone participating in group activities across communication + channels. No formal registration is required. +* **Voting Member**: Criteria for Voting Members are outlined in the [Voting + section of the governance + page](https://github.com/cloudevents/spec/blob/main/docs/GOVERNANCE.md#voting). + They have equal influence as Members, with specific voting rights during + formal processes. +* **Admin**: Members with extra privileges for administrative tasks like + managing the website and GitHub repos. Admin actions require group knowledge + and consent, including the ability to merge/close PRs, subject to group + approval. Since the role of an 'Admin' is mainly administrative, the list of + Members within this group should not need to change regularly but can be done + with votes. + +#### CloudEvents SDK Community + +The CloudEvents SDK community is organized as follows: + +* Every SDK has its own [Github Team](https://github.com/cloudevents). +* The union of all the SDK maintainers assembles the SDK maintainers group. +* To propose a new SDK for the community, a PR should be opened in the spec + repository with the documentation changes necessary to point to the new + repository. + +CloudEvents defines an [SDK project as +healthy](https://github.com/cloudevents/spec/blob/main/docs/SDK-GOVERNANCE.md#ensuring-projects-health) +if it meets the criteria below. + +* It works with the latest version of the programming language; +* It supports the latest versions of the integrated libraries/frameworks; +* It receives security patches regularly; +* It supports the last N-1 major versions of CloudEvents spec, as defined in; + Contribution Acceptance; +* Issues and PRs are triaged (labeled, commented, reviewed, etc) regularly. + +Moreover, CloudEvents defines an SDK as `not actively maintained` if: + +* Issues and/or PRs have not been triaged from the SDK maintainers for 2 months +* Security patches have not been released from the SDK maintainers for 1 month + from CVE disclosures + +If a project does not meet the criteria above, the community can decide to [hand +over the +project](https://github.com/cloudevents/spec/blob/main/docs/SDK-GOVERNANCE.md#handover-to-a-new-maintainergroup-of-maintainers) +to a new group of maintainers through a voting process. In such cases, the +community may also decide to [archive the +project](https://github.com/cloudevents/spec/blob/main/docs/SDK-GOVERNANCE.md#archive-a-project) +instead. + +#### Contributing to CloudEvents + +##### General Instructions + +* Developers can either report a change or create a Github Issue, checking for + existing issues first. +* All Proposed changes will be done through Github Pull Requests (PRs). +* All patches must be signed by the author, with the sign-off being a simple + line at the end of the explanation for the patch. +* All commits should use the [Conventional Commits + Specification](https://www.conventionalcommits.org/en/v1.0.0/). +* Pull Requests will be reviewed during [official + meetings](https://github.com/cloudevents/spec/blob/main/docs/GOVERNANCE.md#meetings). + * Off-line reviews are recommended before meetings. + * Meetings happen every Thursday at 9 AM PT. +* Pull Requests will be resolved and merged during official meetings as a result + of a motion. + * Pull Requests should not be merged if substantial changes have been made in + the past 2 days. + +##### Pull Request process + +Usually, CloudEvents Pull Requests are expected to meet the following +[criteria](https://github.com/cloudevents/spec/blob/main/docs/SDK-PR-guidelines.md) +before being merged: + +* The author of the PR asks for it to be discussed and reviewed in an upcoming + meeting. +* All comments have been addressed. +* PRs that have objections/concerns will be discussed off-line by interested + parties. A resolution and updated PR will be expected from those talks. + +#### Versioning + +The release process follows [Semantic Versioning (semver)](https://semver.org/), +grouping specifications for simultaneous release. Non-breaking changes use +"patch" updates while breaking changes follow `semver`. Tags are applied to the +main branch, and additional branches, like core-v2.0, may be created, and then +deleted post-merger. Creating a release involves updating versions via Pull +requests, merging, and announcing changes. + +### Communications Channels + +CloudEvents use different types of [communication +channels](https://github.com/cloudevents/spec#communications) for different +purposes. + +* Internal communications channels: + * [Meetings](https://docs.google.com/document/d/1OVF68rpuPK5shIHILK9JOqlZBbfe91RNzQ7u_P7YCDE/edit?usp=sharing) + * Email + * GitHub Issues +* Inbound communications channels: + * [CloudEvents CNCF Email Address](cncf-cloudevents@lists.cncf.io) + * [CNCF Slack workspace](http://slack.cncf.io/) + * [CNCF Meeting Calendar](https://www.cncf.io/community/calendar/) +* Outgoing communications channels: + * [CloudEvents CNCF + Subscription](https://lists.cncf.io/g/cncf-cloudevents-sdk) + +### Ecosystem + +CloudEvents is integrated with different cloud-native technologies and services. +Its goal is to create interoperability in event-driven architecture. + +CloudEvents has many +[adopters](https://cloudevents.io/#:~:text=CloudEvents%20Adopters), including: + +* Adobe I/O Events +* Azure Event Grid +* European Commission +* Google Cloud Eventarc +* IBM Cloud Code Engine +* Oracle Cloud +* VMware Event Broker Appliance + +## Security Issue Resolution + +### CloudEvents Specification + +To report an issue, or to a new idea, contributors can open a new issue on the +GitHub repository. However, they should check if a similar issue already exists. + +CloudEvents also provides a dedicated [email +address](cncf-cloudevents-security@lists.cncf.io) and a [Security Mailing +List](https://lists.cncf.io/g/cncf-cloudevents-security/topics) for reporting +security concerns related to the specification or the SDKs. + +### CloudEvents SDKs + +#### Responsible Disclosures Process + +Similarly to the CloudEvents specification, to report an issue about one of the +CloudEvents SDKs, contributors can open a new issue on the GitHub repository, as +well as using the dedicated [email +address](cncf-cloudevents-security@lists.cncf.io) and the [Security Mailing +List](https://lists.cncf.io/g/cncf-cloudevents-security/topics). + +#### Vulnerability Response Process + +It is the responsibility of the CloudEvents SDK maintainers to triage issues and +PRs from their respective repositories, as well as frequently release security +patches to issues found. As mentioned in [CloudEvents SDK +Community](#cloudevents-sdk-community), the maintainers cannot abstain from +triaging issues and PRs for more than 2 months, or releasing security patches +for more than 1 month. Otherwise, their project will be marked as `not actively +maintained`, which can lead to them losing the management of the SDK repository. + +#### Incident Response + +##### Discussing the Issue + +After an issue is reported, the maintainers of the SDK will contact the author +of the issue, talking through it to understand whether it should be resolved, +its priority, how a solution could be implemented, and who will implement it, +which can be done through the GitHub issues page of the SDK, Slack, a meeting or +any other CloudEvents communication channel. + +##### Solving the Issue + +Once a security patch is written, the contributor should make a Pull Request and +mark it as reviewed. The PR will be reviewed, improved, and approved by the +other maintainers of the SDK. With that, a security patch is released by +following the process described in [Contributing to +CloudEvents](#contributing-to-cloudevents). + +## Lightweight Threat Modelling + +* Project data classification: Sensitive +* Owner(s) and/or maintainer(s): + * Name: [CloudEvents administrators and + members](https://github.com/cloudevents/spec/blob/main/docs/contributors.md) + * Representation: [Cloud Native Computing Foundation + (CNCF)](https://www.cncf.io/) + * Contact: [CloudEvents Website](https://cloudevents.io/) + +### Threat Modelling Notes + +* Where does it store data? + * CloudEvents primarily defines a specification and does not store data + itself. +* Is encryption used for data in transit and at rest? + * The specification recommends using secure protocols for data in transit. +* Is data from potentially untrusted sources subject to input validation? + * Yes, validation is part of the SDK implementations. + +### Threat Scenarios + +* **An External Attacker:** Could potentially send malformed or malicious event + data to disrupt services that consume CloudEvents. +* **An External Attacker with valid access:** Could potentially inject false + events to lead to incorrect actions being taken by consumers. +* **An Internal Attacker:** Might be able to alter event definitions or + intercept event data in transit within systems that utilize CloudEvents. +* **A Malicious Internal User:** Could misuse the event system to trigger + unauthorized actions or services. + +### Theoretical Threats + +* **Deployment Architecture (pod and namespace configuration):** Not applicable + to CloudEvents as a specification. + +* **Networking (internal and external):** Networking controls are typically + managed by the underlying infrastructure and transport protocols used for + sending and receiving CloudEvents. + +* **Cryptography:** CloudEvents does not provide encryption methods or + cryptographic implementations, all implementations are left up to the users' + choice. + +* **Audit and logging:** This is typically handled by the platforms and services + that implement CloudEvents. + +### Potential threats + +#### The SDK management teams may implement vulnerabilities while implementing SDKs + +Trail Of Bits was able to identify 7 different security concerns regarding the +different CloudEvents SDKs. While these issues have been addressed, the +expanding number of SDKs raises the possibility of introducing additional +vulnerabilities. These vulnerabilities could serve as potential weak points in +systems utilizing CloudEvents. + +Mitigations: + +* Frequently triage and patch issues. +* Always check if the code can be trusted before merging a Pull Request. +* Perform security audits when possible. + +#### Man in the middle acting as Event Mediator + +If an attacker can act as a man in the middle for an event mediator, the +intruder may be able to read the events from the event generator or modify them +before they arrive at the event consumer. + +Mitigations: + +* Users should implement infrastructure around CloudEvents making it difficult + for bad actors to get access to the systems using CloudEvents or the channels + delivering the events. + +#### CloudEvent Modification in Transit + +If event data is not properly encrypted, it could be intercepted and modified by +an attacker, leading to misinformation or unauthorized actions. + +Mitigations: + +* Users should encrypt, validate, and monitor all important data to reduce the + impact of modifications during transit. +* User permissions should be routinely checked to ensure that only the + authorized users have the required capabilities. + +#### Improper encoding and decoding of data + +A bad actor can send malicious or faulty data with a CloudEvent wrapper to the +main producer. If the decoding of that data is not handled correctly it can lead +to the system crashing. + +Mitigations: + +* All actors (event producer, event mediator event consumer) should check if the + data is correctly formatted to the CloudEvents Specification, not passing the + data forward in such scenarios, but discarding or properly handling it. +* All SDKs should help in handling these scenarios. + +#### Committing vulnerable code + +Although there are many checks before a Pull Request is accepted, a developer +can still commit code to the source repository that has vulnerabilities if +nobody notices it. This can be either because of malicious intent or because of +mistakes like vulnerable libraries being used. + +Mitigations: + +* A risk assessment can be done to uncover any potential gaps in the security + controls. +* All secure development practices established by CloudEvents and CNCF should be + strictly followed to prevent vulnerabilities from being introduced. + +#### Malicious CloudEvent Wrapper + +An attacker could wrap malicious content in a CloudEvent to exploit +vulnerabilities in event consumers. + +Mitigations: + +* Users should check for malicious content when receiving CloudEvent data, not + trusting the source whenever possible. + +### Conclusion + +Overall, CloudEvents has solid governance rules and management practices for the +[specification](https://github.com/cloudevents/spec/blob/main/docs/GOVERNANCE.md) +and the +[SDKs](https://github.com/cloudevents/spec/blob/main/docs/SDK-GOVERNANCE.md). +These rules delineate procedures that prioritize security patching, with strict +enforcement mechanisms. Clear articulation of goals and non-goals assists users +in discerning the aspects they need to self-enforce. + +A notable challenge within the project revolves around the numerous SDKs +developed by the CloudEvents SDK communities. Certain SDKs, particularly the +newer ones, are susceptible to security vulnerabilities. While governance rules +play a crucial role in ensuring continuous patching and monitoring, some SDKs +have experienced vulnerabilities in the past, highlighting an ongoing concern. + +During a [team meeting on November 30, 2023](https://youtu.be/2OZPTQOqFEw), a +CloudEvents administrator also mentioned plans to introduce [bots for regularly +assessing the health of each +SDK](https://github.com/cloudevents/spec/issues/1235). This proactive measure +aims to address potential security concerns that may arise in the future, +mitigating both technical and managerial aspects across various SDKs. + +### Recommendations + +As mentioned by CloudEvents, the maintainers of SDKs must release security +patches and fix issues frequently for the project to be marked as active. It is +essential for the maintainers of each SDK to frequently triage and release +patches to the security issues found, which can solve problems such as the ones +found by Trail Of Bits. Moreover, it is important for users to frequently check +and install updates to their CloudEvents SDK installation. + +## Action Items + +### [Action Item 1] Setup Snyk for SDKs + +* **GitHub Issue Link:** [Setup Snyk for + SDKs](https://github.com/cloudevents/spec/issues/1235) + +#### [Action Item 1] Objective + +Improve the security of CloudEvents SDKs by integrating Snyk for automatic +dependency assessments. This integration will both conduct comprehensive scans +for vulnerabilities within the SDK and systematically search the internet for +recently reported issues or vulnerabilities linked to the library dependencies +used in the development of CloudEvents SDKs. The automated tool will alert the +development team to threats, helping the implementation of proactive measures +for identifying, addressing, and mitigating potential risks. + +#### [Action Item 1] Steps + +Develop and deploy an automated bot system to monitor the health of various SDKs +by integrating Snyk into the development workflow. Collaborate with the team to +conceptualize the bot's features, ensuring its capability to evaluate +maintenance status, address issues, and implement patch updates following the +rules outlined in the governance documents. Configure Snyk to perform +dependaBot-type checks, ensuring comprehensive analysis of SDK dependencies. +Investigate the feasibility and requirements for adding a dedicated security bot +to scan for potential security issues. Document the integration process and +provide guidelines for ongoing usage within the development environment. + +##### Initial Setup + +1. [Install the Snyk + CLI](https://support.snyk.io/hc/en-us/articles/360003812538-Install-the-Snyk-CLI) + on a local machine according to the operating system. +2. Run the command `Snyk auth` to authenticate the Snyk account. Follow the + prompts to log in and authenticate. +3. Create the CloudEvents Snyk organization in the [Snyk + Dashboard](https://app.snyk.io/dashboard). +4. In the Snyk Dashboard, go to the organization settings and add the [GitHub + Integration](https://docs.snyk.io/integrate-with-snyk/git-repositories-scms-integrations-with-snyk/snyk-github-integration) + for CloudEvents account under `Source Control Integrations.` + +##### Individual SDK Setup + +1. In the Snyk Dashboard, click `Add Project` and select the GitHub repository + containing the CloudEvents SDK code. +2. Configure Snyk Policies by defining policies for the project to set + thresholds for vulnerability severity levels. + * This helps to control when to fail a build or raise an alert. + * The [Security Audit performed by Trail of + Bits](https://github.com/cloudevents/spec/blob/main/docs/CE-SecurityAudit-2022-10.pdf) + could be used as a guide on which types and severities of vulnerabilities + should be analyzed. +3. Enable GitHub Integration for the CloudEvents project to receive automatic + pull requests for fixing vulnerabilities, which can streamline the + remediation process. +4. Configure notification settings to alert all interested CloudEvents admins + and members for new vulnerabilities or policy violations, which should + include at least the maintainers of the specific SDK. +5. Snyk should also be integrated with the CloudEvents Semantic Versioning + control system, so Snyk can automatically update its vulnerability database + and scan for new vulnerabilities. + +##### Configure Snyk to perform Dependabot-style checks + +1. Go to the CloudEvents SDK project in the Snyk Dashboard. +2. Navigate to the `Settings` tab. +3. Under `Policy`, enable the `Auto-fix` option. + +### [Action Item 2] Regular SDK Security Audits + +#### [Action Item 2] Objective + +Establish a regular schedule for security audits of CloudEvents SDKs. + +#### [Action Item 2] Steps + +Specify the frequency of audits, assemble the audit team, identify the tools and +services required, and manage the coordination of audit activities. + +### [Action Item 3] Enforce governance rules throughout SDK development + +#### [Action Item 3] Objective + +Implement a [CI/CD +Pipeline](https://www.redhat.com/en/topics/devops/what-cicd-pipeline) to enforce +the CloudEvents governance rules. A CI/CD serves as a dynamic framework guiding +the entire software development lifecycle, encompassing key stages like +building, rigorous testing, and seamless code deployment. Given the thorough of +the CloudEvents Governance rules, integrating a CI/CD pipeline would both ensure +adherence to these rules and fortify security measures, promoting a more robust +environment for the development of the SDKs. This would lower the amount of +human mistakes in this process and, consequently, the chances of new +vulnerabilities being created. + +#### [Action Item 3] Steps + +Implementing a CI/CD pipeline for CloudEvents involves using Git for source code +management and selecting a CI/CD platform like Jenkins or GitHub Actions. The +pipeline should include a build stage to compile code and create artifacts, and +a test stage for unit and integration tests, with a focus on validating +CloudEvents generation and consumption. Artifacts should be stored in container +registries or repositories, and the deployment stage completes the process by +deploying to the target environment. This automated pipeline ensures efficient +and reliable development, testing, and deployment of applications using +CloudEvents. + +### [Action Item 4] Enhanced Encryption and Data Validation Mechanisms + +#### [Action Item 4] Objective + +Emphasize to the user the goals and non-goals of CloudEvents. + +#### [Action Item 4] Steps + +Highlight to the user the importance of establishing a robust infrastructure for +encryption and data validation practices around the CloudEvents implementation. + +### [Action Item 5] Documentation and Knowledge Sharing + +#### [Action Item 5] Objective + +Continue improving the documentation related to security practices and + vulnerabilities within CloudEvents SDKs. + +#### [Action Item 5] Steps + +Create comprehensive and accessible documentation that covers security best +practices, identified vulnerabilities, resolved issues, public Software Bill of +Materials, and strategies for mitigation of vulnerabilities. + +### [Action Item 6] Community Engagement and Feedback + +#### [Action Item 6] Objective + +Enhance engagement with the CloudEvents user community for feedback and insights +on security. + +#### [Action Item 6] Steps + +Establish channels for consistent feedback, administer community surveys, and +arrange Q&A sessions. Evaluate GitHub issues, engage in discussions with +authors, formulate mitigation or solution strategies, and execute them. +Prioritize and resolve security vulnerabilities identified by users through +proper triage processes. + +## Appendix + +### Known Issues Over Time + +#### Issues found by Trail of Bits + +The main security assessment on CloudEvents was a [Security Audit performed by +Trail of +Bits](https://github.com/cloudevents/spec/blob/main/docs/CE-SecurityAudit-2022-10.pdf) +released on October 26, 2022. These were mainly concerning the different +CloudEvents SDK, not the specification. All of the security issues found by +Trail of Bits have already been addressed. + +Below are listed the findings by Trail Of Bits with their descriptions. + +##### [Java SDK] Reliance on default encoding + +* **Severity:** Undetermined +* **Difficulty:** Low +* **Type:** Undefined Behavior +* **Finding ID:** TOB-CE-1 +* **Target:** Java SDK + +Several instances were found where the getByte() standard Java API is utilized +without specifying an encoding, leading the [Java +SDK](https://github.com/cloudevents/sdk-java) to rely on system default +encoding. This can result in varying processing of event data across platforms. +While the specification mandates adherence to appropriate and RFC-compliant +encodings, there is room for improvement in the Java SDK implementation and +documentation to emphasize the significance of consistent encoding among actors. +Although not all instances are problematic, especially when handling binary +data, it is crucial to document and address this behavior in the SDK +implementation, documentation, and provided examples. + +##### [Java SDK] Outdated Vulnerable Dependencies + +* **Severity:** Undetermined +* **Difficulty:** Medium +* **Type:** Patching +* **Finding ID:** TOB-CE-2 +* **Target:** Java SDK + +The [Java SDK](https://github.com/cloudevents/sdk-java) contains multiple +outdated dependencies with publicly known vulnerabilities, including high- and +medium-risk ones. The Snyk tool automatically audited each module due to time +constraints and ease of remediation. A manual review of exploitability within +the SDK's context was not conducted. + +##### [JavaScript SDK] Potential XSS in httpTransport() + +* **Severity:** Undetermined +* **Difficulty:** Low +* **Type:** Data Validation +* **Finding ID:** TOB-CE-3 +* **Target:** sdk-javascript/src/transport/http/index.ts + +The [JavaScript SDK](https://github.com/cloudevents/sdk-javascript)'s +httpTransport() method exposes raw error messages from the endpoint, potentially +leading to XSS vulnerabilities if user-controlled data is reflected without +proper sanitization in the rendered web page. While the specification does not +mandate validation or sanitization, the SDK documentation should emphasize the +risk of unsanitized HTTP responses when using this API in an emitter. + +##### [Go SDK] Outdated Vulnerable Dependencies + +* **Severity:** Undetermined +* **Difficulty:** Low +* **Type:** Patching +* **Finding ID:** TOB-CE-4 +* **Target:** Go SDK + +The [Go SDK](https://github.com/cloudevents/sdk-go) has multiple outdated +dependencies with known vulnerabilities. The open-source Snyk tool automatically +audited each module. Due to time constraints and ease of remediation, a manual +review of exploitability within the SDK's context was skipped. + +##### [Go SDK] Downcasting of 64-bit integer + +* **Severity:** Undetermined +* **Difficulty:** Low +* **Type:** Undefined Behavior +* **Finding ID:** TOB-CE-5 +* **Target:** sql/v2/parser/expression_visitor.go, sql/v2/utils/casting.go + +In the [Go SDK](https://github.com/cloudevents/sdk-go), the `strconv.Atoi` +function parses a machine-dependent integer (int64 for 64-bit targets). In some +code instances, the result from strconv.Atoi is later converted to a smaller +type (int16 or int32), risking overflow with specific inputs. + +##### [Go SDK] ReadHeaderTimeout not configured + +* **Severity:** Informational +* **Difficulty:** Low +* **Type:** Denial of Service +* **Finding ID:** TOB-CE-6 +* **Target:** Go SDK + +The [Go SDK](https://github.com/cloudevents/sdk-go) http.server API offers four +timeouts, including ReadHeaderTimeout. Failure to set a value for this timeout +makes the listener instance susceptible to Slowloris DoS attacks. + +##### [CSharp SDK] Outdated Vulnerable Dependencies + +* **Severity:** Undetermined +* **Difficulty:** Low +* **Type:** Patching +* **Finding ID:** TOB-CE-7 +* **Target:** CSharp SDK + +The [CSharp SDK](https://github.com/cloudevents/sdk-csharp) has multiple +outdated dependencies with known vulnerabilities. Using the open-source Snyk +tool, each module was automatically audited. Due to time constraints and ease of +remediation, a manual review of exploitability within the SDK's context was +skipped. + +### CII Best Practices + +CloudEvents aims to align with the Core Infrastructure Initiative (CII) Best +Practices, focusing on: + +* **Security Response Process**: Establishing a comprehensive process for +reporting and addressing security vulnerabilities. +* **Automated Testing**: Implementing automated testing in the development +pipeline for consistent security and vulnerability checks. +* **Dependency Management**: Regular auditing and updating of third-party +dependencies to mitigate security risks. +* **Documentation**: Enhancing documentation to provide clear guidance on +security considerations for developers. These efforts are part of CloudEvents' +commitment to maintaining high standards in open-source software development. + +### Case Studies + +CloudEvents has the potential to revolutionize event-driven architectures in +various sectors. Below are a couple of enhanced case studies demonstrating its +applicability. + +#### Healthcare Data Management + +CloudEvents plays a pivotal role in a healthcare system for managing patient +data. In this scenario, it is used to track and route events such as patient +admissions, lab results, and medication orders. By standardizing event formats, +CloudEvents ensures seamless integration between different hospital systems, +including Electronic Health Records (EHRs) and Laboratory Information Management +Systems (LIMS), enhancing patient care and operational efficiency. + +#### Smart City Infrastructure Monitoring + +In a smart city environment, CloudEvents is employed to aggregate and analyze +data from a multitude of sensors and IoT devices across the city. This includes +traffic flow sensors, public transport updates, and utility usage meters. By +utilizing CloudEvents for real-time data processing and event routing, city +administrators can make informed decisions about traffic management, public +transport schedules, and resource allocation, leading to improved city services +and resident satisfaction. + +### Related Projects and Vendors + +#### OpenTelemetry + +![OpenTelemetry Logo](images/opentelemetry-logo.svg) + +[OpenTelemetry](https://opentelemetry.io/) is a collection of APIs, SDKs, and +tools. It can be used to instrument, generate, collect, and export telemetry +data (metrics, logs, and traces) to help analyze software performance and +behavior. + +#### AsyncAPI + +![AsyncAPI Logo](images/async-api-logo.png) + +[AsyncAPI](https://www.asyncapi.com/) is an open-source initiative that seeks to +improve the current state of Event-Driven Architecture (EDA). Their long-term +goal is to make working with EDAs as easy as working with REST APIs. That goes +from documentation to code generation, and from discovery to event management. + +#### Event-B + +[Event-B](https://www.event-b.org/) is a formal method for system-level modeling +and analysis. Key features of Event-B are the use of set theory as a modeling +notation, the use of refinement to represent systems at different abstraction +levels and the use of mathematical proof to verify consistency between +refinement levels. + +#### Simple Object Access Protocol (SOAP) + +[SOAP](https://en.wikipedia.org/wiki/SOAP) is a messaging protocol specification +designed for the exchange of structured information within the implementation of +web services on computer networks. + +![SOAP Envelope](images/soap-evenlope.png) + +This protocol utilizes XML Information Set as its message format and depends on +application layer protocols, primarily Hypertext Transfer Protocol (HTTP), +though certain legacy systems may communicate using Simple Mail Transfer +Protocol (SMTP) for message negotiation and transmission. + +![SOAP web service](images/soap-webservice.png) + +According to a CloudEvents maintainer, one of the main distinctions between SOAP +and CloudEvents is the fact that the latter does not aim to develop new security +protocols. Instead, it relies on existing and resilient protocols. As mentioned +before, the CloudEvents Specification focuses solely on standardizing the +creation and representation of events across different protocols, intentionally +steering clear of specifying methods for their transportation. + +#### Apex Event Specification + +![Apex Logo](images/apex-logo.png) + +The [Apex Event Specification Guide +(ESG)](https://insights.eventscouncil.org/Portals/0/APEX_Event_Specifications_Guide.pdf) +is a written document that contains all the details of an event. The ESG is used +by event organizers to communicate information to venues and suppliers. The ESG +is a three-part template that includes: Narrative, Schedule, and Function +orders. + +This is an older document used across many engineering fields, which is not +restricted to computer science, making it different from the other examples. +However, it is an example of event specification being widely used in industry, +including more physical areas such as mechanical engineering and factories. + +## References + +* [CloudEvents Website](https://cloudevents.io/) +* [CloudEvents GitHub](https://github.com/cloudevents) +* [CloudEvents Security Assessment by Trail of + Bits](https://github.com/cloudevents/spec/blob/main/docs/CE-SecurityAudit-2022-10.pdf) +* [Security Assessment Guide](https://github.com/Rana-KV/ISP) +* [Sample Security + Assessment](https://github.com/Rana-KV/tag-security/blob/main/assessments/projects/karmada/self-assessment.md#threat-modeling-with-stride) +* [Open and Secure + Book](https://github.com/cncf/tag-security/blob/main/assessments/Open_and_Secure.pdf)