우리는 오픈 소스 유지관리자가 보안 모범 사례를 개선하고 오픈 소스 소비자가 종속성이 안전한지 판단할 수 있도록 스코어카드를 만들었습니다.
스코어카드는 소프트웨어 보안과 관련된 여러 가지 중요한 경험적 방법("검사")을 평가하고 각 검사에 0~10점의 점수를 할당하는 자동화된 도구입니다. 이 점수를 사용하여 프로젝트의 보안 태세를 강화하기 위해 개선해야 할 특정 영역을 이해할 수 있습니다. 또한 종속성으로 인해 발생하는 위험을 평가하고 이러한 위험을 수용하고 대체 솔루션을 평가하거나 유지 관리 담당자와 협력하여 개선하는 방법에 대해 정보에 입각한 결정을 내릴 수 있습니다.
스코어카드 로고의 영감: "합격하셨습니다! 모두 D를 받고 A를 받았습니다!"
오픈 소스 프로젝트의 보안 상태에 대한 분석 및 신뢰 결정을 자동화합니다.
이 데이터를 사용하여 전 세계가 의존하는 중요 프로젝트의 보안 상태를 적극적으로 개선하세요.
기존 정책에 대한 측정 도구 역할
OSS 소비자가 종속성에서 특정 동작을 요구하는 경우 스코어카드를 사용하여 이를 측정할 수 있습니다. V5 릴리스에서는 지원되는 분석이 있는 경우 이를 수행하는 방법으로 구조화된 결과가 표시됩니다. OSS 소비자는 X/10의 집계 점수 또는 Y/10의 유지 점수에 의존하는 대신 자신이 의존하는 저장소가 보관되지 않았는지 확인하기를 원할 수 있습니다( archived
프로브에 의해 처리됨). OpenSSF는 프로젝트에 대한 자체 보안 기준을 통해 이러한 접근 방식을 취합니다.
모든 프로젝트가 따라야 하는 최종 보고서 또는 요구 사항입니다.
스코어카드는 모든 경우에 적용되는 단일 솔루션이 아닙니다. 결과를 도출하는 모든 단계에는 어떤 검사가 포함되거나 제외되는지, 각 검사의 중요성, 점수 계산 방법 등 독단적인 의견이 있습니다. 수표 자체는 경험적 방법입니다. 거짓양성(false positives)과 거짓음성(false negatives)이 있습니다.
적용 가능성, 타당성, 의견 문제 등 스코어카드 결과에 무엇이 포함되거나 제외되는지에 대해 많은 논의가 이루어집니다. 다양한 청중이 다양한 행동 하위 집합에 관심을 가지기 때문에 모두를 만족시키는 스코어카드를 만드는 것은 불가능합니다.
특히 집계 점수는 저장소가 수행하는 개별 동작이 무엇인지 또는 수행하지 않는지에 대해 아무 것도 알려주지 않습니다. 많은 확인 점수가 단일 점수로 집계되며 동일한 점수에 도달하는 방법에는 여러 가지가 있습니다. 이러한 점수는 새로운 경험적 방법을 추가하거나 기존 경험적 방법을 개선함에 따라 변경됩니다.
Scorecard는 보안 지표를 모니터링하고 추적하기 위해 수천 개의 프로젝트에서 실행되었습니다. Scorecard를 사용하는 주요 프로젝트는 다음과 같습니다.
Scorecard에서 정기적으로 검사하는 프로젝트의 점수를 보려면 웹 뷰어로 이동하세요. 다음 템플릿 링크에서 자리 표시자 텍스트(플랫폼, 사용자/조직 및 저장소 이름)를 대체하여 저장소에 대한 사용자 정의 스코어카드 링크를 생성할 수도 있습니다: https://scorecard.dev/viewer/?uri=<github_or_gitlab>.com/<user_name_or_org>/<repository_name>
예를 들어:
웹뷰어에 포함되지 않은 프로젝트의 점수를 보려면 Scorecard CLI를 사용하세요.
우리는 직접적인 종속성을 기준으로 판단되는 100만 개의 가장 중요한 오픈소스 프로젝트에 대해 매주 스코어카드 스캔을 실행하고 그 결과를 BigQuery 공개 데이터세트에 게시합니다.
이 데이터는 공개 BigQuery 데이터세트 openssf:scorecardcron.scorecard-v2
에서 사용할 수 있습니다. 최신 결과는 BigQuery 보기 openssf:scorecardcron.scorecard-v2_latest
에서 확인할 수 있습니다.
데이터 추가 > 이름으로 프로젝트 별표 표시 > 'openssf'로 이동하여 BigQuery 탐색기를 사용하여 데이터를 쿼리할 수 있습니다. 예를 들어, 시간이 지남에 따라 프로젝트 점수가 어떻게 변했는지에 관심이 있을 수 있습니다.
SELECT date , score FROM ` openssf.scorecardcron.scorecard-v2 ` WHERE repo . name = " github.com/ossf/scorecard " ORDER BY date ASC
bq
도구를 사용하여 최신 결과를 JSON 형식으로 Google Cloud Storage에 추출할 수 있습니다.
# 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에서만 호스팅되는 프로젝트 에서만 파생됩니다. 우리는 가까운 시일 내에 다른 소스 제어 시스템에서 호스팅되는 프로젝트를 설명하기 위해 이를 확장할 계획입니다.
소유한 GitHub 프로젝트에서 Scorecard를 사용하는 가장 쉬운 방법은 Scorecard GitHub Action을 사용하는 것입니다. 작업은 저장소 변경 시 실행되며 관리자가 저장소의 보안 탭에서 볼 수 있는 경고를 발행합니다. 자세한 내용은 Scorecard GitHub Action 설치 지침을 참조하세요.
OSS 프로젝트의 사전 계산된 점수를 쿼리하려면 REST API를 사용하세요.
REST API에서 프로젝트를 사용할 수 있도록 하려면 Scorecard GitHub Action 설정에서 publish_results: true
설정하세요.
REST API에서 제공하는 데이터는 CDLA Permissive 2.0에 따라 라이센스가 부여됩니다.
Scorecard에서 publish_results: true
활성화하면 GitHub Actions를 통해 유지관리자는 자신의 저장소에 Scorecard 배지를 표시하여 자신의 노고를 과시할 수 있습니다. 이 배지는 저장소가 변경될 때마다 자동 업데이트됩니다. 이 OSSF 블로그 게시물에서 자세한 내용을 확인하세요.
프로젝트 저장소에 배지를 포함하려면 README에 다음 마크다운을 추가하세요.
[![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/{owner}/{repo}/badge)](https://scorecard.dev/viewer/?uri=github.com/{owner}/{repo})
자신이 소유하지 않은 프로젝트에 대해 스코어카드 스캔을 실행하려면 명령줄 인터페이스 설치 옵션을 사용하세요.
플랫폼: 현재 Scorecard는 OSX 및 Linux 플랫폼을 지원합니다. Windows OS를 사용하는 경우 문제가 발생할 수 있습니다. Windows 지원을 위한 기여를 환영합니다.
언어: Scorecard를 실행하려면 GoLang이 설치되어 있어야 합니다. (https://golang.org/doc/install)
scorecard
Docker 컨테이너로 제공됩니다.
docker pull gcr.io/openssf/scorecard:stable
특정 스코어카드 버전(예: v3.2.1)을 사용하려면 다음을 실행하세요.
docker pull gcr.io/openssf/scorecard:v3.2.1
스코어카드를 독립형으로 설치하려면 다음을 수행하십시오.
최신 릴리스 페이지를 방문하여 운영 체제에 맞는 zip 파일을 다운로드하세요.
GOPATH/bin
디렉터리에 바이너리를 추가합니다(필요한 경우 go env GOPATH
사용하여 디렉터리를 식별합니다).
릴리스 프로세스 중에 OpenSSF의 slsa-framework/slsa-github-generator를 사용하여 SLSA3 서명을 생성합니다. 릴리스 바이너리를 확인하려면 다음 안내를 따르세요.
attestation.intoto.jsonl
을 다운로드합니다.slsa-verifier -artifact-path < the-zip > -provenance attestation.intoto.jsonl -source github.com/ossf/scorecard -tag < the-tag >
패키지 관리자 | 지원되는 배포 | 명령 |
---|---|---|
아니야 | 닉스OS | nix-shell -p nixpkgs.scorecard |
AUR 도우미 | 아치 리눅스 | AUR 도우미를 사용하여 scorecard 설치 |
홈브류 | macOS 또는 Linux | brew install scorecard |
GitHub는 인증되지 않은 요청에 API 속도 제한을 적용합니다. 이러한 제한을 피하려면 스코어카드를 실행하기 전에 요청을 인증해야 합니다. 요청을 인증하는 방법에는 GitHub 개인 액세스 토큰을 생성하거나 GitHub 앱 설치를 생성하는 두 가지 방법이 있습니다.
public_repo
범위를 선택하는 것이 좋습니다. 플랫폼에 따라 아래 명령을 사용하여 GITHUB_AUTH_TOKEN
, GITHUB_TOKEN
, GH_AUTH_TOKEN
또는 GH_TOKEN
이라는 환경 변수에 토큰을 설정합니다. # For posix platforms, e.g. linux, mac:
export GITHUB_AUTH_TOKEN= < your access token >
# Multiple tokens can be provided separated by comma to be utilized
# in a round robin fashion.
export GITHUB_AUTH_TOKEN= < your access token 1> , < your access token 2>
# For windows:
set GITHUB_AUTH_TOKEN= < your access token >
set GITHUB_AUTH_TOKEN= < your access token 1> , < your access token 2>
또는
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 --repo=github.com/ossf-tests/scorecard-check-branch-protection-e2e
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 |
| --------- | ------------------------ | -------------------------------- | --------------------------------------------------------------------------- |
GITHUB_AUTH_TOKEN
은 유효한 토큰으로 설정되어야 합니다.
docker run -e GITHUB_AUTH_TOKEN=token gcr.io/openssf/scorecard:stable --show-details --repo=https://github.com/ossf/scorecard
특정 스코어카드 버전(예: v3.2.1)을 사용하려면 다음을 실행하세요.
docker run -e GITHUB_AUTH_TOKEN=token gcr.io/openssf/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
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' | |
|---------|------------------------|--------------------------------|--------------------------------|---------------------------------------------------------------------------|
유지관리자 주석을 사용 하면 유지관리자는 스코어카드 확인 결과와 함께 표시할 컨텍스트를 추가할 수 있습니다. 스코어카드에 프로젝트 보안 관행에 대한 평가가 불완전한 경우 주석은 사용자에게 추가 정보를 제공할 수 있습니다. 각 검사에 대한 관리자 주석을 보려면 --show-annotations
옵션을 사용하세요.
사용 가능한 주석이나 주석을 만드는 방법에 대한 자세한 내용은 구성 문서를 참조하세요.
GitLab 저장소에서 스코어카드를 실행하려면 다음 권한이 있는 GitLab 액세스 토큰을 생성해야 합니다.
read_api
read_user
read_repository
GITLAB_AUTH_TOKEN
환경 변수를 설정하여 GitLab 저장소에서 Scorecard를 실행할 수 있습니다.
export GITLAB_AUTH_TOKEN=glpat-xxxx
scorecard --repo gitlab.com/ < org > / < project > / < subproject >
GitLab CI/CD에서 Scorecard를 사용하는 예는 여기를 참조하세요.
우리는 GitLab.com 지원에 중점을 두고 있지만 Scorecard는 자체 호스팅 GitLab 설치에서도 작동합니다. 플랫폼이 하위 도메인(예: gitlab.foo.com
)에서 호스팅되는 경우 스코어카드는 즉시 작동해야 합니다. 귀하의 플랫폼이 일부 슬러그(예: foo.com/bar/
)에서 호스팅되는 경우 GL_HOST
환경 변수를 설정해야 합니다.
export GITLAB_AUTH_TOKEN=glpat-xxxx
export GL_HOST=foo.com/bar
scorecard --repo foo.com/bar/ < org > / < project >
GitHub Enterprise 호스트 github.corp.com
사용하려면 GH_HOST
환경 변수를 사용하세요.
# 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
입니다.
특정 검사만 실행하려면 검사 이름 목록과 함께 --checks
인수를 추가하세요.
예를 들어 --checks=CI-Tests,Code-Review
입니다.
현재 지원되는 형식은 default
(text) 및 json
입니다.
--format
플래그를 사용하여 지정할 수 있습니다. 예를 들어 --format=json
입니다.
다음 검사는 모두 기본적으로 대상 프로젝트에 대해 실행됩니다.
이름 | 설명 | 위험 수준 | 토큰 필요 | GitLab 지원 | 메모 |
---|---|---|---|---|---|
바이너리 아티팩트 | 프로젝트에 체크인 바이너리가 없나요? | 높은 | 팻, GITHUB_TOKEN | 지원됨 | |
지점 보호 | 프로젝트에서 Branch Protection을 사용합니까? | 높은 | PAT( repo 또는 repo> public_repo ), GITHUB_TOKEN | 지원됨(참고 사항 참조) | 특정 설정은 관리자 PAT에서만 지원됩니다. |
CI 테스트 | 프로젝트가 GitHub Actions, Prow와 같은 CI에서 테스트를 실행합니까? | 낮은 | 팻, GITHUB_TOKEN | 지원됨 | |
CII-모범 사례 | 프로젝트가 합격, 실버 또는 골드 레벨에서 OpenSSF(이전 CII) 모범 사례 배지를 획득했습니까? | 낮은 | 팻, GITHUB_TOKEN | 검증 중 | |
코드 검토 | 코드가 병합되기 전에 프로젝트 실습 코드가 검토됩니까? | 높은 | 팻, GITHUB_TOKEN | 검증 중 | |
기여자 | 프로젝트에 최소한 두 개 이상의 다른 조직의 기여자가 있습니까? | 낮은 | 팻, GITHUB_TOKEN | 검증 중 | |
위험한 작업 흐름 | 프로젝트가 GitHub Action 워크플로에서 위험한 코딩 패턴을 방지합니까? | 비판적인 | 팻, GITHUB_TOKEN | 지원되지 않음 | |
종속성 업데이트 도구 | 프로젝트에서 종속성을 업데이트하는 데 도움이 되는 도구를 사용합니까? | 높은 | 팻, GITHUB_TOKEN | 지원되지 않음 | |
퍼징 | 프로젝트에서 OSS-Fuzz, QuickCheck 또는 fast-check와 같은 퍼징 도구를 사용합니까? | 중간 | 팻, GITHUB_TOKEN | 검증 중 | |
특허 | 프로젝트가 라이센스를 선언합니까? | 낮은 | 팻, GITHUB_TOKEN | 검증 중 | |
유지됨 | 프로젝트가 최소 90일 이상 지속되었으며 유지관리됩니까? | 높은 | 팻, GITHUB_TOKEN | 검증 중 | |
고정된 종속성 | 프로젝트가 종속성을 선언하고 고정합니까? | 중간 | 팻, GITHUB_TOKEN | 검증 중 | |
포장 | 프로젝트가 CI/CD에서 공식 패키지(예: GitHub Publishing)를 빌드하고 게시합니까? | 중간 | 팻, GITHUB_TOKEN | 검증 중 | |
SAST | 프로젝트에서 CodeQL, LGTM(더 이상 사용되지 않음), SonarCloud와 같은 정적 코드 분석 도구를 사용합니까? | 중간 | 팻, GITHUB_TOKEN | 지원되지 않음 | |
보안 정책 | 프로젝트에 보안 정책이 포함되어 있나요? | 중간 | 팻, GITHUB_TOKEN | 검증 중 | |
서명된 릴리스 | 프로젝트가 암호화 방식으로 릴리스에 서명합니까? | 높은 | 팻, GITHUB_TOKEN | 검증 중 | |
토큰 권한 | 프로젝트에서 GitHub 워크플로 토큰을 읽기 전용으로 선언합니까? | 높은 | 팻, GITHUB_TOKEN | 지원되지 않음 | |
취약점 | 프로젝트에 수정되지 않은 취약점이 있습니까? OSV 서비스를 사용합니다. | 높은 | 팻, GITHUB_TOKEN | 검증 중 | |
웹훅 | 저장소에 정의된 웹후크에 요청 출처를 인증하도록 구성된 토큰이 있습니까? | 비판적인 | 관리자 PAT( admin: repo_hook 또는 admin> read:repo_hook doc | 실험적 |
각 검사, 점수 기준, 수정 단계에 대한 자세한 정보를 보려면 검사 문서 페이지를 확인하세요.
시작할 때 사용해야 하는 검사에 대한 안내는 스코어카드 검사에 대한 초보자 가이드를 참조하세요.
2단계 인증(2FA)은 웹사이트나 앱에 로그인할 때 추가 보안 계층을 추가합니다. 2FA는 SMS나 인증 앱을 통해 전송된 코드, 물리적 보안 키 터치 등 두 번째 형태의 인증을 요구하여 비밀번호가 유출된 경우 계정을 보호합니다.
2FA가 가능한 중요한 계정에서는 2FA를 활성화하는 것이 좋습니다. 2FA는 GitHub와 GitLab이 사용자 계정에 대한 데이터를 공개하지 않기 때문에 스코어카드 검사가 아닙니다. 2FA가 없는 계정은 공격에 매우 취약하므로 이 데이터는 항상 비공개로 유지되어야 합니다.
공식적인 확인은 아니지만 모든 프로젝트 유지관리자는 2FA를 활성화하여 프로젝트가 손상되지 않도록 보호할 것을 권장합니다.
2단계 인증 구성에 설명된 단계를 따르세요.
가능하다면 다음 중 하나를 사용하세요.
마지막 옵션으로 SMS를 사용하세요. 주의: SMS를 사용하는 2FA는 SIM 스왑 공격에 취약합니다.
각 개별 검사는 0에서 10까지의 점수를 반환하며, 10이 가능한 최고 점수를 나타냅니다. 스코어카드는 또한 위험에 따라 가중치가 부여된 개별 검사의 가중치 기반 평균인 집계 점수를 생성합니다.
각 검사의 위험 수준에 대한 현재 스코어카드 검사 목록을 참조하세요.
버그로 보이는 부분이 있으면 GitHub 문제 추적 시스템을 사용하세요. 문제를 제기하기 전에 기존 문제를 검색하여 해당 문제가 이미 다루어졌는지 확인하세요.
기여하기 전에 행동 강령을 따르십시오.
프로젝트에 기여하는 방법에 대한 지침은 기여 문서를 참조하세요.
수표를 추가하려면 여기에서 지침을 참조하세요.
Scorecard 커뮤니티에 참여하고 싶거나 대화하고 싶은 아이디어가 있으면 OSSF 모범 사례 실무 그룹 회의에서 이 프로젝트에 대해 논의하세요.
인공물 | 링크 |
---|---|
스코어카드 개발자 포럼 | ossf-스코어카드-dev@ |
스코어카드 공지 포럼 | ossf-scorecard-announce@ |
커뮤니티 미팅 VC | 줌 미팅 링크 |
커뮤니티 회의 일정 | APAC 친화적 격주 목요일 오후 1시~2시(태평양 표준시)(OSSF 공개 일정) 영상 통화: LFX Zoom EMEA 친화적 매 4주 월요일 오전 7시~8시(태평양 표준시)(OSSF 공개 달력) 영상 통화: LFX 줌 |
회의록 | 메모 |
슬랙 채널 | #스코어카드 |
유지관리자는 CODEOWNERS 파일에 나열되어 있습니다.
보안 문제를 신고하려면 여기의 지침을 따르십시오.
APAC 친화적 격주 목요일 오후 1시~2시(태평양 표준시)(OSSF 공개 일정)
영상 통화: LFX 줌
EMEA 친화적 매 4주 월요일 오전 7시~8시(태평양 표준시)(OSSF 공개 달력)
영상 통화: LFX 줌
여기에서 안건과 회의록을 볼 수 있습니다.
스코어카드에 관해 자주 묻는 질문(FAQ)에 대한 답변은 FAQ를 참조하세요.