Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
scorecard — OpenSSF Scorecard - 오픈소스 보안 건강 지표 | Kitploit
도구/GitHubGitHub/ossf/scorecard
Vulnerability AnalysisCode AnalysisConfiguration AuditingDevSecOpsSecret DetectionThreat IntelligenceSupply Chain Security
GitHubossf/scorecard

scorecard

OpenSSF Scorecard - 오픈소스 보안 건강 지표

저장소 보기
5.6k6976일 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
웹사이트

OpenSSF Scorecard

OpenSSF Scorecard OpenSSF Best Practices build CodeQL Go Reference Go Report Card codecov SLSA 3 Slack

개요

  • Scorecard란 무엇인가?
  • 주요 Scorecard 사용자
  • 프로젝트의 점수 보기
  • Scorecard의 공개 데이터

Scorecard 사용하기

  • Scorecard GitHub Action
  • Scorecard REST API
  • Scorecard 배지
  • Scorecard 명령줄 인터페이스
    • 사전 요구 사항
    • 설치
    • 인증
    • 기본 사용법

점검 사항 (Checks)

  • 기본 Scorecard 점검 사항
  • 상세 점검 문서 (점수 기준, 위험 및 해결 방법)
  • Scorecard 점검 초보자 가이드

기타 중요한 권장 사항

  • 이중 인증 (2FA)

점수 산정

  • 종합 점수

기여하기

  • 문제 보고
  • 행동 강령
  • Scorecard에 기여하기
  • 새 점검 추가
  • Scorecard 커뮤니티 참여하기
  • 보안 문제 신고

FAQ

  • FAQ

개요

Scorecard란 무엇인가?

Scorecard는 오픈 소스 유지 관리자가 보안 모범 사례를 개선하고, 오픈 소스 소비자가 자신의 의존성이 안전한지 판단할 수 있도록 돕기 위해 만들어졌습니다.

Scorecard는 소프트웨어 보안과 관련된 여러 중요한 휴리스틱 ("점검")을 평가하고 각 점검에 0-10점의 점수를 할당하는 자동화된 도구입니다. 이 점수를 사용하여 프로젝트의 보안 태세를 강화하기 위해 개선해야 할 구체적인 영역을 파악할 수 있습니다. 또한 의존성이 도입하는 위험을 평가하고, 이러한 위험을 수용할지, 대체 솔루션을 평가할지, 또는 유지 관리자와 협력하여 개선할지에 대해 정보에 기반한 결정을 내릴 수 있습니다.

Scorecard 로고의 영감: "You passed! All D's ... and an A!"

프로젝트 목표

  1. 오픈 소스 프로젝트의 보안 태세에 대한 분석 및 신뢰 결정을 자동화합니다.

  2. 이 데이터를 사용하여 전 세계가 의존하는 중요한 프로젝트의 보안 태세를 사전에 개선합니다.

  3. 기존 정책을 측정하는 도구로 활용

    OSS 소비자가 의존성에 특정 동작을 요구하는 경우, Scorecard를 사용하여 이를 측정할 수 있습니다. V5 릴리스에서는 지원되는 분석이 있는 경우 구조화된 결과가 이를 수행하는 방법으로 간주됩니다. X/10의 종합 점수나 Y/10의 유지보수 점수에 의존하는 대신, OSS 소비자는 의존하는 저장소가 보관 처리되지 않았는지 확인할 수 있습니다(이는 archived 프로브가 다룹니다). OpenSSF는 자체 프로젝트 보안 기준(Security Baseline)에서 이 접근 방식을 사용합니다.

프로젝트 비목표

  1. 모든 프로젝트가 따라야 할 확정적인 보고서나 요구 사항이 되는 것.

    Scorecard는 모든 상황에 적용되는 단일 솔루션으로 의도되지 않았습니다. 결과를 생성하는 모든 단계에는 의견이 반영됩니다: 포함되거나 제외되는 점검, 각 점검의 중요성, 점수 계산 방식. 점검 자체는 휴리스틱이며, 거짓 양성과 거짓 음성이 존재합니다.

    적용 가능성, 실현 가능성 또는 의견 차이로 인해 Scorecard 결과에 포함되거나 제외되는 내용은 많은 논의를 불러일으킵니다. 모든 사람을 만족시키는 Scorecard를 만드는 것은 불가능합니다. 다양한 청중이 서로 다른 하위 동작 집합에 관심을 가질 것이기 때문입니다.

    특히 종합 점수는 저장소가 어떤 개별 동작을 수행하는지 또는 수행하지 않는지에 대해 아무것도 알려주지 않습니다. 많은 점검 점수가 단일 점수로 집계되며, 동일한 점수에 도달하는 여러 방법이 있습니다. 이러한 점수는 새로운 휴리스틱을 추가하거나 기존 휴리스틱을 개선함에 따라 변경됩니다.

주요 Scorecard 사용자

Scorecard는 수천 개의 프로젝트에서 보안 지표를 모니터링하고 추적하는 데 사용되었습니다. Scorecard를 사용하는 주요 프로젝트는 다음과 같습니다:

  • Tensorflow
  • Angular
  • Flutter
  • sos.dev
  • deps.dev

프로젝트의 점수 보기

Scorecard가 정기적으로 스캔하는 프로젝트의 점수를 보려면 웹 뷰어로 이동하세요. 또한 다음 템플릿 링크에서 플레이스홀더 텍스트(플랫폼, 사용자/조직, 저장소 이름)를 대체하여 저장소에 대한 사용자 지정 Scorecard 링크를 생성할 수 있습니다: https://scorecard.dev/viewer/?uri=<github_or_gitlab>.com/<user_name_or_org>/<repository_name>

예:

  • https://scorecard.dev/viewer/?uri=github.com/ossf/scorecard
  • https://scorecard.dev/viewer/?uri=gitlab.com/fdroid/fdroidclient

웹 뷰어에 포함되지 않은 프로젝트의 점수를 보려면 Scorecard CLI를 사용하세요.

공개 데이터

매주 가장 중요한 오픈 소스 프로젝트 상위 100만 개(직접 의존성을 기준으로 판단)에 대해 Scorecard 스캔을 실행하고 결과를 BigQuery 공개 데이터셋에 게시합니다.

이 데이터는 공개 BigQuery 데이터셋 openssf:scorecardcron.scorecard-v2에서 확인할 수 있습니다. 최신 결과는 BigQuery 뷰 openssf:scorecardcron.scorecard-v2_latest에서 확인할 수 있습니다.

BigQuery Explorer에서 데이터 > 이름별 프로젝트 선택 > 'openssf'로 이동하여 데이터를 쿼리할 수 있습니다. 예를 들어, 시간에 따른 프로젝트 점수 변화에 관심이 있을 수 있습니다:```sql SELECT date, score FROM openssf.scorecardcron.scorecard-v2 WHERE repo.name="github.com/ossf/scorecard" ORDER BY date ASC

root@kitploit:~
최신 결과를 JSON 형식으로 Google Cloud 스토리지로 추출하려면 [`bq`](https://cloud.google.com/bigquery/docs/bq-command-line-tool) 도구를 사용할 수 있습니다:```
# Get the latest PARTITION_ID
bq query --nouse_legacy_sql 'SELECT partition_id FROM
openssf.scorecardcron.INFORMATION_SCHEMA.PARTITIONS WHERE table_name="scorecard-v2"
AND partition_id!="__NULL__" ORDER BY partition_id DESC
LIMIT 1'

# Extract to GCS
bq extract --destination_format=NEWLINE_DELIMITED_JSON
'openssf:scorecardcron.scorecard-v2$<partition_id>' gs://bucket-name/filename-*.json

확인 대상 프로젝트 목록은 이 저장소의 cron/internal/data/projects.csv 파일에서 확인할 수 있습니다. 더 많은 프로젝트를 추적하길 원하신다면, 주저하지 말고 Pull Request를 보내주시기 바랍니다. 현재 이 목록은 GitHub에서 호스팅되는 프로젝트만을 대상으로 합니다. 가까운 시일 내에 다른 소스 제어 시스템에 호스팅된 프로젝트까지 확장할 계획입니다.

Scorecard 사용하기

Scorecard GitHub Action

소유한 GitHub 프로젝트에서 Scorecard를 사용하는 가장 쉬운 방법은 Scorecard GitHub Action을 사용하는 것입니다. 이 Action은 저장소의 모든 변경 사항에 대해 실행되며, 관리자가 저장소의 Security 탭에서 확인할 수 있는 알림을 발행합니다. 자세한 내용은 Scorecard GitHub Action 설치 지침을 참조하세요.

Scorecard REST API

OSS 프로젝트의 미리 계산된 점수를 조회하려면 REST API를 사용하세요. 주간 스캔에서 계산된 점수는 대규모 실행과 관련된 API 비용으로 인해 CI-Tests, Contributors, Dependency-Update-Tool 검사를 생략합니다.

API 결과는 CDN에 캐시됩니다(Fastly 및 그들의 Fast Forward 프로그램 덕분입니다). 새 결과가 제공되면 CDN에서 캐시가 제거되지만, 오래된 데이터 문제를 발견하시면 이슈를 열어주시기 바랍니다.

프로젝트가 REST API에서 사용 가능하도록 하려면 Scorecard GitHub Action 설정에서 publish_results: true를 설정하세요.

REST API가 제공하는 데이터는 CDLA Permissive 2.0 라이선스에 따라 제공됩니다.

Scorecard 배지

Scorecard GitHub Actions에서 publish_results: true를 활성화하면 관리자가 저장소에 Scorecard 배지를 표시하여 그들의 노력을 과시할 수 있습니다. 이 배지는 저장소에 대한 모든 변경 사항에 대해 자동으로 업데이트됩니다. 자세한 내용은 이 OSSF 블로그 게시물에서 확인하세요.

프로젝트 저장소에 배지를 포함하려면 README에 다음 마크다운을 추가하기만 하면 됩니다:``` OpenSSF Scorecard

root@kitploit:~
### Scorecard 명령줄 인터페이스

소유하지 않은 프로젝트에서 Scorecard 스캔을 실행하려면 명령줄 인터페이스 설치 옵션을 사용하세요.

#### 사전 요구 사항

플랫폼: 현재 Scorecard는 OSX 및 Linux 플랫폼을 지원합니다. Windows OS를 사용하는 경우 문제가 발생할 수 있습니다. Windows 지원에 대한 기여를 환영합니다.

언어: Scorecard를 실행하려면 GoLang이 설치되어 있어야 합니다. (https://golang.org/doc/install)

#### 설치

##### Docker

`scorecard`는 Docker 컨테이너로 사용할 수 있습니다:```shell
docker pull ghcr.io/ossf/scorecard:latest

특정 scorecard 버전(예: v3.2.1)을 사용하려면, 실행하세요:```shell docker pull ghcr.io/ossf/scorecard:v3.2.1

root@kitploit:~
##### 독립형

Scorecard를 독립형으로 설치하려면:

최신 [릴리스 페이지](https://github.com/ossf/scorecard/releases/latest)를 방문하여 운영 체제에 맞는 zip 파일을 다운로드하세요.

바이너리를 `GOPATH/bin` 디렉터리에 추가하십시오(필요한 경우 `go env GOPATH`를 사용하여 디렉터리를 확인하세요).

###### 다운로드한 릴리스의 SLSA 출처 검증

릴리스 프로세스 중에 OpenSSF의 [slsa-framework/slsa-github-generator](https://github.com/slsa-framework/slsa-github-generator)를 사용하여 [SLSA3 서명](https://slsa.dev)을 생성합니다. 릴리스 바이너리를 검증하려면:
1. [slsa-framework/slsa-verifier#installation](https://github.com/slsa-framework/slsa-verifier#installation)에서 검증 도구를 설치합니다.
2. [GitHub releases page](https://github.com/GoogleContainerTools/jib/releases/latest)에서 서명 파일 `attestation.intoto.jsonl`을 다운로드합니다.
3. 검증기를 실행합니다:

```bash
$ slsa-verifier verify-artifact <release.zip> --provenance-path <attestation.intoto.jsonl> --source-uri github.com/ossf/scorecard --source-tag <vX.Y.Z>
``````shell
slsa-verifier -artifact-path <the-zip> -provenance attestation.intoto.jsonl -source github.com/ossf/scorecard -tag <the-tag>
패키지 관리자 사용

인증

GitHub는 인증되지 않은 요청에 대해 API 속도 제한을 부과합니다. 이러한 제한을 피하려면 Scorecard를 실행하기 전에 요청을 인증해야 합니다. 요청을 인증하는 방법에는 두 가지가 있습니다. GitHub 개인 액세스 토큰을 생성하거나 GitHub 앱 설치를 생성하는 것입니다.

  • 클래식 GitHub 개인 액세스 토큰 생성. 개인 액세스 토큰을 생성할 때 public_repo 범위를 선택하는 것이 좋습니다. 토큰을 GITHUB_AUTH_TOKEN, GITHUB_TOKEN, GH_AUTH_TOKEN 또는 GH_TOKEN이라는 환경 변수에 설정하세요. 아래 명령어를 플랫폼에 맞게 사용하십시오.```shell

For posix platforms, e.g. linux, mac:

export GITHUB_AUTH_TOKEN=

Multiple tokens can be provided separated by comma to be utilized

in a round robin fashion.

export GITHUB_AUTH_TOKEN=,

For windows:

set GITHUB_AUTH_TOKEN= set GITHUB_AUTH_TOKEN=,

root@kitploit:~
또는

-   [Create a GitHub App Installation](https://docs.github.com/en/developers/apps/building-github-apps/creating-a-github-app)
    더 높은 속도 제한 할당량을 위해. 설치된 GitHub App과 키
    파일이 있는 경우, 아래의 세 가지 환경 변수를 사용할 수 있으며,
    명령어(`set` 또는 `export`)는 위에 표시된 대로 플랫폼에 따라 사용합니다.```
GITHUB_APP_KEY_PATH=<path to the key file on disk>
GITHUB_APP_INSTALLATION_ID=<installation id>
GITHUB_APP_ID=<app id>

이 변수들은 GitHub 개발자 설정 페이지에서 얻을 수 있습니다.

기본 사용법

저장소 URL 사용

Scorecard는 대상 저장소의 URL이라는 하나의 인수만으로 실행할 수 있습니다:```shell scorecard --repo=github.com/ossf-tests/scorecard-check-branch-protection-e2e

root@kitploit:~
```shell
Starting [CII-Best-Practices]
Starting [Fuzzing]
Starting [Pinned-Dependencies]
Starting [CI-Tests]
Starting [Maintained]
Starting [Packaging]
Starting [SAST]
Starting [Dependency-Update-Tool]
Starting [Token-Permissions]
Starting [Security-Policy]
Starting [Signed-Releases]
Starting [Binary-Artifacts]
Starting [Branch-Protection]
Starting [Code-Review]
Starting [Contributors]
Starting [Vulnerabilities]
Finished [CI-Tests]
Finished [Maintained]
Finished [Packaging]
Finished [SAST]
Finished [Signed-Releases]
Finished [Binary-Artifacts]
Finished [Branch-Protection]
Finished [Code-Review]
Finished [Contributors]
Finished [Dependency-Update-Tool]
Finished [Token-Permissions]
Finished [Security-Policy]
Finished [Vulnerabilities]
Finished [CII-Best-Practices]
Finished [Fuzzing]
Finished [Pinned-Dependencies]

RESULTS
-------
Aggregate score: 7.9 / 10

Check scores:
|---------|------------------------|--------------------------------|---------------------------------------------------------------------------|
|  SCORE  |          NAME          |             REASON             |                         DOCUMENTATION/REMEDIATION                         |
|---------|------------------------|--------------------------------|---------------------------------------------------------------------------|
| 10 / 10 | Binary-Artifacts       | no binaries found in the repo  | github.com/ossf/scorecard/blob/main/docs/checks.md#binary-artifacts       |
|---------|------------------------|--------------------------------|---------------------------------------------------------------------------|
| 9 / 10  | Branch-Protection      | branch protection is not       | github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection      |
|         |                        | maximal on development and all |                                                                           |
|         |                        | release branches               |                                                                           |
|---------|------------------------|--------------------------------|---------------------------------------------------------------------------|
| ?       | CI-Tests               | no pull request found          | github.com/ossf/scorecard/blob/main/docs/checks.md#ci-tests               |
|---------|------------------------|--------------------------------|---------------------------------------------------------------------------|
| 0 / 10  | CII-Best-Practices     | no badge found                 | github.com/ossf/scorecard/blob/main/docs/checks.md#cii-best-practices     |
|---------|------------------------|--------------------------------|---------------------------------------------------------------------------|
| 10 / 10 | Code-Review            | branch protection for default  | github.com/ossf/scorecard/blob/main/docs/checks.md#code-review            |
|         |                        | branch is enabled              |                                                                           |
|---------|------------------------|--------------------------------|---------------------------------------------------------------------------|
| 0 / 10  | Contributors           | 0 different companies found -- | github.com/ossf/scorecard/blob/main/docs/checks.md#contributors           |
|         |                        | score normalized to 0          |                                                                           |
|---------|------------------------|--------------------------------|---------------------------------------------------------------------------|
| 0 / 10  | Dependency-Update-Tool | no update tool detected        | github.com/ossf/scorecard/blob/main/docs/checks.md#dependency-update-tool |
|---------|------------------------|--------------------------------|---------------------------------------------------------------------------|
| 0 / 10  | Fuzzing                | project is not fuzzed in       | github.com/ossf/scorecard/blob/main/docs/checks.md#fuzzing                |
|         |                        | OSS-Fuzz                       |                                                                           |
|---------|------------------------|--------------------------------|---------------------------------------------------------------------------|
| 1 / 10  | Maintained             | 2 commit(s) found in the last  | github.com/ossf/scorecard/blob/main/docs/checks.md#maintained             |
|         |                        | 90 days -- score normalized to |                                                                           |
|         |                        | 1                              |                                                                           |
|---------|------------------------|--------------------------------|---------------------------------------------------------------------------|
| ?       | Packaging              | no published package detected  | github.com/ossf/scorecard/blob/main/docs/checks.md#packaging              |
|---------|------------------------|--------------------------------|---------------------------------------------------------------------------|
| 8 / 10  | Pinned-Dependencies    | unpinned dependencies detected | github.com/ossf/scorecard/blob/main/docs/checks.md#pinned-dependencies    |
|         |                        | -- score normalized to 8       |                                                                           |
|---------|------------------------|--------------------------------|---------------------------------------------------------------------------|
| 0 / 10  | SAST                   | no SAST tool detected          | github.com/ossf/scorecard/blob/main/docs/checks.md#sast                   |
|---------|------------------------|--------------------------------|---------------------------------------------------------------------------|
| 0 / 10  | Security-Policy        | security policy file not       | github.com/ossf/scorecard/blob/main/docs/checks.md#security-policy        |
|         |                        | detected                       |                                                                           |
|---------|------------------------|--------------------------------|---------------------------------------------------------------------------|
| ?       | Signed-Releases        | no releases found              | github.com/ossf/scorecard/blob/main/docs/checks.md#signed-releases        |
|---------|------------------------|--------------------------------|---------------------------------------------------------------------------|
| 10 / 10 | Token-Permissions      | tokens are read-only in GitHub | github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions      |
|         |                        | workflows                      |                                                                           |
|---------|------------------------|--------------------------------|---------------------------------------------------------------------------|
| 10 / 10 | Vulnerabilities        | no vulnerabilities detected    | github.com/ossf/scorecard/blob/main/docs/checks.md#vulnerabilities        |
|---------|------------------------|--------------------------------|---------------------------------------------------------------------------|
Docker

GITHUB_AUTH_TOKEN는 유효한 토큰으로 설정되어야 합니다.```shell docker run -e GITHUB_AUTH_TOKEN=token ghcr.io/ossf/scorecard:latest --show-details --repo=https://github.com/ossf/scorecard

root@kitploit:~
특정 scorecard 버전(예: v3.2.1)을 사용하려면 다음을 실행하세요:```shell
docker run -e GITHUB_AUTH_TOKEN=token ghcr.io/ossf/scorecard:v3.2.1 --show-details --repo=https://github.com/ossf/scorecard
상세 결과 표시

검사 실패 이유에 대한 자세한 내용을 보려면 --show-details 옵션을 사용하세요:``` ./scorecard --repo=github.com/ossf-tests/scorecard-check-branch-protection-e2e --checks Branch-Protection --show-details

root@kitploit:~
```shell
Starting [Pinned-Dependencies]
Finished [Pinned-Dependencies]

RESULTS
-------
|---------|------------------------|--------------------------------|--------------------------------|---------------------------------------------------------------------------|
|  SCORE  |          NAME          |             REASON             |            DETAILS             |                         DOCUMENTATION/REMEDIATION                         |
|---------|------------------------|--------------------------------|--------------------------------|---------------------------------------------------------------------------|
| 9 / 10  | Branch-Protection      | branch protection is not       | Info: 'force pushes' disabled  | github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection      |
|         |                        | maximal on development and all | on branch 'main' Info: 'allow  |                                                                           |
|         |                        | release branches               | deletion' disabled on branch   |                                                                           |
|         |                        |                                | 'main' Info: linear history    |                                                                           |
|         |                        |                                | enabled on branch 'main' Info: |                                                                           |
|         |                        |                                | strict status check enabled    |                                                                           |
|         |                        |                                | on branch 'main' Warn: status  |                                                                           |
|         |                        |                                | checks for merging have no     |                                                                           |
|         |                        |                                | specific status to check on    |                                                                           |
|         |                        |                                | branch 'main' Info: number     |                                                                           |
|         |                        |                                | of required reviewers is 2     |                                                                           |
|         |                        |                                | on branch 'main' Info: Stale   |                                                                           |
|         |                        |                                | review dismissal enabled on    |                                                                           |
|         |                        |                                | branch 'main' Info: Owner      |                                                                           |
|         |                        |                                | review required on branch      |                                                                           |
|         |                        |                                | 'main' Info: 'administrator'   |                                                                           |
|         |                        |                                | PRs need reviews before being  |                                                                           |
|         |                        |                                | merged on branch 'main'        |                                                                           |
|---------|------------------------|--------------------------------|--------------------------------|---------------------------------------------------------------------------|
관리자 주석 표시

**관리자 주석(Maintainer Annotations)**을 사용하면 관리자가 Scorecard 검사 결과와 함께 표시할 컨텍스트를 추가할 수 있습니다. 주석은 Scorecard가 프로젝트의 보안 관행에 대한 불완전한 평가를 가질 때 사용자에게 추가 정보를 제공할 수 있습니다. 각 검사에 대한 관리자 주석을 보려면 --show-annotations 옵션을 사용하세요.

사용 가능한 주석 또는 주석 작성 방법에 대한 자세한 내용은 구성 문서를 참조하세요.

GitLab 리포지토리 사용

GitLab 리포지토리에서 Scorecard를 실행하려면 다음 권한이 있는 GitLab 액세스 토큰을 생성해야 합니다:

  • read_api
  • read_user
  • read_repository

GitLab 리포지토리에서 Scorecard를 실행하려면 GITLAB_AUTH_TOKEN 환경 변수를 설정하면 됩니다:

root@kitploit:~
export GITLAB_AUTH_TOKEN=<your token>
``````bash
export GITLAB_AUTH_TOKEN=glpat-xxxx

scorecard --repo gitlab.com/<org>/<project>/<subproject>

For an example of using Scorecard in GitLab CI/CD, see 여기.

자체 호스팅 에디션

GitLab.com 지원에 초점을 맞추고 있지만, Scorecard는 자체 호스팅 GitLab 설치에서도 작동합니다. 플랫폼이 하위 도메인(예: gitlab.foo.com)에서 호스팅되는 경우 Scorecard가 즉시 작동합니다. 플랫폼이 일부 슬러그(예: foo.com/bar/)에서 호스팅되는 경우 GL_HOST 환경 변수를 설정해야 합니다.```bash export GITLAB_AUTH_TOKEN=glpat-xxxx export GL_HOST=foo.com/bar scorecard --repo foo.com/bar//

root@kitploit:~
##### GitHub Enterprise Server (GHES) 기반 리포지토리 사용

GitHub Enterprise 호스트 `github.corp.com`를 사용하려면 `GH_HOST` 환경 변수를 사용하세요.```shell
# Set the GitHub Enterprise host without https prefix or slash with relevant authentication token
export GH_HOST=github.corp.com
export GITHUB_AUTH_TOKEN=token

scorecard --repo=github.corp.com/org/repo
# OR without github host url
scorecard --repo=org/repo
패키지 관리자 사용하기

--npm, --pypi, --rubygems 또는 --nuget 생태계의 프로젝트의 경우, 패키지 관리자를 사용하여 Scorecard를 실행할 수 있습니다. 해당 GitHub 소스 코드에 대한 검사를 실행하려면 패키지 이름을 제공하세요.

예: --npm=angular.

참고: 패키지 생태계 플래그는 GitHub 리포지토리를 찾는 용도로만 사용됩니다. 이 플래그는 검사의 최종 평가를 변경하지 않습니다.

또한 이 플래그는 --repo와 함께 사용할 수 없습니다.

특정 검사 실행하기

특정 검사만 실행하려면 --checks 인수에 검사 이름 목록을 추가하세요.

예: --checks=CI-Tests,Code-Review.

결과 형식 지정

현재 지원되는 형식은 default(텍스트)와 json입니다.

이는 --format 플래그로 지정할 수 있습니다. 예: --format=json.

Checks

Scorecard Checks

다음 검사는 기본적으로 대상 프로젝트에 대해 모두 실행됩니다:

상세 검사 문서

각 검사, 점수 기준 및 수정 단계에 대한 자세한 정보는 검사 문서 페이지를 참조하세요.

Scorecard 검사 초보자 가이드

시작할 때 사용해야 할 검사에 대한 가이드는 Scorecard 검사 초보자 가이드를 참조하세요.

기타 중요 권장 사항

이중 인증 (2FA)

이중 인증(2FA)은 웹사이트나 앱에 로그인할 때 보안 계층을 추가합니다. 2FA는 비밀번호가 유출된 경우 SMS로 전송된 코드, 인증 앱, 또는 물리적 보안 키 터치 등 두 번째 형태의 인증을 요구하여 계정을 보호합니다.

2FA를 사용할 수 있는 중요한 계정에서는 2FA를 활성화하는 것을 강력히 권장합니다. 2FA는 Scorecard 검사가 아닙니다. GitHub와 GitLab은 사용자 계정에 대한 해당 데이터를 공개하지 않기 때문입니다. 2FA가 없는 계정은 공격에 매우 취약하므로, 이 데이터는 항상 비공개로 유지되어야 합니다.

공식 검사는 아니지만, 모든 프로젝트 유지보수자가 프로젝트를 손상으로부터 보호하기 위해 2FA를 활성화할 것을 권장합니다.

2FA 활성화

사용자

다음 단계를 따르세요: 이중 인증 구성

가능하다면 다음 중 하나를 사용하세요:

  • 물리적 보안 키(권장), 예: Titan 또는 Yubikey
  • 복구 코드, 접근 보호 및 암호화된 볼트에 저장

마지막 옵션으로 SMS를 사용하세요. 주의: SMS를 사용한 2FA는 SIM 스왑 공격에 취약합니다.

조직
  1. 조직에서 2FA 요구 준비
  2. 조직에서 2FA 요구

점수 산정

종합 점수

각 개별 검사는 0에서 10까지의 점수를 반환하며, 10은 가능한 최고 점수입니다. Scorecard는 또한 위험도에 따라 개별 검사의 가중치 기반 평균인 종합 점수를 생성합니다.

  • "심각" 위험 검사는 가중치 10
  • "높음" 위험 검사는 가중치 7.5
  • "중간" 위험 검사는 가중치 5
  • "낮음" 위험 검사는 가중치 2.5

각 검사의 위험 수준은 현재 Scorecard 검사 목록을 참조하세요.

기여하기

문제 보고

버그로 보이는 문제가 있으면 GitHub 이슈 추적 시스템을 사용해 주세요. 이슈를 제출하기 전에 기존 이슈를 검색하여 이미 다루어졌는지 확인하세요.

Scorecard에 기여하기

기여하기 전에 행동 강령을 준수해 주세요.

프로젝트에 기여하는 방법에 대한 지침은 기여 문서를 참조하세요.

Scorecard 검사 추가하기

검사를 추가하려면 여기의 지침을 참조하세요.

Scorecard 커뮤니티와 연결

Scorecard 커뮤니티에 참여하거나 이야기하고 싶은 아이디어가 있다면 OSSF Best Practices Working Group 회의에서 이 프로젝트에 대해 논의합니다.

__유지보수자__는 CODEOWNERS 파일에 나열되어 있습니다.

보안 문제 보고

보안 문제를 보고하려면 여기의 지침을 따르세요.

Scorecard 프로젝트 회의 참여

Zoom

APAC 친화 격주 목요일 오후 1:00-2:00 태평양 시간 (OSSF 공개 캘린더)

Video Call: LFX z o o m

EMEA 친화 4주마다 월요일 오전 7:00-8:00 태평양 시간 (OSSF 공개 캘린더)

Video Call: LFX z o o m

의제

의제 및 회의 노트는 여기에서 확인할 수 있습니다.

시간 경과에 따른 스타게이저

Stargazers over time

FAQ

FAQ

Scorecard에 대한 자주 묻는 질문에 대한 답변은 FAQ를 참조하세요.

도구 다운로드
패키지 관리자지원 배포판명령어
NixNixOSnix-shell -p nixpkgs.scorecard
AUR 헬퍼Arch LinuxAUR 헬퍼를 사용하여 scorecard를 설치하세요
HomebrewmacOS 또는 Linuxbrew install scorecard
NameDescriptionRisk LevelToken RequiredGitLab SupportNote
Binary-Artifacts프로젝트에 체크인된 바이너리가 없는가?높음PAT, GITHUB_TOKEN지원됨
Branch-Protection프로젝트가 브랜치 보호를 사용하는가?높음PAT (repo 또는 repo> public_repo), GITHUB_TOKEN지원됨 (참고 참조)특정 설정은 유지보수자 PAT로만 지원됨
CI-Tests프로젝트가 CI(예: GitHub Actions, Prow)에서 테스트를 실행하는가?낮음PAT, GITHUB_TOKEN지원됨
CII-Best-Practices프로젝트가 통과, 실버 또는 골드 수준에서 OpenSSF(이전 CII) 모범 사례 배지를 획득했는가?낮음PAT, GITHUB_TOKEN검증 중
Code-Review프로젝트가 코드 병합 전에 코드 리뷰를 수행하는가?높음PAT, GITHUB_TOKEN지원됨
Contributors프로젝트에 최소 두 개 이상의 다른 조직 출신의 기여자가 있는가?낮음PAT, GITHUB_TOKEN검증 중
Dangerous-Workflow프로젝트가 GitHub Action 워크플로에서 위험한 코딩 패턴을 피하는가?심각PAT, GITHUB_TOKEN지원되지 않음
Dependency-Update-Tool프로젝트가 의존성 업데이트를 위해 도구를 사용하는가?높음PAT, GITHUB_TOKEN지원됨
Fuzzing프로젝트가 퍼징 도구(예: OSS-Fuzz, QuickCheck 또는 fast-check)를 사용하는가?중간PAT, GITHUB_TOKEN검증 중
License프로젝트가 라이선스를 명시하는가?낮음PAT, GITHUB_TOKEN검증 중
Maintained프로젝트가 최소 90일 이상 되었으며 유지관리되고 있는가?높음PAT, GITHUB_TOKEN검증 중
Pinned-Dependencies프로젝트가 의존성을 선언하고 고정하는가?중간PAT, GITHUB_TOKEN검증 중
Packaging프로젝트가 CI/CD에서 공식 패키지를 빌드하고 게시하는가? (예: GitHub Publishing)?중간PAT, GITHUB_TOKEN검증 중
SAST프로젝트가 정적 코드 분석 도구(예: CodeQL, LGTM (더 이상 사용되지 않음), SonarCloud)를 사용하는가?중간PAT, GITHUB_TOKEN지원되지 않음
Security-Policy프로젝트에 보안 정책이 포함되어 있는가?중간PAT, GITHUB_TOKEN검증 중
Signed-Releases프로젝트가 릴리스를 암호학적으로 서명하는가?높음PAT, GITHUB_TOKEN검증 중
Token-Permissions프로젝트가 GitHub 워크플로 토큰을 읽기 전용으로 선언하는가?높음PAT, GITHUB_TOKEN지원되지 않음
Vulnerabilities프로젝트에 수정되지 않은 취약점이 있는가? OSV 서비스를 사용합니다.높음PAT, GITHUB_TOKEN검증 중
Webhooks리포지토리에 정의된 웹훅에 요청 출처를 인증하기 위한 토큰이 구성되어 있는가?심각유지보수자 PAT (admin: repo_hook 또는 admin> read:repo_hook 문서실험적
ArtifactLink
Scorecard Dev Forumossf-scorecard-dev@
Scorecard Announcements Forumossf-scorecard-announce@
Community Meeting VCLink to z o o m meeting
Community Meeting CalendarAPAC-friendly Biweekly on Thursdays at 1:00-2:00 PM Pacific (OSSF Public Calendar)
Video Call: LFX Zoom
EMEA-friendly Every 4 Mondays at 7:00-8:00 AM Pacific (OSSF Public Calendar)
Video Call: LFX Zoom
Meeting NotesNotes
Slack Channel#scorecard