Политика безопасности
Ниже описаны меры безопасности для всех проектов организации oxc-project.
Если заметите недочёт, сообщите @boshen.
Публикация в npm и crates.io возможна только с аккаунтов https://www.npmjs.com/~boshen и https://crates.io/users/Boshen.
github.com
- Обязательная двухфакторная аутентификация для участников организации
- Разрешены только надёжные методы 2FA
- Включено сканирование безопасности GitHub, включая поиск секретов
- GitHub Actions: все действия закреплены по полному SHA коммита
- Неизменяемые релизы — после публикации активы и теги менять нельзя
- Подписанные коммиты: https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits
- В настройках репозитория не принуждаем всех — иначе внешним контрибьюторам будет сложнее
- Долгоживущие токены для публикации не храним — см. trusted publishing для npmjs.com и crates.io ниже
- Renovate Bot для обновлений по безопасности
- https://docs.zizmor.sh для проверки GitHub Actions на типичные проблемы
npmjs.com
- Принудительная 2FA при входе
- Публикация с
npm publish --provenance: https://docs.npmjs.com/generating-provenance-statements - Trusted publishing: https://docs.npmjs.com/trusted-publishers
- Socket Security
- У Renovate
"minimumReleaseAge": "3 days", чтобы не подтягивать свежие пакеты первые 3 дня - Используем pnpm: https://pnpm.io/supply-chain-security
- Без автоматических скриптов
postinstall
- Без автоматических скриптов
crates.io
- Trusted publishing: https://crates.io/docs/trusted-publishing
cargo denyпротив базы advisory Rust (https://rustsec.org).