遵循以下最佳实践的项目将能够自愿的自我认证,并显示他们已经实现了核心基础设施计划(OpenSSF)徽章。 显示详细资料
[](https://www.bestpractices.dev/projects/9723)
<a href="https://www.bestpractices.dev/projects/9723"><img src="https://www.bestpractices.dev/projects/9723/badge"></a>
Inject OWASP recommended HTTP Headers for increased security in a single line
The documentation site for the project has an entire page on contributing to the project -> https://gaprogman.github.io/OwaspHeaders.Core/Contributing/; including a code of conduct and a PR template (which is enforced when creating a PR)
The code of conduct is available in both the GitHut repository (https://github.com/GaProgMan/OwaspHeaders.Core/blob/main/.github/CODE_OF_CONDUCT.md) and the documentation (https://gaprogman.github.io/OwaspHeaders.Core/Code-of-Conduct/)
The project has 10 contributes, with three recent contributors. https://github.com/GaProgMan/OwaspHeaders.Core/graphs/contributors
See the project documentation: https://gaprogman.github.io/OwaspHeaders.Core/
This is covered in the security file in the GitHub repository: https://github.com/GaProgMan/OwaspHeaders.Core/blob/main/SECURITY.md
This is provided in the documentation (https://gaprogman.github.io/OwaspHeaders.Core/#quick-start), GitHub readme (https://github.com/GaProgMan/OwaspHeaders.Core/tree/main?tab=readme-ov-file#getting-started), and on NuGet (https://www.nuget.org/packages/OwaspHeaders.Core/#readme-body-tab)
Covered in the changelog: https://github.com/GaProgMan/OwaspHeaders.Core/blob/main/changelog.md
See both the readme (https://github.com/GaProgMan/OwaspHeaders.Core/blob/main/README.md) and documentation site ()https://gaprogman.github.io/OwaspHeaders.Core/
The documentation site (https://gaprogman.github.io/OwaspHeaders.Core/) currently scores a 96 on Google Chrome's accessibility testing
The software doesn't generate text intended for end-users and doesn't sort human-readable text
This project and it's sites do not explicitly store any user data in any form
Every version of the software built from the main branch is archived at NuGet: https://www.nuget.org/packages/OwaspHeaders.Core/ There are also manually created releases on the GitHub repository for the project: https://github.com/GaProgMan/OwaspHeaders.Core/releases
This project makes use of the GitHub issues feature for submitting bugs: https://github.com/GaProgMan/OwaspHeaders.Core/issues
There have been no vulnerabilities resolved in the last 12 months at this time.
This project makes use of an .editorconfig file, and all PRs must pass an automated dotnet-format check which ensures that the code base matches those standards. See: https://github.com/GaProgMan/OwaspHeaders.Core/blob/main/.github/workflows/dotnet.yml#L33
Not applicable as native binaries are not provided.
This is met by NuGet build tooling, which reads the "IncludeSymbols" key in the main CSPROJ file (see: https://github.com/GaProgMan/OwaspHeaders.Core/blob/main/src/OwaspHeaders.Core.csproj#L23) and uploads an SNUPKG file to NuGet, allowing consumers access to debug symbols when they install the package.
The GitHub action which builds the project for packaging explicitly builds and packages all code found in a the root directory, only making use of one level of sub-directories: https://github.com/GaProgMan/OwaspHeaders.Core/blob/main/.github/workflows/release.yml#L78
The .NET SDK toolchain, along with the "Deterministic Build" flag (see: https://github.com/GaProgMan/OwaspHeaders.Core/blob/main/src/OwaspHeaders.Core.csproj#L28) take care of this.
This software is installed using the standard .NET tooling (i.e. "dotnet add package OwaspHeaders.Core") or the NuGet tooling provided inside of .NET IDEs.
This is handled by the .NET tooling, specifically the tooling around NuGet
The project has a single support environment requirement: The .NET SDK. The readme covers how to get set up with that.
This project has only one external dependency: The .NET SDK and runtime (which is bundled with the SDK)
As the project takes only one dependency (the .NET SDK), this is automatically met whenever a new version of the SDK is released.
This project makes use of the standard components provided by both .NET and the C# programming language
All APIs in use are provided by .NET and C#. When one is deprecated, the next suitable API is chosen.
The automated test suite is run on the code base for every pull request (see: https://github.com/GaProgMan/OwaspHeaders.Core/blob/main/.github/workflows/dotnet.yml#L85) and directly committing to the main branch is disabled.
There is a directory of tests specifically to protect against regressions: https://github.com/GaProgMan/OwaspHeaders.Core/tree/main/tests/OwaspHeaders.Core.Tests/RegressionTests
The .NET tooling provides code and branch coverage, and each pull request includes a report on the code coverage for that pull request. See: https://github.com/GaProgMan/OwaspHeaders.Core/pull/146#issuecomment-2517781230 for an example
This is explained in both the pull request template (https://github.com/GaProgMan/OwaspHeaders.Core/blob/main/.github/pull_request_template.md) and the documentation around contributing (https://gaprogman.github.io/OwaspHeaders.Core/Contributing/)
The .NET tooling supports reporting compiler warnings as errors when the TreatWarningsAsErrors flag is enabled on all projects. This was added in PR 104: https://github.com/GaProgMan/OwaspHeaders.Core/pull/104. This is the maximum level provided by the .NET tooling for reporting warnings as errors
This software implements the OWASP Secure Headers Project (https://owasp.org/www-project-secure-headers/#div-headers)
The software makes no use of cryptographic functions in any way.
This software does not make use of any cryptographic algorithms
This software does not make use of any authentication
This software does not send any external communications via any protocols
The software does not use TLS
The software does not read user input
The project makes use of CodeQL on all Pull Requests to main (directly committing to main is disabled). The CodeQL analysis is also run on a weekly basis.
This is not applicable as the code reads values provided by ASP .NET Core rather than from user supplied files. We can make the assumption that ASP .NET Core has sufficient fuzzing involved in it's development process.
后退