Skip to content

Commit

Permalink
✨ Commit depth feature (ossf#2407)
Browse files Browse the repository at this point in the history
* 🌱 Bump actions/dependency-review-action from 2.4.1 to 2.5.1

Bumps [actions/dependency-review-action](https://github.com/actions/dependency-review-action) from 2.4.1 to 2.5.1.
- [Release notes](https://github.com/actions/dependency-review-action/releases)
- [Commits](actions/dependency-review-action@9c96258...0efb1d1)

---
updated-dependencies:
- dependency-name: actions/dependency-review-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: latortuga71 <[email protected]>

* commit_depth feature

Signed-off-by: latortuga71 <[email protected]>

* added more descriptive comments, changed numberofcommits variable name, moved paging for commits into seperate function.

small changes

Signed-off-by: latortuga71 <[email protected]>

linter

Signed-off-by: latortuga71 <[email protected]>

* added unit tests

Signed-off-by: latortuga71 <[email protected]>

added test in e2e

Signed-off-by: latortuga71 <[email protected]>

* 🌱 Bump github.com/spf13/cobra from 1.6.0 to 1.6.1 (ossf#2397)

Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.6.0 to 1.6.1.
- [Release notes](https://github.com/spf13/cobra/releases)
- [Commits](spf13/cobra@v1.6.0...v1.6.1)

---
updated-dependencies:
- dependency-name: github.com/spf13/cobra
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: latortuga71 <[email protected]>

* 🌱 Bump github.com/onsi/ginkgo/v2 from 2.1.6 to 2.4.0

Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.1.6 to 2.4.0.
- [Release notes](https://github.com/onsi/ginkgo/releases)
- [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md)
- [Commits](onsi/ginkgo@v2.1.6...v2.4.0)

---
updated-dependencies:
- dependency-name: github.com/onsi/ginkgo/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: latortuga71 <[email protected]>

* 🌱 Bump cloud.google.com/go/pubsub from 1.25.1 to 1.26.0

Bumps [cloud.google.com/go/pubsub](https://github.com/googleapis/google-cloud-go) from 1.25.1 to 1.26.0.
- [Release notes](https://github.com/googleapis/google-cloud-go/releases)
- [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/CHANGES.md)
- [Commits](googleapis/google-cloud-go@pubsub/v1.25.1...pubsub/v1.26.0)

---
updated-dependencies:
- dependency-name: cloud.google.com/go/pubsub
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: latortuga71 <[email protected]>

* 🌱 Bump github.com/xanzy/go-gitlab from 0.73.1 to 0.74.0

Bumps [github.com/xanzy/go-gitlab](https://github.com/xanzy/go-gitlab) from 0.73.1 to 0.74.0.
- [Release notes](https://github.com/xanzy/go-gitlab/releases)
- [Changelog](https://github.com/xanzy/go-gitlab/blob/master/releases_test.go)
- [Commits](xanzy/go-gitlab@v0.73.1...v0.74.0)

---
updated-dependencies:
- dependency-name: github.com/xanzy/go-gitlab
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: latortuga71 <[email protected]>

* 🌱 Bump github.com/onsi/gomega from 1.20.2 to 1.23.0 (ossf#2409)

Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.20.2 to 1.23.0.
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](onsi/gomega@v1.20.2...v1.23.0)

---
updated-dependencies:
- dependency-name: github.com/onsi/gomega
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: latortuga71 <[email protected]>

* 🌱 Bump github.com/onsi/ginkgo/v2 from 2.1.6 to 2.4.0 in /tools

Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.1.6 to 2.4.0.
- [Release notes](https://github.com/onsi/ginkgo/releases)
- [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md)
- [Commits](onsi/ginkgo@v2.1.6...v2.4.0)

---
updated-dependencies:
- dependency-name: github.com/onsi/ginkgo/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: latortuga71 <[email protected]>

* 🌱 Bump github.com/golangci/golangci-lint in /tools

Bumps [github.com/golangci/golangci-lint](https://github.com/golangci/golangci-lint) from 1.50.0 to 1.50.1.
- [Release notes](https://github.com/golangci/golangci-lint/releases)
- [Changelog](https://github.com/golangci/golangci-lint/blob/master/CHANGELOG.md)
- [Commits](golangci/golangci-lint@v1.50.0...v1.50.1)

---
updated-dependencies:
- dependency-name: github.com/golangci/golangci-lint
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: latortuga71 <[email protected]>

* 🌱 Bump goreleaser/goreleaser-action from 2.9.1 to 3.2.0 (ossf#2363)

Bumps [goreleaser/goreleaser-action](https://github.com/goreleaser/goreleaser-action) from 2.9.1 to 3.2.0.
- [Release notes](https://github.com/goreleaser/goreleaser-action/releases)
- [Commits](goreleaser/goreleaser-action@b953231...b508e2e)

---
updated-dependencies:
- dependency-name: goreleaser/goreleaser-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: latortuga71 <[email protected]>

* 🌱 Bump github.com/goreleaser/goreleaser in /tools (ossf#2373)

Bumps [github.com/goreleaser/goreleaser](https://github.com/goreleaser/goreleaser) from 1.11.5 to 1.12.3.
- [Release notes](https://github.com/goreleaser/goreleaser/releases)
- [Changelog](https://github.com/goreleaser/goreleaser/blob/main/.goreleaser.yaml)
- [Commits](goreleaser/goreleaser@v1.11.5...v1.12.3)

---
updated-dependencies:
- dependency-name: github.com/goreleaser/goreleaser
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: latortuga71 <[email protected]>

* ✨ CLI for scorecard-attestor (ossf#2309)

* Reorganize

Signed-off-by: Raghav Kaul <[email protected]>

* Working commit

Signed-off-by: Raghav Kaul <[email protected]>

* Compile with local scorecard; go mod tidy

Signed-off-by: Raghav Kaul <[email protected]>

* Add signing code

Heavily borrowed from https://github.com/grafeas/kritis/blob/master/cmd/kritis/signer/main.go

Signed-off-by: Raghav Kaul <[email protected]>

* Update deps

* Naming
* Makefile

Signed-off-by: Raghav Kaul <[email protected]>

* Edit license, add lint.yml

Signed-off-by: Raghav Kaul <[email protected]>

* checks: go mod tidy, license

Signed-off-by: Raghav Kaul <[email protected]>

* Address PR comments

* Split into checker/signer files
* Naming convention

Signed-off-by: Raghav Kaul <[email protected]>

* License, remove golangci.yml

Signed-off-by: Raghav Kaul <[email protected]>

* Address PR comments

* Use cobra

Signed-off-by: Raghav Kaul <[email protected]>

* Add tests for root command

Signed-off-by: Raghav Kaul <[email protected]>

* Filter out checks that aren't needed for policy evaluation

Signed-off-by: Raghav Kaul <[email protected]>

* Add `make` targets for attestor; submit coverage stats

Signed-off-by: Raghav Kaul <[email protected]>

* Improvements

* Use sclog instead of glog
* Remove unneeded subcommands
* Formatting

Signed-off-by: Raghav Kaul <[email protected]>

* Flags: Make note-name constant and fix messaging

Signed-off-by: Raghav Kaul <[email protected]>

* Remove SupportedRequestTypes

Signed-off-by: Raghav Kaul <[email protected]>

* go mod tidy

Signed-off-by: Raghav Kaul <[email protected]>

* go mod tidy, makefile

Signed-off-by: Raghav Kaul <[email protected]>

* Fix GH actions run

Signed-off-by: Raghav Kaul <[email protected]>

Signed-off-by: Raghav Kaul <[email protected]>
Signed-off-by: latortuga71 <[email protected]>

* fix workflow (ossf#2417)

Signed-off-by: Spencer Schrock <[email protected]>

Signed-off-by: Spencer Schrock <[email protected]>
Signed-off-by: latortuga71 <[email protected]>

* Bump scorecard-action (ossf#2416)

Signed-off-by: Spencer Schrock <[email protected]>

Signed-off-by: Spencer Schrock <[email protected]>
Signed-off-by: latortuga71 <[email protected]>

* Fail unit-test job if codecov upload fails (ossf#2415)

Signed-off-by: Spencer Schrock <[email protected]>

Signed-off-by: Spencer Schrock <[email protected]>
Signed-off-by: latortuga71 <[email protected]>

* 🌱 Enable comparison for alternative isText implementation (ossf#2414)

* use more performant IsText

Signed-off-by: Spencer Schrock <[email protected]>

* AB test isText implementations

Signed-off-by: Spencer Schrock <[email protected]>

* Add comparison env var to release test.

Signed-off-by: Spencer Schrock <[email protected]>

* go mod tidy for attestor

Signed-off-by: Spencer Schrock <[email protected]>

Signed-off-by: Spencer Schrock <[email protected]>
Signed-off-by: latortuga71 <[email protected]>

* 🐛 modify alternative isText to accept carriage returns (ossf#2421)

* modify IsText from golang.org/x/tools/godoc/util to accept carriage returns.

Signed-off-by: Spencer Schrock <[email protected]>

* add TODO reminder to cleanup after release tests

Signed-off-by: Spencer Schrock <[email protected]>

Signed-off-by: Spencer Schrock <[email protected]>
Signed-off-by: latortuga71 <[email protected]>

* 🌱 Bump github.com/onsi/gomega from 1.23.0 to 1.24.0

Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.23.0 to 1.24.0.
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](onsi/gomega@v1.23.0...v1.24.0)

---
updated-dependencies:
- dependency-name: github.com/onsi/gomega
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: latortuga71 <[email protected]>

* 🌱 Bump github/codeql-action from 2.1.29 to 2.1.30

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.1.29 to 2.1.30.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@ec3cf9c...18fe527)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: latortuga71 <[email protected]>

* revert failing unit-test on ci error (ossf#2422)

Signed-off-by: Spencer Schrock <[email protected]>

Signed-off-by: Spencer Schrock <[email protected]>
Signed-off-by: latortuga71 <[email protected]>

* ✨ Improved Security Policy Check (ossf#2195)

* ✨ Improved Security Policy Check (ossf#2137)

* Examines and awards points for linked content (URLs / Emails)

* Examines and awards points for hints of disclosure and vulnerability practices

* Examines and awards points for hints of elaboration of timelines

Signed-off-by: Scott Hissam <[email protected]>

* Repaired Security Policy to correctly use linked content length for evaluation

Signed-off-by: Scott Hissam <[email protected]>

* gofmt'ed changes

Signed-off-by: Scott Hissam <[email protected]>

* Repaired the case in the evaluation which was too sensitive to content length over the length of the linked content for urls and emails

Signed-off-by: Scott Hissam <[email protected]>

* added unit test cases for the new content-based Security Policy checks

Signed-off-by: Scott Hissam <[email protected]>

* reverted the direct (mistaken) change to checks.md and updated the checks.yaml for generate-docs

Signed-off-by: Scott Hissam <[email protected]>

* ✨ Improved Security Policy Check (ossf#2137) (revisted based on comments)

* replaced reason strings with log.Info & log.Warn (as seen in --show-details)

* internal assertion check for nil (*pinfo) and empty pfile

* internal switched to FileTypeText over FileTypeSource

* internal implement type SecurityPolicyInformationType/SecurityPolicyInformation revised SecurityPolicyData to support only one file

* revised expected unit-test results and revised unit-test to reflect the new SecurityPolicyData type

Signed-off-by: Scott Hissam <[email protected]>

* revised the score value based on observation of one *or more* url(s) or one email(s) found; unit tests update accordingly

Signed-off-by: Scott Hissam <[email protected]>

* revised the score value based on observation of one *or more* url(s) or one email(s) found; unit tests update accordingly

Signed-off-by: Scott Hissam <[email protected]>

* revised the score value based on observation of one *or more* url(s) or one email(s) found; e2e tests update accordingly

Signed-off-by: Scott Hissam <[email protected]>

* Addressed PR comments; added telemetry for policy hits in security policy file to track hits by line number

Signed-off-by: Scott Hissam <[email protected]>

* Resolved merge conflict with checks.yaml

Signed-off-by: Scott Hissam <[email protected]>

* updated raw results to emit all the raw information for the new security policy check

Signed-off-by: Scott Hissam <[email protected]>

* Resolved merge conflicts and lint errors with json_raw_results.go

Signed-off-by: Scott Hissam <[email protected]>

* Addressed review comments to reorganize security policy data struct to support the potential for multiple security policy files.

Signed-off-by: Scott Hissam <[email protected]>

* Added logic to the security policy to process multiple security policy files only after future improvements to aggregating scoring across such files are designed. For now the security policy behaves as originally designed to stop once one of the expected policy files are found in the repo

Signed-off-by: Scott Hissam <[email protected]>

* added comments regarding the capacity to support multiple policy files and removed unneeded break statements in the code

Signed-off-by: Scott Hissam <[email protected]>

* Addressed review comments to remove the dependency on the path in the filename from the code and introduced FileSize to checker.File type and removed the SecurityContentLength which was used to hold that information for the new security policy assessment

Signed-off-by: Scott Hissam <[email protected]>

* restored reporting full security policy path and filename for policies found in the org level repos

Signed-off-by: Scott Hissam <[email protected]>

* Resolved conflicts in checks.yaml for documentation

Signed-off-by: Scott Hissam <[email protected]>

* ✨ CLI for scorecard-attestor (ossf#2309)

* Reorganize

Signed-off-by: Raghav Kaul <[email protected]>

* Working commit

Signed-off-by: Raghav Kaul <[email protected]>

* Compile with local scorecard; go mod tidy

Signed-off-by: Raghav Kaul <[email protected]>

* Add signing code

Heavily borrowed from https://github.com/grafeas/kritis/blob/master/cmd/kritis/signer/main.go

Signed-off-by: Raghav Kaul <[email protected]>

* Update deps

* Naming
* Makefile

Signed-off-by: Raghav Kaul <[email protected]>

* Edit license, add lint.yml

Signed-off-by: Raghav Kaul <[email protected]>

* checks: go mod tidy, license

Signed-off-by: Raghav Kaul <[email protected]>

* Address PR comments

* Split into checker/signer files
* Naming convention

Signed-off-by: Raghav Kaul <[email protected]>

* License, remove golangci.yml

Signed-off-by: Raghav Kaul <[email protected]>

* Address PR comments

* Use cobra

Signed-off-by: Raghav Kaul <[email protected]>

* Add tests for root command

Signed-off-by: Raghav Kaul <[email protected]>

* Filter out checks that aren't needed for policy evaluation

Signed-off-by: Raghav Kaul <[email protected]>

* Add `make` targets for attestor; submit coverage stats

Signed-off-by: Raghav Kaul <[email protected]>

* Improvements

* Use sclog instead of glog
* Remove unneeded subcommands
* Formatting

Signed-off-by: Raghav Kaul <[email protected]>

* Flags: Make note-name constant and fix messaging

Signed-off-by: Raghav Kaul <[email protected]>

* Remove SupportedRequestTypes

Signed-off-by: Raghav Kaul <[email protected]>

* go mod tidy

Signed-off-by: Raghav Kaul <[email protected]>

* go mod tidy, makefile

Signed-off-by: Raghav Kaul <[email protected]>

* Fix GH actions run

Signed-off-by: Raghav Kaul <[email protected]>

Signed-off-by: Raghav Kaul <[email protected]>
Signed-off-by: Scott Hissam <[email protected]>

* removed whitespace before stanza for Run attestor e2e

Signed-off-by: Scott Hissam <[email protected]>

* resolved code review and doc review comments

Signed-off-by: Scott Hissam <[email protected]>

* repaired the link for the maintainer's guide for supporting the coordinated vulnerability disclosure guidelines

Signed-off-by: Scott Hissam <[email protected]>

Signed-off-by: Scott Hissam <[email protected]>
Signed-off-by: latortuga71 <[email protected]>

* 🌱 Bump github/codeql-action from 2.1.30 to 2.1.31 (ossf#2431)

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.1.30 to 2.1.31.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@18fe527...c3b6fce)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: latortuga71 <[email protected]>

* enable more performant isText (ossf#2433)

Signed-off-by: Spencer Schrock <[email protected]>

Signed-off-by: Spencer Schrock <[email protected]>
Signed-off-by: latortuga71 <[email protected]>

* modified tests,InitRepo Function, Added GetCommitDepth Function to Client Interface

Signed-off-by: latortuga71 <[email protected]>

* removed getcommitdepth function

Signed-off-by: latortuga71 <[email protected]>

* added TODO

Signed-off-by: latortuga71 <[email protected]>

* 🌱 Bump github.com/onsi/ginkgo/v2 from 2.4.0 to 2.5.0 in /tools (ossf#2436)

Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.4.0 to 2.5.0.
- [Release notes](https://github.com/onsi/ginkgo/releases)
- [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md)
- [Commits](onsi/ginkgo@v2.4.0...v2.5.0)

---
updated-dependencies:
- dependency-name: github.com/onsi/ginkgo/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: latortuga71 <[email protected]>

* 🌱 Bump github.com/onsi/ginkgo/v2 from 2.4.0 to 2.5.0

Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.4.0 to 2.5.0.
- [Release notes](https://github.com/onsi/ginkgo/releases)
- [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md)
- [Commits](onsi/ginkgo@v2.4.0...v2.5.0)

---
updated-dependencies:
- dependency-name: github.com/onsi/ginkgo/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: latortuga71 <[email protected]>

* 🌱 Code Review: treat merging a PR as code review (ossf#2413)

* Merges on Github count as a code review by the maintainer

Signed-off-by: Raghav Kaul <[email protected]>

* Update Raw Results

* More detailed information for Changesets
* If there's no Revision ID, use the Commit SHA instead

Signed-off-by: Raghav Kaul <[email protected]>

* Check that pull request had atleast one reviewer that wasn't its author

* Add field for Pull Request Merged-By to Github and Gitlab
* Note, this check can be bypassed if an author opens a PR with other
  people's commits

Signed-off-by: Raghav Kaul <[email protected]>

Signed-off-by: Raghav Kaul <[email protected]>
Signed-off-by: latortuga71 <[email protected]>

* Trivial: Fix typo (exepted -> expected) (ossf#2440)

Signed-off-by: Michael Scovetta <[email protected]>

Signed-off-by: Michael Scovetta <[email protected]>
Signed-off-by: latortuga71 <[email protected]>

* 🌱 Bump step-security/harden-runner from 1.5.0 to 2.0.0 (ossf#2443)

Bumps [step-security/harden-runner](https://github.com/step-security/harden-runner) from 1.5.0 to 2.0.0.
- [Release notes](https://github.com/step-security/harden-runner/releases)
- [Commits](step-security/harden-runner@2e205a2...ebacdc2)

---
updated-dependencies:
- dependency-name: step-security/harden-runner
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: latortuga71 <[email protected]>

* 🌱 cron: support reading prefix from file for controller input files (7/n) (ossf#2445)

* add prefix marker file to config

Signed-off-by: Spencer Schrock <[email protected]>

* Read the new config values, if they exist.

Signed-off-by: Spencer Schrock <[email protected]>

* Add function to fetch prefix file config value.

Signed-off-by: Spencer Schrock <[email protected]>

* Read prefix file if prefix not set.

Signed-off-by: Spencer Schrock <[email protected]>

* Add tests to verify how List works with various prefixes

Signed-off-by: Spencer Schrock <[email protected]>

* Add tests for getPrefix

Signed-off-by: Spencer Schrock <[email protected]>

* Remove panics from iterator helper functions

Signed-off-by: Spencer Schrock <[email protected]>

Signed-off-by: Spencer Schrock <[email protected]>
Signed-off-by: latortuga71 <[email protected]>

* Detect SECURITY.markdown in addition to SECURITY.md (ossf#2447)

GitHub probably supports many more file extensions for Markdown
files, but at the very least, `.md` and `.markdown` have been
standardized in RFC 7763.

Signed-off-by: favonia <[email protected]>

Signed-off-by: favonia <[email protected]>
Signed-off-by: latortuga71 <[email protected]>

* Add Pinned-Dependency, Vulnerability, and Code-Review checks to attestor (ossf#2430)

Signed-off-by: Raghav Kaul <[email protected]>

Signed-off-by: Raghav Kaul <[email protected]>
Signed-off-by: latortuga71 <[email protected]>

* 🌱 cron: expose the stackdriver prefix as a config variable so it can be changed. (ossf#2446)

* Expose the stackdriver prefix as a config variable so it can be changed.

Signed-off-by: Caleb Brown <[email protected]>

* fix linter warning

Signed-off-by: Caleb Brown <[email protected]>

Signed-off-by: Caleb Brown <[email protected]>
Co-authored-by: Spencer Schrock <[email protected]>
Signed-off-by: latortuga71 <[email protected]>

* Only write to the rawBucket if the value exists. (ossf#2451)

Signed-off-by: Caleb Brown <[email protected]>

Signed-off-by: Caleb Brown <[email protected]>
Signed-off-by: latortuga71 <[email protected]>

* 🌱 Bump golang.org/x/tools from 0.2.0 to 0.3.0 (ossf#2448)

* 🌱 Bump golang.org/x/tools from 0.2.0 to 0.3.0

Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.2.0 to 0.3.0.
- [Release notes](https://github.com/golang/tools/releases)
- [Commits](golang/tools@v0.2.0...v0.3.0)

---
updated-dependencies:
- dependency-name: golang.org/x/tools
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* bump attestor modules

Signed-off-by: Spencer Schrock <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: Spencer Schrock <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Spencer Schrock <[email protected]>
Signed-off-by: latortuga71 <[email protected]>

* Move cron monitoring to a non-internal location. (ossf#2453)

This allows external workers (e.g. criticality_score) to use the same
monitoring code.

Signed-off-by: Caleb Brown <[email protected]>

Signed-off-by: Caleb Brown <[email protected]>
Signed-off-by: latortuga71 <[email protected]>

* 🌱 Bump actions/dependency-review-action from 2.5.1 to 3.0.0 (ossf#2455)

Bumps [actions/dependency-review-action](https://github.com/actions/dependency-review-action) from 2.5.1 to 3.0.0.
- [Release notes](https://github.com/actions/dependency-review-action/releases)
- [Commits](actions/dependency-review-action@0efb1d1...30d5821)

---
updated-dependencies:
- dependency-name: actions/dependency-review-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: latortuga71 <[email protected]>

* 🌱 [cron] generalize some of the transfer logic so it is easy to build new transfer agents (ossf#2454)

* Generalize the transfer logic so it is easy to build new transfer agents

This change moves code that reads shards and produces summaries into the
data package so that it can be reused to create new transfer agents,
similar to the BigQuery transfer agent in cron/internal/bq.

Signed-off-by: Caleb Brown <[email protected]>

* Lint fix and commentary.

Signed-off-by: Caleb Brown <[email protected]>

Signed-off-by: Caleb Brown <[email protected]>
Signed-off-by: latortuga71 <[email protected]>

* 🌱 Bump github.com/google/addlicense in /tools (ossf#2459)

Bumps [github.com/google/addlicense](https://github.com/google/addlicense) from 1.0.0 to 1.1.0.
- [Release notes](https://github.com/google/addlicense/releases)
- [Changelog](https://github.com/google/addlicense/blob/master/.goreleaser.yaml)
- [Commits](google/addlicense@v1.0.0...v1.1.0)

---
updated-dependencies:
- dependency-name: github.com/google/addlicense
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: latortuga71 <[email protected]>

* 🌱 Bump github.com/google/go-containerregistry

Bumps [github.com/google/go-containerregistry](https://github.com/google/go-containerregistry) from 0.12.0 to 0.12.1.
- [Release notes](https://github.com/google/go-containerregistry/releases)
- [Changelog](https://github.com/google/go-containerregistry/blob/main/.goreleaser.yml)
- [Commits](google/go-containerregistry@v0.12.0...v0.12.1)

---
updated-dependencies:
- dependency-name: github.com/google/go-containerregistry
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: latortuga71 <[email protected]>

* go mod tidy

Signed-off-by: Spencer Schrock <[email protected]>
Signed-off-by: latortuga71 <[email protected]>

* Added <= instead of == incase negative int is passed

Signed-off-by: latortuga71 <[email protected]>

* missed test fix

Signed-off-by: latortuga71 <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: latortuga71 <[email protected]>
Signed-off-by: Raghav Kaul <[email protected]>
Signed-off-by: Spencer Schrock <[email protected]>
Signed-off-by: Scott Hissam <[email protected]>
Signed-off-by: Michael Scovetta <[email protected]>
Signed-off-by: favonia <[email protected]>
Signed-off-by: Caleb Brown <[email protected]>
Signed-off-by: Latortuga <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: raghavkaul <[email protected]>
Co-authored-by: Spencer Schrock <[email protected]>
Co-authored-by: scott hissam <[email protected]>
Co-authored-by: Michael Scovetta <[email protected]>
Co-authored-by: favonia <[email protected]>
Co-authored-by: Caleb Brown <[email protected]>
Signed-off-by: nathaniel.wert <[email protected]>
  • Loading branch information
8 people authored and nathaniel.wert committed Nov 28, 2022
1 parent c473d0b commit 10322da
Show file tree
Hide file tree
Showing 40 changed files with 275 additions and 101 deletions.
1 change: 1 addition & 0 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ jobs:

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL

uses: github/codeql-action/init@678fc3afe258fb2e0cdc165ccf77b85719de7b3c # v1
with:
languages: ${{ matrix.language }}
Expand Down
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -243,6 +243,7 @@ build-attestor: ## Runs go build on scorecard attestor
# Run go build on scorecard attestor
cd attestor/; CGO_ENABLED=0 go build -trimpath -a -tags netgo -ldflags '$(LDFLAGS)' -o scorecard-attestor


build-attestor-docker: ## Build scorecard-attestor Docker image
build-attestor-docker:
DOCKER_BUILDKIT=1 docker build . --file attestor/Dockerfile \
Expand Down
1 change: 1 addition & 0 deletions attestor/command/check.go
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,7 @@ func runCheck() (policy.PolicyResult, error) {
ctx,
repo,
commitSHA,
0,
enabledChecks,
repoClient,
ossFuzzRepoClient,
Expand Down
1 change: 1 addition & 0 deletions attestor/e2e/command_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import (
"strings"
"testing"


"github.com/spf13/cobra"

"github.com/ossf/scorecard-attestor/command"
Expand Down
2 changes: 1 addition & 1 deletion checks/binary_artifact_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ func TestBinaryArtifacts(t *testing.T) {
ctx := context.Background()

client := localdir.CreateLocalDirClient(ctx, logger)
if err := client.InitRepo(repo, clients.HeadSHA); err != nil {
if err := client.InitRepo(repo, clients.HeadSHA, 0); err != nil {
t.Errorf("InitRepo: %v", err)
}

Expand Down
2 changes: 1 addition & 1 deletion checks/license_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ func TestLicenseFileSubdirectory(t *testing.T) {
ctx := context.Background()

client := localdir.CreateLocalDirClient(ctx, logger)
if err := client.InitRepo(repo, clients.HeadSHA); err != nil {
if err := client.InitRepo(repo, clients.HeadSHA, 0); err != nil {
t.Errorf("InitRepo: %v", err)
}

Expand Down
4 changes: 2 additions & 2 deletions checks/raw/security_policy.go
Original file line number Diff line number Diff line change
Expand Up @@ -72,10 +72,10 @@ func SecurityPolicy(c *checker.CheckRequest) (checker.SecurityPolicyData, error)
if err != nil {
return checker.SecurityPolicyData{}, fmt.Errorf("unable to create gitlab client: %w", err)
}
err = client.InitRepo(c.Repo, clients.HeadSHA)
err = client.InitRepo(c.Repo, clients.HeadSHA, 0)
} else {
client = githubrepo.CreateGithubRepoClient(c.Ctx, logger)
err = client.InitRepo(c.Repo.Org(), clients.HeadSHA)
err = client.InitRepo(c.Repo.Org(), clients.HeadSHA, 0)
}
switch {
case err == nil:
Expand Down
14 changes: 10 additions & 4 deletions clients/githubrepo/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,10 +55,11 @@ type Client struct {
languages *languagesHandler
ctx context.Context
tarball tarballHandler
commitDepth int
}

// InitRepo sets up the GitHub repo in local storage for improving performance and GitHub token usage efficiency.
func (client *Client) InitRepo(inputRepo clients.Repo, commitSHA string) error {
func (client *Client) InitRepo(inputRepo clients.Repo, commitSHA string, commitDepth int) error {
ghRepo, ok := inputRepo.(*repoURL)
if !ok {
return fmt.Errorf("%w: %v", errInputRepoType, inputRepo)
Expand All @@ -69,7 +70,11 @@ func (client *Client) InitRepo(inputRepo clients.Repo, commitSHA string) error {
if err != nil {
return sce.WithMessage(sce.ErrRepoUnreachable, err.Error())
}

if commitDepth <= 0 {
client.commitDepth = 30 // default
} else {
client.commitDepth = commitDepth
}
client.repo = repo
client.repourl = &repoURL{
owner: repo.Owner.GetLogin(),
Expand All @@ -82,7 +87,7 @@ func (client *Client) InitRepo(inputRepo clients.Repo, commitSHA string) error {
client.tarball.init(client.ctx, client.repo, commitSHA)

// Setup GraphQL.
client.graphClient.init(client.ctx, client.repourl)
client.graphClient.init(client.ctx, client.repourl, client.commitDepth)

// Setup contributorsHandler.
client.contributors.init(client.ctx, client.repourl)
Expand Down Expand Up @@ -138,6 +143,7 @@ func (client *Client) ListCommits() ([]clients.Commit, error) {

// ListIssues implements RepoClient.ListIssues.
func (client *Client) ListIssues() ([]clients.Issue, error) {
// here you would need to pass commitDepth or something
return client.graphClient.getIssues()
}

Expand Down Expand Up @@ -295,7 +301,7 @@ func CreateOssFuzzRepoClient(ctx context.Context, logger *log.Logger) (clients.R
}

ossFuzzRepoClient := CreateGithubRepoClient(ctx, logger)
if err := ossFuzzRepoClient.InitRepo(ossFuzzRepo, clients.HeadSHA); err != nil {
if err := ossFuzzRepoClient.InitRepo(ossFuzzRepo, clients.HeadSHA, 0); err != nil {
return nil, fmt.Errorf("error during InitRepo: %w", err)
}
return ossFuzzRepoClient, nil
Expand Down
62 changes: 52 additions & 10 deletions clients/githubrepo/graphql.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ const (
issueCommentsToAnalyze = 30
reviewsToAnalyze = 30
labelsToAnalyze = 30
commitsToAnalyze = 30
)

var errNotCached = errors.New("result not cached")
Expand Down Expand Up @@ -100,7 +99,12 @@ type graphqlData struct {
}
} `graphql:"associatedPullRequests(first: $pullRequestsToAnalyze)"`
}
} `graphql:"history(first: $commitsToAnalyze)"`
PageInfo struct {
StartCursor githubv4.String
EndCursor githubv4.String
HasNextPage bool
}
} `graphql:"history(first: $commitsToAnalyze, after: $historyCursor)"`
} `graphql:"... on Commit"`
} `graphql:"object(expression: $commitExpression)"`
Issues struct {
Expand Down Expand Up @@ -183,9 +187,10 @@ type graphqlHandler struct {
commits []clients.Commit
issues []clients.Issue
archived bool
commitDepth int
}

func (handler *graphqlHandler) init(ctx context.Context, repourl *repoURL) {
func (handler *graphqlHandler) init(ctx context.Context, repourl *repoURL, commitDepth int) {
handler.ctx = ctx
handler.repourl = repourl
handler.data = new(graphqlData)
Expand All @@ -195,6 +200,32 @@ func (handler *graphqlHandler) init(ctx context.Context, repourl *repoURL) {
handler.setupCheckRunsOnce = new(sync.Once)
handler.checkRuns = checkRunCache{}
handler.logger = log.NewLogger(log.DefaultLevel)
handler.commitDepth = commitDepth
}

func populateCommits(handler *graphqlHandler, vars map[string]interface{}) ([]clients.Commit, error) {
var allCommits []clients.Commit
var commitsLeft githubv4.Int
commitsLeft, ok := vars["commitsToAnalyze"].(githubv4.Int)
if !ok {
return nil, nil
}
for vars["commitsToAnalyze"] = githubv4.Int(100); commitsLeft > 0; commitsLeft = commitsLeft - 100 {
if commitsLeft < 100 {
vars["commitsToAnalyze"] = commitsLeft
}
err := handler.client.Query(handler.ctx, handler.data, vars)
if err != nil {
return nil, fmt.Errorf("failed to populate commits: %w", err)
}
vars["historyCursor"] = handler.data.Repository.Object.Commit.History.PageInfo.EndCursor
tmp, err := commitsFrom(handler.data, handler.repourl.owner, handler.repourl.repo)
if err != nil {
return nil, fmt.Errorf("failed to populate commits: %w", err)
}
allCommits = append(allCommits, tmp...)
}
return allCommits, nil
}

func (handler *graphqlHandler) setup() error {
Expand All @@ -208,19 +239,24 @@ func (handler *graphqlHandler) setup() error {
"issueCommentsToAnalyze": githubv4.Int(issueCommentsToAnalyze),
"reviewsToAnalyze": githubv4.Int(reviewsToAnalyze),
"labelsToAnalyze": githubv4.Int(labelsToAnalyze),
"commitsToAnalyze": githubv4.Int(commitsToAnalyze),
"commitsToAnalyze": githubv4.Int(handler.commitDepth),
"commitExpression": githubv4.String(commitExpression),
"historyCursor": (*githubv4.String)(nil),
}
// if NumberOfCommits set to < 99 we are required by the graphql to page by 100 commits.
if handler.commitDepth > 99 {
handler.commits, handler.errSetup = populateCommits(handler, vars)
handler.issues = issuesFrom(handler.data)
handler.archived = bool(handler.data.Repository.IsArchived)
return
}
if err := handler.client.Query(handler.ctx, handler.data, vars); err != nil {
handler.errSetup = sce.WithMessage(sce.ErrScorecardInternal, fmt.Sprintf("githubv4.Query: %v", err))
return
}
handler.archived = bool(handler.data.Repository.IsArchived)
handler.commits, handler.errSetup = commitsFrom(handler.data, handler.repourl.owner, handler.repourl.repo)
if handler.errSetup != nil {
return
}
handler.issues = issuesFrom(handler.data)
handler.archived = bool(handler.data.Repository.IsArchived)
})
return handler.errSetup
}
Expand All @@ -232,10 +268,16 @@ func (handler *graphqlHandler) setupCheckRuns() error {
"owner": githubv4.String(handler.repourl.owner),
"name": githubv4.String(handler.repourl.repo),
"pullRequestsToAnalyze": githubv4.Int(pullRequestsToAnalyze),
"commitsToAnalyze": githubv4.Int(commitsToAnalyze),
"commitsToAnalyze": githubv4.Int(handler.commitDepth),
"commitExpression": githubv4.String(commitExpression),
"checksToAnalyze": githubv4.Int(checksToAnalyze),
}
// TODO(#2224):
// sast and ci checks causes cache miss if commits dont match number of check runs.
// paging for this needs to be implemented if using higher than 100 --number-of-commits
if handler.commitDepth > 99 {
vars["commitsToAnalyze"] = githubv4.Int(99)
}
if err := handler.client.Query(handler.ctx, handler.checkData, vars); err != nil {
// quit early without setting crsErrSetup for "Resource not accessible by integration" error
// for whatever reason, this check doesn't work with a GITHUB_TOKEN, only a PAT
Expand Down Expand Up @@ -325,7 +367,7 @@ func parseCheckRuns(data *checkRunsGraphqlData) checkRunCache {
return checkCache
}

//nolint
// nolint
func commitsFrom(data *graphqlData, repoOwner, repoName string) ([]clients.Commit, error) {
ret := make([]clients.Commit, 0)
for _, commit := range data.Repository.Object.Commit.History.Nodes {
Expand Down
112 changes: 109 additions & 3 deletions clients/githubrepo/graphql_e2e_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,15 @@ package githubrepo

import (
"context"
"net/http"

. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
"github.com/shurcooL/githubv4"

"github.com/ossf/scorecard/v4/clients"
"github.com/ossf/scorecard/v4/clients/githubrepo/roundtripper"
"github.com/ossf/scorecard/v4/log"
)

var _ = Describe("E2E TEST: githubrepo.graphqlHandler", func() {
Expand All @@ -32,14 +36,116 @@ var _ = Describe("E2E TEST: githubrepo.graphqlHandler", func() {
}
})

Context("E2E TEST: Confirm Paging Commits Works", func() {
It("Should only have 1 commit", func() {
_repourl := &repoURL{
owner: "ossf",
repo: "scorecard",
commitSHA: clients.HeadSHA,
}
_vars := map[string]interface{}{
"owner": githubv4.String("ossf"),
"name": githubv4.String("scorecard"),
"pullRequestsToAnalyze": githubv4.Int(1),
"issuesToAnalyze": githubv4.Int(30),
"issueCommentsToAnalyze": githubv4.Int(30),
"reviewsToAnalyze": githubv4.Int(30),
"labelsToAnalyze": githubv4.Int(30),
"commitsToAnalyze": githubv4.Int(1),
"commitExpression": githubv4.String("heads/main"),
"historyCursor": (*githubv4.String)(nil),
}
_ctx := context.Background()
_logger := log.NewLogger(log.DebugLevel)
_rt := roundtripper.NewTransport(_ctx, _logger)
_httpClient := &http.Client{
Transport: _rt,
}
_graphClient := githubv4.NewClient(_httpClient)
_handler := &graphqlHandler{
client: _graphClient,
}
_handler.init(context.Background(), _repourl, 1)
commits, err := populateCommits(_handler, _vars)
Expect(err).To(BeNil())
Expect(len(commits)).Should(BeEquivalentTo(1))
})
It("Should have 30 commits", func() {
_repourl := &repoURL{
owner: "ossf",
repo: "scorecard",
commitSHA: clients.HeadSHA,
}
_vars := map[string]interface{}{
"owner": githubv4.String("ossf"),
"name": githubv4.String("scorecard"),
"pullRequestsToAnalyze": githubv4.Int(1),
"issuesToAnalyze": githubv4.Int(30),
"issueCommentsToAnalyze": githubv4.Int(30),
"reviewsToAnalyze": githubv4.Int(30),
"labelsToAnalyze": githubv4.Int(30),
"commitsToAnalyze": githubv4.Int(30),
"commitExpression": githubv4.String("heads/main"),
"historyCursor": (*githubv4.String)(nil),
}
_ctx := context.Background()
_logger := log.NewLogger(log.DebugLevel)
_rt := roundtripper.NewTransport(_ctx, _logger)
_httpClient := &http.Client{
Transport: _rt,
}
_graphClient := githubv4.NewClient(_httpClient)
_handler := &graphqlHandler{
client: _graphClient,
}
_handler.init(context.Background(), _repourl, 30)
commits, err := populateCommits(_handler, _vars)
Expect(err).To(BeNil())
Expect(len(commits)).Should(BeEquivalentTo(30))
})
It("Should have 101 commits", func() {
_repourl := &repoURL{
owner: "ossf",
repo: "scorecard",
commitSHA: clients.HeadSHA,
}
_vars := map[string]interface{}{
"owner": githubv4.String("ossf"),
"name": githubv4.String("scorecard"),
"pullRequestsToAnalyze": githubv4.Int(1),
"issuesToAnalyze": githubv4.Int(30),
"issueCommentsToAnalyze": githubv4.Int(30),
"reviewsToAnalyze": githubv4.Int(30),
"labelsToAnalyze": githubv4.Int(30),
"commitsToAnalyze": githubv4.Int(101),
"commitExpression": githubv4.String("heads/main"),
"historyCursor": (*githubv4.String)(nil),
}
_ctx := context.Background()
_logger := log.NewLogger(log.DebugLevel)
_rt := roundtripper.NewTransport(_ctx, _logger)
_httpClient := &http.Client{
Transport: _rt,
}
_graphClient := githubv4.NewClient(_httpClient)
_handler := &graphqlHandler{
client: _graphClient,
}
_handler.init(context.Background(), _repourl, 101)
commits, err := populateCommits(_handler, _vars)
Expect(err).To(BeNil())
Expect(len(commits)).Should(BeEquivalentTo(101))
})
})

Context("E2E TEST: Validate query cost", func() {
It("Should not have increased for HEAD query", func() {
repourl := &repoURL{
owner: "ossf",
repo: "scorecard",
commitSHA: clients.HeadSHA,
}
graphqlhandler.init(context.Background(), repourl)
graphqlhandler.init(context.Background(), repourl, 30)
Expect(graphqlhandler.setup()).Should(BeNil())
Expect(graphqlhandler.data).ShouldNot(BeNil())
Expect(graphqlhandler.data.RateLimit.Cost).ShouldNot(BeNil())
Expand All @@ -51,7 +157,7 @@ var _ = Describe("E2E TEST: githubrepo.graphqlHandler", func() {
repo: "scorecard",
commitSHA: "de5224bbc56eceb7a25aece55d2d53bbc561ed2d",
}
graphqlhandler.init(context.Background(), repourl)
graphqlhandler.init(context.Background(), repourl, 30)
Expect(graphqlhandler.setup()).Should(BeNil())
Expect(graphqlhandler.data).ShouldNot(BeNil())
Expect(graphqlhandler.data.RateLimit.Cost).ShouldNot(BeNil())
Expand All @@ -63,7 +169,7 @@ var _ = Describe("E2E TEST: githubrepo.graphqlHandler", func() {
repo: "scorecard",
commitSHA: clients.HeadSHA,
}
graphqlhandler.init(context.Background(), repourl)
graphqlhandler.init(context.Background(), repourl, 30)
Expect(graphqlhandler.setupCheckRuns()).Should(BeNil())
Expect(graphqlhandler.checkData).ShouldNot(BeNil())
Expect(graphqlhandler.checkData.RateLimit.Cost).ShouldNot(BeNil())
Expand Down
Loading

0 comments on commit 10322da

Please sign in to comment.