mirror of
https://github.com/ossf/scorecard.git
synced 2024-10-05 13:17:08 +03:00
🌱 maintainer annotations: improve annotation file validation (#4162)
* validate check names against full list Signed-off-by: Raghav Kaul <raghavkaul+github@google.com> * tests: close file Signed-off-by: Raghav Kaul <raghavkaul+github@google.com> * update Signed-off-by: Raghav Kaul <raghavkaul+github@google.com> * make private Signed-off-by: Raghav Kaul <raghavkaul+github@google.com> * Restructure imports Signed-off-by: Raghav Kaul <raghavkaul+github@google.com> * update Signed-off-by: Raghav Kaul <raghavkaul+github@google.com> --------- Signed-off-by: Raghav Kaul <raghavkaul+github@google.com>
This commit is contained in:
parent
9f9afa0c30
commit
28337f13b1
@ -23,6 +23,7 @@ import (
|
|||||||
"gopkg.in/yaml.v3"
|
"gopkg.in/yaml.v3"
|
||||||
|
|
||||||
sce "github.com/ossf/scorecard/v5/errors"
|
sce "github.com/ossf/scorecard/v5/errors"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@ -45,19 +46,19 @@ func parseFile(c *Config, content []byte) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func isValidCheck(check string, checks []string) bool {
|
func isValidCheck(check string) bool {
|
||||||
for _, validCheck := range checks {
|
for _, c := range checknames.AllValidChecks {
|
||||||
if strings.EqualFold(check, validCheck) {
|
if strings.EqualFold(c, check) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
func validate(c Config, checks []string) error {
|
func validate(c Config) error {
|
||||||
for _, annotation := range c.Annotations {
|
for _, annotation := range c.Annotations {
|
||||||
for _, check := range annotation.Checks {
|
for _, check := range annotation.Checks {
|
||||||
if !isValidCheck(check, checks) {
|
if !isValidCheck(check) {
|
||||||
return fmt.Errorf("%w: %s", errInvalidCheck, check)
|
return fmt.Errorf("%w: %s", errInvalidCheck, check)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -71,7 +72,7 @@ func validate(c Config, checks []string) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Parse reads the configuration file from the repo, stored in scorecard.yml, and returns a `Config`.
|
// Parse reads the configuration file from the repo, stored in scorecard.yml, and returns a `Config`.
|
||||||
func Parse(r io.Reader, checks []string) (Config, error) {
|
func Parse(r io.Reader) (Config, error) {
|
||||||
c := Config{}
|
c := Config{}
|
||||||
// Find scorecard.yml file in the repository's root
|
// Find scorecard.yml file in the repository's root
|
||||||
content, err := io.ReadAll(r)
|
content, err := io.ReadAll(r)
|
||||||
@ -84,7 +85,7 @@ func Parse(r io.Reader, checks []string) (Config, error) {
|
|||||||
return Config{}, fmt.Errorf("fail to parse configuration file: %w", err)
|
return Config{}, fmt.Errorf("fail to parse configuration file: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
err = validate(c, checks)
|
err = validate(c)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return Config{}, fmt.Errorf("configuration file is not valid: %w", err)
|
return Config{}, fmt.Errorf("configuration file is not valid: %w", err)
|
||||||
}
|
}
|
||||||
|
@ -12,18 +12,13 @@
|
|||||||
// See the License for the specific language governing permissions and
|
// See the License for the specific language governing permissions and
|
||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
|
|
||||||
// Warning: config cannot import checks. This is why we declare a different package here
|
package config
|
||||||
// and import both config and checks to test config.
|
|
||||||
package config_test
|
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"os"
|
"os"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/google/go-cmp/cmp"
|
"github.com/google/go-cmp/cmp"
|
||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checks"
|
|
||||||
"github.com/ossf/scorecard/v5/config"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func Test_Parse_Checks(t *testing.T) {
|
func Test_Parse_Checks(t *testing.T) {
|
||||||
@ -31,17 +26,17 @@ func Test_Parse_Checks(t *testing.T) {
|
|||||||
tests := []struct {
|
tests := []struct {
|
||||||
name string
|
name string
|
||||||
configPath string
|
configPath string
|
||||||
want config.Config
|
want Config
|
||||||
wantErr bool
|
wantErr bool
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
name: "Annotation on a single check",
|
name: "Annotation on a single check",
|
||||||
configPath: "testdata/single_check.yml",
|
configPath: "testdata/single_check.yml",
|
||||||
want: config.Config{
|
want: Config{
|
||||||
Annotations: []config.Annotation{
|
Annotations: []Annotation{
|
||||||
{
|
{
|
||||||
Checks: []string{"binary-artifacts"},
|
Checks: []string{"binary-artifacts"},
|
||||||
Reasons: []config.ReasonGroup{{Reason: "test-data"}},
|
Reasons: []ReasonGroup{{Reason: "test-data"}},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -49,8 +44,8 @@ func Test_Parse_Checks(t *testing.T) {
|
|||||||
{
|
{
|
||||||
name: "Annotation on all checks",
|
name: "Annotation on all checks",
|
||||||
configPath: "testdata/all_checks.yml",
|
configPath: "testdata/all_checks.yml",
|
||||||
want: config.Config{
|
want: Config{
|
||||||
Annotations: []config.Annotation{
|
Annotations: []Annotation{
|
||||||
{
|
{
|
||||||
Checks: []string{
|
Checks: []string{
|
||||||
"binary-artifacts",
|
"binary-artifacts",
|
||||||
@ -72,7 +67,7 @@ func Test_Parse_Checks(t *testing.T) {
|
|||||||
"token-permissions",
|
"token-permissions",
|
||||||
"vulnerabilities",
|
"vulnerabilities",
|
||||||
},
|
},
|
||||||
Reasons: []config.ReasonGroup{{Reason: "test-data"}},
|
Reasons: []ReasonGroup{{Reason: "test-data"}},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -80,11 +75,11 @@ func Test_Parse_Checks(t *testing.T) {
|
|||||||
{
|
{
|
||||||
name: "Annotating all reasons",
|
name: "Annotating all reasons",
|
||||||
configPath: "testdata/all_reasons.yml",
|
configPath: "testdata/all_reasons.yml",
|
||||||
want: config.Config{
|
want: Config{
|
||||||
Annotations: []config.Annotation{
|
Annotations: []Annotation{
|
||||||
{
|
{
|
||||||
Checks: []string{"binary-artifacts"},
|
Checks: []string{"binary-artifacts"},
|
||||||
Reasons: []config.ReasonGroup{
|
Reasons: []ReasonGroup{
|
||||||
{Reason: "test-data"},
|
{Reason: "test-data"},
|
||||||
{Reason: "remediated"},
|
{Reason: "remediated"},
|
||||||
{Reason: "not-applicable"},
|
{Reason: "not-applicable"},
|
||||||
@ -98,15 +93,15 @@ func Test_Parse_Checks(t *testing.T) {
|
|||||||
{
|
{
|
||||||
name: "Multiple annotations",
|
name: "Multiple annotations",
|
||||||
configPath: "testdata/multiple_annotations.yml",
|
configPath: "testdata/multiple_annotations.yml",
|
||||||
want: config.Config{
|
want: Config{
|
||||||
Annotations: []config.Annotation{
|
Annotations: []Annotation{
|
||||||
{
|
{
|
||||||
Checks: []string{"binary-artifacts"},
|
Checks: []string{"binary-artifacts"},
|
||||||
Reasons: []config.ReasonGroup{{Reason: "test-data"}},
|
Reasons: []ReasonGroup{{Reason: "test-data"}},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Checks: []string{"pinned-dependencies"},
|
Checks: []string{"pinned-dependencies"},
|
||||||
Reasons: []config.ReasonGroup{{Reason: "not-applicable"}},
|
Reasons: []ReasonGroup{{Reason: "not-applicable"}},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -124,17 +119,13 @@ func Test_Parse_Checks(t *testing.T) {
|
|||||||
}
|
}
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
tt := tt // Re-initializing variable so it is not changed while executing the closure below
|
tt := tt // Re-initializing variable so it is not changed while executing the closure below
|
||||||
allChecks := []string{}
|
|
||||||
for check := range checks.GetAll() {
|
|
||||||
allChecks = append(allChecks, check)
|
|
||||||
}
|
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
r, err := os.Open(tt.configPath)
|
r, err := os.Open(tt.configPath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Could not open config test file: %s", tt.configPath)
|
t.Fatalf("Could not open config test file: %s", tt.configPath)
|
||||||
}
|
}
|
||||||
result, err := config.Parse(r, allChecks)
|
result, err := Parse(r)
|
||||||
if (err != nil) != tt.wantErr {
|
if (err != nil) != tt.wantErr {
|
||||||
t.Fatalf("Unexpected error during Parse: got %v, wantErr %v", err, tt.wantErr)
|
t.Fatalf("Unexpected error during Parse: got %v, wantErr %v", err, tt.wantErr)
|
||||||
}
|
}
|
||||||
|
64
internal/checknames/checknames.go
Normal file
64
internal/checknames/checknames.go
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
// Copyright 2024 OpenSSF Scorecard Authors
|
||||||
|
//
|
||||||
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
// you may not use this file except in compliance with the License.
|
||||||
|
// You may obtain a copy of the License at
|
||||||
|
//
|
||||||
|
// http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
//
|
||||||
|
// Unless required by applicable law or agreed to in writing, software
|
||||||
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
// See the License for the specific language governing permissions and
|
||||||
|
// limitations under the License.
|
||||||
|
|
||||||
|
package checknames
|
||||||
|
|
||||||
|
type CheckName = string
|
||||||
|
|
||||||
|
// Redefining check names here to avoid circular imports.
|
||||||
|
const (
|
||||||
|
BinaryArtifacts CheckName = "Binary-Artifacts"
|
||||||
|
BranchProtection CheckName = "Branch-Protection"
|
||||||
|
CIIBestPractices CheckName = "CII-Best-Practices"
|
||||||
|
CITests CheckName = "CI-Tests"
|
||||||
|
CodeReview CheckName = "Code-Review"
|
||||||
|
Contributors CheckName = "Contributors"
|
||||||
|
DangerousWorkflow CheckName = "Dangerous-Workflow"
|
||||||
|
DependencyUpdateTool CheckName = "Dependency-Update-Tool"
|
||||||
|
Fuzzing CheckName = "Fuzzing"
|
||||||
|
License CheckName = "License"
|
||||||
|
Maintained CheckName = "Maintained"
|
||||||
|
Packaging CheckName = "Packaging"
|
||||||
|
PinnedDependencies CheckName = "Pinned-Dependencies"
|
||||||
|
SAST CheckName = "SAST"
|
||||||
|
SBOM CheckName = "SBOM"
|
||||||
|
SecurityPolicy CheckName = "Security-Policy"
|
||||||
|
SignedReleases CheckName = "Signed-Releases"
|
||||||
|
TokenPermissions CheckName = "Token-Permissions"
|
||||||
|
Vulnerabilities CheckName = "Vulnerabilities"
|
||||||
|
Webhooks CheckName = "Webhooks"
|
||||||
|
)
|
||||||
|
|
||||||
|
var AllValidChecks []string = []string{
|
||||||
|
BinaryArtifacts,
|
||||||
|
BranchProtection,
|
||||||
|
CIIBestPractices,
|
||||||
|
CITests,
|
||||||
|
CodeReview,
|
||||||
|
Contributors,
|
||||||
|
DangerousWorkflow,
|
||||||
|
DependencyUpdateTool,
|
||||||
|
Fuzzing,
|
||||||
|
License,
|
||||||
|
Maintained,
|
||||||
|
Packaging,
|
||||||
|
PinnedDependencies,
|
||||||
|
SAST,
|
||||||
|
SBOM,
|
||||||
|
SecurityPolicy,
|
||||||
|
SignedReleases,
|
||||||
|
TokenPermissions,
|
||||||
|
Vulnerabilities,
|
||||||
|
Webhooks,
|
||||||
|
}
|
@ -20,39 +20,14 @@ import (
|
|||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/errors"
|
"github.com/ossf/scorecard/v5/errors"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
)
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
|
|
||||||
type CheckName string
|
|
||||||
|
|
||||||
// Redefining check names here to avoid circular imports.
|
|
||||||
const (
|
|
||||||
BinaryArtifacts CheckName = "Binary-Artifacts"
|
|
||||||
BranchProtection CheckName = "Branch-Protection"
|
|
||||||
CIIBestPractices CheckName = "CII-Best-Practices"
|
|
||||||
CITests CheckName = "CI-Tests"
|
|
||||||
CodeReview CheckName = "Code-Review"
|
|
||||||
Contributors CheckName = "Contributors"
|
|
||||||
DangerousWorkflow CheckName = "Dangerous-Workflow"
|
|
||||||
DependencyUpdateTool CheckName = "Dependency-Update-Tool"
|
|
||||||
Fuzzing CheckName = "Fuzzing"
|
|
||||||
License CheckName = "License"
|
|
||||||
Maintained CheckName = "Maintained"
|
|
||||||
Packaging CheckName = "Packaging"
|
|
||||||
PinnedDependencies CheckName = "Pinned-Dependencies"
|
|
||||||
SAST CheckName = "SAST"
|
|
||||||
SBOM CheckName = "SBOM"
|
|
||||||
SecurityPolicy CheckName = "Security-Policy"
|
|
||||||
SignedReleases CheckName = "Signed-Releases"
|
|
||||||
TokenPermissions CheckName = "Token-Permissions"
|
|
||||||
Vulnerabilities CheckName = "Vulnerabilities"
|
|
||||||
Webhooks CheckName = "Webhooks"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type Probe struct {
|
type Probe struct {
|
||||||
Name string
|
Name string
|
||||||
Implementation ProbeImpl
|
Implementation ProbeImpl
|
||||||
IndependentImplementation IndependentProbeImpl
|
IndependentImplementation IndependentProbeImpl
|
||||||
RequiredRawData []CheckName
|
RequiredRawData []checknames.CheckName
|
||||||
}
|
}
|
||||||
|
|
||||||
type ProbeImpl func(*checker.RawResults) ([]finding.Finding, string, error)
|
type ProbeImpl func(*checker.RawResults) ([]finding.Finding, string, error)
|
||||||
@ -62,7 +37,7 @@ type IndependentProbeImpl func(*checker.CheckRequest) ([]finding.Finding, string
|
|||||||
// registered is the mapping of all registered probes.
|
// registered is the mapping of all registered probes.
|
||||||
var registered = map[string]Probe{}
|
var registered = map[string]Probe{}
|
||||||
|
|
||||||
func MustRegister(name string, impl ProbeImpl, requiredRawData []CheckName) {
|
func MustRegister(name string, impl ProbeImpl, requiredRawData []checknames.CheckName) {
|
||||||
err := register(Probe{
|
err := register(Probe{
|
||||||
Name: name,
|
Name: name,
|
||||||
Implementation: impl,
|
Implementation: impl,
|
||||||
|
@ -21,6 +21,7 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
. "github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
)
|
)
|
||||||
|
|
||||||
func emptyImpl(r *checker.RawResults) ([]finding.Finding, string, error) {
|
func emptyImpl(r *checker.RawResults) ([]finding.Finding, string, error) {
|
||||||
|
@ -180,11 +180,7 @@ func runScorecard(ctx context.Context,
|
|||||||
if r != nil {
|
if r != nil {
|
||||||
defer r.Close()
|
defer r.Close()
|
||||||
logger.Info(fmt.Sprintf("using maintainer annotations: %s", path))
|
logger.Info(fmt.Sprintf("using maintainer annotations: %s", path))
|
||||||
checks := []string{}
|
c, err := config.Parse(r)
|
||||||
for check := range checksToRun {
|
|
||||||
checks = append(checks, check)
|
|
||||||
}
|
|
||||||
c, err := config.Parse(r, checks)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Info(fmt.Sprintf("couldn't parse maintainer annotations: %v", err))
|
logger.Info(fmt.Sprintf("couldn't parse maintainer annotations: %v", err))
|
||||||
}
|
}
|
||||||
|
@ -402,7 +402,7 @@ func populateRawResults(request *checker.CheckRequest, probesToRun []string, ret
|
|||||||
return fmt.Errorf("getting probe %q: %w", probeName, err)
|
return fmt.Errorf("getting probe %q: %w", probeName, err)
|
||||||
}
|
}
|
||||||
for _, checkName := range p.RequiredRawData {
|
for _, checkName := range p.RequiredRawData {
|
||||||
checkName := string(checkName)
|
checkName := checkName
|
||||||
if !seen[checkName] {
|
if !seen[checkName] {
|
||||||
err := assignRawData(checkName, request, ret)
|
err := assignRawData(checkName, request, ret)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -20,12 +20,13 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.Maintained})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.Maintained})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -21,12 +21,13 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.BranchProtection})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.BranchProtection})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -21,12 +21,13 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.BranchProtection})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.BranchProtection})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -21,13 +21,14 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/branchprotection"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/branchprotection"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.BranchProtection})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.BranchProtection})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -21,12 +21,13 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.BranchProtection})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.BranchProtection})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -22,12 +22,13 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.CodeReview})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.CodeReview})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -22,12 +22,13 @@ import (
|
|||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/clients"
|
"github.com/ossf/scorecard/v5/clients"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/utils"
|
"github.com/ossf/scorecard/v5/probes/utils"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.CodeReview})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.CodeReview})
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -21,6 +21,7 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
@ -30,7 +31,7 @@ const (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.Contributors})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.Contributors})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -23,12 +23,13 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.Maintained})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.Maintained})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -21,12 +21,13 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.DependencyUpdateTool})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.DependencyUpdateTool})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -21,13 +21,14 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/branchprotection"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/branchprotection"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.BranchProtection})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.BranchProtection})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -20,12 +20,13 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.Fuzzing})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.Fuzzing})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -21,12 +21,13 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.BinaryArtifacts})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.BinaryArtifacts})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -21,12 +21,13 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.DangerousWorkflow})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.DangerousWorkflow})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -21,12 +21,13 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.DangerousWorkflow})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.DangerousWorkflow})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -21,12 +21,13 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.License})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.License})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -21,12 +21,13 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.License})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.License})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -25,12 +25,13 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.Vulnerabilities})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.Vulnerabilities})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -22,12 +22,13 @@ import (
|
|||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/clients"
|
"github.com/ossf/scorecard/v5/clients"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.CIIBestPractices})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.CIIBestPractices})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -21,6 +21,7 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
@ -29,7 +30,7 @@ import (
|
|||||||
var fs embed.FS
|
var fs embed.FS
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.License})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.License})
|
||||||
}
|
}
|
||||||
|
|
||||||
const Probe = "hasPermissiveLicense"
|
const Probe = "hasPermissiveLicense"
|
||||||
|
@ -23,12 +23,13 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.Maintained})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.Maintained})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -21,12 +21,13 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.SBOM})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.SBOM})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -21,12 +21,13 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.SBOM})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.SBOM})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -21,12 +21,13 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.BinaryArtifacts})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.BinaryArtifacts})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -24,12 +24,13 @@ import (
|
|||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/clients"
|
"github.com/ossf/scorecard/v5/clients"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.Maintained})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.Maintained})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -21,12 +21,13 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.Packaging})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.Packaging})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -23,12 +23,13 @@ import (
|
|||||||
"github.com/ossf/scorecard/v5/checks/fileparser"
|
"github.com/ossf/scorecard/v5/checks/fileparser"
|
||||||
sce "github.com/ossf/scorecard/v5/errors"
|
sce "github.com/ossf/scorecard/v5/errors"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.PinnedDependencies})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.PinnedDependencies})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -22,12 +22,13 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.SignedReleases})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.SignedReleases})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -22,12 +22,13 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.SignedReleases})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.SignedReleases})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -21,11 +21,12 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.SignedReleases})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.SignedReleases})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -23,12 +23,13 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.BranchProtection})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.BranchProtection})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -21,12 +21,13 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.BranchProtection})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.BranchProtection})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -21,13 +21,14 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/branchprotection"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/branchprotection"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.BranchProtection})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.BranchProtection})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -22,12 +22,13 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.BranchProtection})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.BranchProtection})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -21,13 +21,14 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/branchprotection"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/branchprotection"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.BranchProtection})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.BranchProtection})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -21,12 +21,13 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.BranchProtection})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.BranchProtection})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -21,12 +21,13 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.SAST})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.SAST})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -22,12 +22,13 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.SAST})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.SAST})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -21,13 +21,14 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/secpolicy"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/secpolicy"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.SecurityPolicy})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.SecurityPolicy})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -21,13 +21,14 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/secpolicy"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/secpolicy"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.SecurityPolicy})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.SecurityPolicy})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -21,13 +21,14 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/secpolicy"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/secpolicy"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.SecurityPolicy})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.SecurityPolicy})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -21,12 +21,13 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.SecurityPolicy})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.SecurityPolicy})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -22,12 +22,13 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.CITests})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.CITests})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
@ -21,12 +21,13 @@ import (
|
|||||||
|
|
||||||
"github.com/ossf/scorecard/v5/checker"
|
"github.com/ossf/scorecard/v5/checker"
|
||||||
"github.com/ossf/scorecard/v5/finding"
|
"github.com/ossf/scorecard/v5/finding"
|
||||||
|
"github.com/ossf/scorecard/v5/internal/checknames"
|
||||||
"github.com/ossf/scorecard/v5/internal/probes"
|
"github.com/ossf/scorecard/v5/internal/probes"
|
||||||
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
"github.com/ossf/scorecard/v5/probes/internal/utils/uerror"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
probes.MustRegister(Probe, Run, []probes.CheckName{probes.Webhooks})
|
probes.MustRegister(Probe, Run, []checknames.CheckName{checknames.Webhooks})
|
||||||
}
|
}
|
||||||
|
|
||||||
//go:embed *.yml
|
//go:embed *.yml
|
||||||
|
Loading…
Reference in New Issue
Block a user