보안 정책
아래 보안 정책은 oxc-project 조직의 모든 프로젝트에 적용됩니다.
누락이 보이면 @boshen에게 알려 주세요.
패키지·크레이트 게시 권한이 있는 계정은 https://www.npmjs.com/~boshen 과 https://crates.io/users/Boshen 뿐입니다.
github.com
- 조직 전체에 2단계 인증 필수
- 허용되는 것은 안전한 2FA 방식만
- 시크릿 스캔을 포함한 GitHub Security Scanning 활성화
- GitHub Actions: 모든 액션을 전체 길이 커밋 SHA로 고정
- 릴리스 불변성 — 릴리스가 게시되면 에셋과 태그를 수정할 수 없음
- 서명 커밋 필요: https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits
- 저장소 설정에서 강제하지는 않음(외부 기여자가 기여할 수 없게 되기 때문)
- 게시용 장기 토큰은 보관하지 않음 — 아래 npmjs.com과 crates.io의 trusted publishing 참고
- 보안 업데이트용 Renovate Bot 활성화
- GitHub Actions의 흔한 보안 문제를 검사하기 위해 https://docs.zizmor.sh 사용
npmjs.com
- 로그인 시 2FA 강제
npm publish --provenance로 게시: https://docs.npmjs.com/generating-provenance-statements- trusted publishing으로 게시: https://docs.npmjs.com/trusted-publishers
- Socket Security 설치
- Renovate Bot에
"minimumReleaseAge": "3 days"를 두어 최근 3일 이내에 나온 패키지로의 즉시 업데이트를 피함 - pnpm 사용: https://pnpm.io/supply-chain-security
- 자동
postinstall스크립트 없음
- 자동
crates.io
- trusted publishing으로 게시: https://crates.io/docs/trusted-publishing
- Rust 보안 권고 DB에 맞춰 의존성을 검사하기 위해
cargo deny사용(https://rustsec.org).