finos / compliant-financial-infrastructure

Compliant Financial Infrastructure accelerates the development, deployment and adoption of cloud services in a way that adheres to common security and regulatory controls.
Apache License 2.0
128 stars 60 forks source link

Apply for OpenSSF Passing badge #254

Closed maoo closed 1 year ago

maoo commented 2 years ago

FINOS is helping its hosted projects to establish a more secure approach to Open Source software development, by rolling out security scanning tools and by teaming up with LF initiatives like the OpenSSF Best Practices badge

We are aiming to publish an OpenSSF badge for each of the most strategic FINOS projects, and given that CFI is one of them, if would be great if someone from the CFI team could fill in the self assessment form on https://bestpractices.coreinfrastructure.org/ to get the Passing badge, and submit a Pull Request to publish it into the README.md of this repository.

Of course the FINOS team is always available to provide support, if and when needed; feel free to comment this issue if some question is unclear or need support.

eddie-knight commented 2 years ago

Currently working through confirming the items on the "passing" checklist:

Basics

Basic project website content

FLOSS license

Documentation

Other

Change Control

Unique version numbering

Release notes

Reporting

Bug-reporting process

Vulnerability report process

Quality

Automated test suite

New functionality testing

Warning flags

Security

Secure development knowledge

Publicly known vulnerabilities fixed

Other security issues

Analysis

Static code analysis

Dynamic code analysis

eddie-knight commented 2 years ago

A strategy has not yet been implemented for unique version numbering:

The project results MUST have a unique version identifier for each release intended to be used by users.

eddie-knight commented 2 years ago

Releases are not yet part of the CFI lifecycle, though that could easily be established with a bit of planning

eddie-knight commented 2 years ago

Until we finish migrating the structure to a module-based structure (#239) we will not be able to finish the following reuirement:

The project MUST clearly show or document how to run the test suite

mcleo-d commented 2 years ago

Hey @eddie-knight 👋🏻

Thanks for picking this up. I have added to the kanban in progress column.

Please use #256 to call for help if needed.

James.

eddie-knight commented 2 years ago

Working with Bob today to identify action items necessary to complete the checklist above.

The next comment from Bob should contain our notes and suggested next steps, which we may convert into independent issues or otherwise just start making PRs against.

thinkl33t commented 2 years ago

CFI OpenSSF Notes

Unique version numbering

workflow

  1. Create documentation with all the necessary info related to relases
  2. Automate release cut on the first of the month for CFI main (calver)
  3. Automate a feedback solicitation issue on the 20th of the month to alert community of upcoming release

Release notes

Automated test suite

Warning flags

Security

Secure development knowledge

Publicly known vulnerabilities fixed

Analysis

Static code analysis

Dynamic code analysis


Proposed docs changes are below


Releases - Versioning and Cadance

Releases of CFI and its modules will include

CFI 'Definition' Repo

CFI definition releases will be made in a Calendar Versioning (calver) fashion, in the format YYYY.mm-pointver. There will be a monthly -0 release, automatically released on the first of the month.

It is expected that if any critical issues are found in a monthly release, a new point release will be made within the month, but functionality changes will not be released until the next month's release.

CFI IAC Modules

As a CFI module will not necessarily be compliant to a newly-released CFI documentation version, we intend not to use calver for these to reduce confusion. IAC Modules will be released using a semver versioning system, and release cadance will be based on contributions.

PR Changes

To automate the changelog generation, all Pull Requests will need a new section, which includes a short single-paragraph description of what the PR changes. This section being absent or unreadable will block merges, both automatically through github actions, and manually if a maintainer thinks it needs rewriting.

mcleo-d commented 2 years ago

Request from @TheJuanAndOnly99

Hi @eddie-knight ,

I see there is a lot of progress on the OpenSSF badge issue! I think you are ready to submit it here and get a progress score (screenshot below of what it looks like).

We don't need all the answers yet and getting it submitted would let us know how far we are from a "passing" badge. What do you think?

screenshot

Thanks,

Juan

eddie-knight commented 2 years ago

Progress on the badge application can be seen by org and repo maintainers:

https://bestpractices.coreinfrastructure.org/en/projects/6557/edit#changecontrol

mcleo-d commented 1 year ago

@eddie-knight 👋🏻

I believe this item can be submitted to OpenSSF now.

@TheJuanAndOnly99 to confirm.

James.

eddie-knight commented 1 year ago

Submitted with the release and version items marked as unmet/pending

eddie-knight commented 1 year ago

Closing this as the initial premise "Apply for badge" has been met, and the badge has been added to the README.

A follow-up task will need to be created when we are ready to do additional work on the badge.