SAP / fosstars-rating-core

A framework for defining ratings for open source projects. In particular, the framework offers a security rating for open source projects that may be used to assess the security risk that comes with open source components.
https://sap.github.io/fosstars-rating-core/
Apache License 2.0
60 stars 28 forks source link
calculating-ratings java scores security security-rating security-risks security-tools

Java CI REUSE status Fosstars security rating Fosstars RoP status

Ratings for open source projects

This is a framework for defining and calculating ratings for open source projects. See docs for more details.

Security rating for open source projects

open source software helps a lot, but it also may bring new security issues and therefore increase security risks. Is it safe to use a particular open source component? Sometimes answering this question is not easy. The security rating for open source projects helps to answer this question. First, it gathers various data about an open source project. Then, it calculates a security rating for it. The rating helps to assess the security risk that comes with this open source project.

More details about the security rating can be found in the docs.

Requirements

Download and installation

The jars are available on the Maven Central repository:

<dependency>
    <groupId>com.sap.oss.phosphor</groupId>
    <artifactId>fosstars-rating-core</artifactId>
    <version>1.14.0</version>
</dependency>

Or, the project can be built and installed with the following command:

mvn clean install

Fosstars GitHub action

For projects on GitHub, there is a GitHub action that calculates a security rating and generates a badge.

CLI for calculating ratings

There is a CLI for calculating ratings

The tool can be run with commands like the following:

git clone https://github.com/SAP/fosstars-rating-core.git
cd fosstars-rating-core
mvn package -DskipTests
TOKEN=xyz # use your personal token, see below
java -jar target/fosstars-github-rating-calc.jar --rating security --url https://github.com/curl/curl --verbose --token ${TOKEN}

The TOKEN variable contains a token for accessing the GitHub API. You can create a personal token in the settings/tokens tab in your profile on GitHub.

In the verbose mode, the tool is going to print out the following:

Here is what the output looks like:

CLI demo

Here you can find full output.

If --interactive option is specified, the tool becomes a bit interactive, and may ask the user a couple of questions. You can also find more details in the docs.

Running CLI in Docker

You can also run the CLI in a Docker container:

docker build --tag fosstars --file src/main/docker/cli/Dockerfile .
docker run -v $(pwd):/work fosstars --rating security --token $TOKEN --url https://github.com/apache/poi

Known issues

Please see GitHub issues.

How to obtain support

Please create a new GitHub issue if you found a bug, or you'd like to propose an enhancement. If you think you found a security issue, please follow this guideline.

If you have a question, please open a discussion.

Contributing

We appreciate feedback, ideas for improvements and, of course, pull requests.

Please follow this guideline if you'd like to contribute to the project.