
Обнаруживайте и устраняйте неправильные конфигурации и риски безопасности во всех ваших ресурсах GitHub и GitLab.
Укрепите безопасность вашего управления исходным кодом!
Обнаруживайте и устраняйте неправильные конфигурации, проблемы безопасности и соответствия требованиям во всех ваших ресурсах GitHub и GitLab 🔥
от Legit Security.
Legit Security — это решение для управления положением дел в области безопасности приложений (ASPM) и безопасности цепочки поставок программного обеспечения.
Дополнительную информацию см. в таблице сравнения.
Установка возможна несколькими способами:
brew install legitify
Вы можете загрузить последний релиз legitify с https://github.com/Legit-Labs/legitify/releases, каждый архив содержит:
Из исходного кода, выполнив следующие шаги:
git clone [email protected]:Legit-Labs/legitify.git
go run main.go analyze ...
gh extension install legit-labs/gh-legitify
gh legitify
Вы можете запускать legitify в рамках CI-процесса с помощью пользовательских действий GitHub:
name: Legitify Analyze
on:
workflow_dispatch:
schedule:
- cron: '0 11 * * 1-5'
jobs:
analyze:
runs-on: ubuntu-latest
steps:
- name: Legitify Action
uses: Legit-Labs/legitify@main
with:
github_token: ${{ secrets.PAT_FOR_LEGITIFY }}
ignore-policies: |
non_admins_can_create_public_repositories
requires_status_checks
Дополнительные параметры и конфигурацию см. в файле действия.
Для повышения безопасности цепочки поставок ПО пользователей legitify, начиная с версии v0.1.6, каждый релиз legitify содержит документ SLSA Level 3 Provenance.
Документ происхождения относится ко всем артефактам в релизе, а также к сгенерированному образу Docker.
Вы можете использовать официальный верификатор SLSA framework для проверки происхождения.
Пример использования для архитектуры darwin_arm64 для релиза v0.1.6:
VERSION=0.1.6
ARCH=darwin_arm64
./slsa-verifier verify-artifact --source-branch main --builder-id 'https://github.com/slsa-framework/slsa-github-generator/.github/workflows/generator_generic_slsa3.yml@refs/tags/v1.2.2' --source-uri "git+https://github.com/Legit-Labs/legitify" --provenance-path multiple.intoto.jsonl ./legitify_${VERSION}_${ARCH}.tar.gz
SCM_TOKEN=<your_token> legitify analyze
По умолчанию legitify проверяет политики для всех ваших ресурсов (организации, репозитории, участники, действия). Архивные репозитории пропускаются.
Вы можете управлять анализируемыми ресурсами с помощью флагов командной строки namespace и org:
--namespace (-n): анализировать политики, относящиеся к указанным ресурсам--org: ограничить анализ указанными организациями GitHub или группами GitLab, исключая архивные репозитории--repo: ограничить анализ указанными репозиториями GitHub или проектами GitLab--scm: укажите платформу управления исходным кодом. Возможные значения: github или gitlab. По умолчанию github. Обратите внимание: при работе с GitLab требуется --scm gitlab.--enterprise: укажите, какие предприятия следует анализировать. Обратите внимание: для анализа предприятия необходимо указать его slug.SCM_TOKEN=<your_token> legitify analyze --org org1,org2 --namespace organization,member
Приведённая выше команда проверит политики организации и участников для org1 и org2.
SCM_TOKEN=<your_token> OPENAI_TOKEN=<токен> ./legitify gpt-analysis --repo org1/repo1 --org org1
Анализ безопасности предоставленного репозитория или организации на основе GPT-3.
ПРИМЕЧАНИЕ: Метаданные репозитория/организации отправляются на серверы openai.
Флаги:
--org: ограничить анализ указанными организациями GitHub или группами GitLab--repo: ограничить анализ указанными репозиториями GitHub или проектами GitLab--scm: укажите платформу управления исходным кодом. Возможные значения: github или gitlab. По умолчанию github.--token: токен для SCM (или установите переменную окружения SCM_TOKEN)--openai-token: токен для API openai (или установите переменную окружения OPENAI_TOKEN)Необходимо указать --org, --repo или оба.
Генерация токена openai:
Вы также можете запускать legitify как GitHub Action в ваших рабочих процессах — см. конкретные примеры в директории action_examples.
-t) или как переменную окружения (SCM_TOKEN).
Для полного анализа PAT требует следующие области видимости:admin:org, read:enterprise, admin:org_hook, read:org, repo, read:repo_hook
См. Создание персонального токена доступа для получения дополнительной информации.
Персональные токены доступа с детальной настройкой (fine-grained) в настоящее время не поддерживаются.
Вы можете запускать legitify против экземпляра GitHub Enterprise Server, если установите URL конечной точки в переменной окружения SERVER_URL:
export SERVER_URL="https://github.example.com/"
SCM_TOKEN=<your_token> legitify analyze --org org1,org2 --namespace organization,member