GitHub Actions 공급망 보안 2026, CI/CD 권한·의존성·시크릿 방어 기준

GitHub Actions 공급망 보안 점검을 위한 보안 운영 회의와 CI/CD 파이프라인 검토 장면
GitHub Actions 공급망 보안은 workflow 권한, 타사 action, 의존성 변경, 배포 자격 증명을 같은 표에서 봐야 한다.

GitHub Actions 공급망 보안을 검색한 팀은 단순히 workflow 문법을 고치려는 것이 아니다.

문제는 PR 하나, 타사 action 하나, 오래된 PAT 하나가 빌드 권한과 패키지 배포 권한으로 번지는 순간이다.

Wiz가 분석한 AsyncAPI 사례는 pull_request_target과 공격자 제어 코드가 만나면 저장소 비밀과 배포 토큰이 노출될 수 있음을 보여준다.

그래서 이 글의 결론은 간단하다.

CI/CD 보안은 secret scanning 한 줄이 아니라 workflow trigger, GITHUB_TOKEN 권한, action 고정, dependency review, artifact provenance를 한 번에 묶어야 한다.

핵심 요약
  • pull_request_target은 untrusted PR 코드를 실행하지 않는 구조일 때만 제한적으로 써야 한다.
  • GITHUB_TOKEN은 repository 기본값을 read 중심으로 두고 job별 permissions에서 필요한 권한만 올린다.
  • 타사 action은 owner, 태그, commit, release 신뢰도, 유지보수 상태, Scorecard 신호를 같이 본다.
  • 패키지 배포 저장소는 dependency review, SBOM, provenance, secret rotation runbook을 release gate로 묶는다.

이 글이 필요한 사람

  • GitHub Actions로 npm, PyPI, container image, internal package를 배포하는 DevOps 담당자
  • pull_request_target, workflow_run, self-hosted runner를 쓰지만 보안 기준이 문서화되지 않은 플랫폼팀
  • 개발 속도와 공급망 보안 통제를 같이 맞춰야 하는 보안팀과 AppSec 담당자
  • Secret Scanning과 Dependabot은 켰지만 release artifact 신뢰성까지 보지 못한 조직
  • 오픈소스 저장소 또는 외부 PR을 받는 서비스에서 CI/CD 권한 분리를 다시 설계해야 하는 관리자

GitHub Actions 공급망 보안의 공격면을 먼저 나눈다

공급망 공격은 보통 하나의 큰 취약점보다 작은 권한 연결에서 시작한다.

workflow가 PR 코드를 실행하고, 그 job이 write 권한 token을 받고, 배포 secret까지 읽으면 공격자는 빌드 서버를 우회 배포 경로로 쓸 수 있다.

GitHub 공식 문서는 secrets, GITHUB_TOKEN 최소 권한, 타사 action 사용, untrusted input 처리 같은 항목을 Actions 보안 기준으로 분리한다.

이 분리를 그대로 내부 점검표로 바꾸면 무엇을 먼저 막을지 보인다.

공격면주요 위험먼저 볼 파일차단 기준
Triggeruntrusted PR 코드가 base 저장소 권한으로 실행.github/workflows/*.ymlpull_request_target은 checkout과 실행 경로를 분리
TokenGITHUB_TOKEN 또는 PAT가 과한 write 권한 보유permissions, secrets, env기본 read, job별 write 허용
Third-party actionaction owner 변경, tag 이동, 악성 releaseuses: owner/repo@refallowlist와 pinning review
Dependencylockfile 변경으로 취약 패키지 유입manifest, lockfiledependency review와 severity gate
Artifact빌드 산출물 출처를 검증하지 못함release, package registryprovenance, SBOM, attestation 검토

이 조건이면 보안팀이 먼저 개입해야 한다.

외부 PR을 받고, workflow가 secrets 또는 package publish 권한을 읽으며, runner가 production credential에 접근하는 저장소다.

이 경우는 개발팀 자체 점검으로 시작해도 된다.

내부 전용 저장소이고 release가 수동 승인되며, workflow 권한이 read 중심으로 이미 제한된 경우다.

pull_request_target은 기능보다 격리 기준으로 판단한다

pull_request_target은 base 저장소 컨텍스트에서 동작하기 때문에 일반 pull_request보다 민감하게 다뤄야 한다.

문제 자체는 trigger 이름이 아니라 attacker-controlled code를 같은 job에서 checkout하고 실행하는 구조다.

Wiz 분석의 핵심도 이 지점이다.

PR에서 온 코드를 실행하면서 base repository의 secret과 권한을 동시에 주면 공격자가 CI를 배포 권한 통로로 바꿀 수 있다.

상황위험도허용 판단대체 구조
외부 PR 라벨링만 수행낮음읽기 작업이면 제한적으로 허용base branch 코드만 checkout
PR 코드 테스트 실행높음secret 접근 job과 분리 필요pull_request trigger로 격리 실행
preview 배포높음토큰과 untrusted code 분리 필요승인 후 별도 workflow_dispatch
패키지 publish매우 높음외부 PR 경로에서 금지protected branch merge 이후 배포
workflow_run 연계중간 이상artifact 신뢰성 검증 필요source workflow와 권한 경계 명시

이 조건이면 pull_request_target을 유지할 수 있다.

job이 PR 코드와 스크립트를 실행하지 않고, label, comment, metadata 조회처럼 base 저장소의 안전한 동작만 수행하는 경우다.

이 조건이면 보류가 맞다.

checkout 대상이 PR head이고, npm install이나 shell script 실행이 있으며, secrets 또는 write token을 같은 job에서 읽는 경우다.

GITHUB_TOKEN은 저장소 기본값보다 job별 권한이 중요하다

GitHub 문서는 action이 명시적으로 전달받지 않아도 github.token 컨텍스트로 GITHUB_TOKEN에 접근할 수 있다고 설명한다.

그래서 workflow에서 token을 쓰지 않는다고 생각해도 permissions 설정을 비워 두면 안전하다고 볼 수 없다.

repository 기본 권한은 read 중심으로 낮추고, issue 작성, pull request comment, package publish 같은 job에서만 필요한 write 권한을 열어야 한다.

Job 유형권장 permissions 출발점열 수 있는 권한검토 owner
lint/testcontents: read없음개발 리드
dependency reviewcontents: read, pull-requests: readsecurity-events: writeAppSec
comment botcontents: readissues 또는 pull-requests write플랫폼팀
package publishcontents: readpackages write 또는 id-token write릴리스 owner
deploymentcontents: readdeployments write, id-token writeSRE와 보안팀

장기 cloud access key를 secret에 넣는 방식은 사고 때 회수 범위가 커진다.

가능한 환경에서는 OIDC 기반 단기 credential 전환을 검토하고, 불가피한 secret은 environment protection과 rotation 주기를 같이 둔다.

타사 action은 버전 고정만으로 끝나지 않는다

많은 팀이 action을 태그로 고정하면 충분하다고 생각한다.

하지만 태그 이동, owner 권한 변경, 유지보수 중단, build script 변경, release asset 교체 같은 운영 리스크는 여전히 남는다.

OpenSSF Scorecard는 repository의 보안 신호를 점검하는 도구로 쓸 수 있지만, 점수 하나가 구매 승인처럼 동작하면 위험하다.

검토 항목확인 기준통과 예시보류 예시
Owner 신뢰조직, maintainer, release 기록 확인공식 vendor 또는 장기 유지 조직개인 repo, maintainer 불명확
Ref 고정tag 또는 SHA 정책 선택release tag와 changelog 확인main, master, latest 사용
권한 범위action이 token, network, file system을 어떻게 쓰는지 확인필요 권한 문서화권한 설명 없음
Release 신호최근 릴리스, issue 대응, security policy 확인보안 공지와 patch 흐름 존재장기 미관리
대체 가능성내부 script로 바꿀 수 있는지 확인간단한 shell로 대체 가능복잡한 binary 실행만 제공

이 조건이면 third-party action을 쓸 수 있다.

권한이 낮고, owner가 명확하며, 장애 시 내부 script로 대체할 수 있고, release 변경을 code owner가 검토하는 경우다.

이 조건이면 내부 구현을 우선한다.

배포 credential을 다루거나, production artifact에 서명하거나, action 내부가 불투명한 binary를 내려받아 실행하는 경우다.

Dependency review는 개발자 경험을 해치지 않는 선에서 막는다

GitHub dependency review는 PR에서 추가, 삭제, 업데이트된 dependency와 취약점 영향을 보여준다.

이 기능은 보안팀만 보는 대시보드보다 PR gate에 붙을 때 효과가 크다.

다만 모든 minor update를 막으면 개발팀은 우회 경로를 찾는다.

차단 기준은 severity, license, package age, ecosystem, runtime exposure를 나눠야 한다.

변경 유형자동 차단수동 검토허용
Critical CVE 포함차단보안 예외 승인 필요불가
High CVE 포함차단 또는 owner 승인외부 노출 서비스면 차단내부 dev dependency면 조건부
새 maintainer package차단보다는 검토다운로드, source, release 확인위험 낮으면 허용
License 변경정책 위반이면 차단법무 또는 오픈소스 담당 검토허용 license면 통과
Lockfile 대량 변경차단보다는 diff reviewtransitive change 원인 확인자동화 update면 통과

이 조건이면 dependency review를 blocking gate로 둔다.

외부 고객에게 배포되는 package, container, agent, SDK에 직접 들어가는 dependency 변경이다.

이 조건이면 warning gate부터 시작한다.

개발 전용 toolchain 변경이고 배포 산출물에 들어가지 않으며, 보안팀이 false positive 튜닝을 아직 하지 못한 경우다.

SLSA와 provenance는 릴리스 신뢰성을 설명하는 언어다

SLSA 요구사항은 artifact를 만드는 생산자와 build platform의 책임을 나눠서 본다.

핵심은 같은 소스에서 같은 절차로 빌드했고, provenance가 생성되고, 위조되기 어렵고, 빌드 환경이 격리되는지 확인하는 것이다.

작은 팀이 바로 높은 수준을 맞추기는 어렵다.

그래도 release artifact가 고객 환경에 설치된다면 provenance와 SBOM을 검토 항목으로 넣어야 한다.

릴리스 단계최소 기준강화 기준보류 기준
Sourceprotected branch와 review 필수signed commit 또는 verified author 검토직접 push 배포
Buildclean runner와 고정된 workflowreusable workflow와 권한 분리개발자 PC 수동 빌드
Dependencymanifest와 lockfile reviewSBOM 생성과 보관lockfile 없는 배포
Artifactchecksum과 release noteprovenance 또는 attestation출처 불명 binary 첨부
Registry최소 권한 publish tokenOIDC 또는 short-lived credential장기 PAT로 publish

이 조건이면 provenance를 우선 도입한다.

고객이 package, agent, CLI, container image를 내려받아 내부망에서 실행하는 제품이다.

이 조건이면 우선순위를 낮춰도 된다.

내부용 batch workflow이고 외부 배포 artifact가 없으며, 배포 경로가 별도 승인 시스템으로 이미 통제되는 경우다.

비용은 도구보다 false positive와 release 지연에서 나온다

GitHub Actions 공급망 보안은 라이선스 비용만으로 예산을 잡으면 실패한다.

실제 비용은 PR 지연, false positive triage, action allowlist 관리, self-hosted runner 격리, secret rotation 훈련에서 나온다.

보안팀이 모든 workflow 변경을 수동 승인하면 속도 비용이 크다.

반대로 개발팀이 권한을 마음대로 열면 사고 비용이 커진다.

비용 항목낮게 잡으면 생기는 문제실무 기준owner
Workflow review위험한 trigger가 merge됨CODEOWNERS와 고위험 패턴 자동 탐지플랫폼팀
Action inventory오래된 action과 owner 변경 누락월간 allowlist reviewDevSecOps
Dependency gate취약 dependency 유입severity와 license 기준 분리AppSec
Runner isolation빌드 토큰과 내부망 접근 확대repository별 runner group 분리SRE
Secret rotation노출 후 복구 지연rotation runbook과 모의훈련보안팀

이 조건이면 자동화에 더 투자할 만하다.

매주 수십 개의 workflow와 dependency PR이 생기고, 보안팀 승인 대기 때문에 release가 밀리는 조직이다.

이 조건이면 수동 checklist가 먼저다.

workflow 수가 적고 배포 빈도가 낮으며, 현재 사고면이 pull_request_target과 장기 secret 같은 명확한 항목에 집중된 경우다.

실무 시나리오 1: 오픈소스 저장소의 외부 PR

오픈소스 저장소는 기여자 경험 때문에 PR 자동 테스트를 끄기 어렵다.

이 경우 test job은 pull_request에서 read 권한으로 실행하고, comment, label, preview 배포처럼 권한이 필요한 작업은 base branch 코드만 실행해야 한다.

외부 PR에서 온 코드를 checkout한 뒤 secret을 읽는 구조는 보류가 맞다.

유지보수자는 preview 링크 생성과 package publish를 같은 workflow에 넣지 말고, 승인 후 별도 workflow_dispatch로 분리하는 편이 안전하다.

실무 시나리오 2: SaaS 회사의 npm 패키지 배포

SaaS 회사가 SDK나 CLI를 npm으로 배포한다면 GitHub Actions는 사실상 배포 시스템이다.

dependency review와 secret scanning만으로는 충분하지 않다.

package publish job은 protected branch, environment approval, 최소 권한 token, provenance, release artifact 검증을 함께 지나야 한다.

장기 npm token이 repository secret에 남아 있다면 OIDC 또는 짧은 수명의 배포 credential 전환을 우선 검토한다.

실무 시나리오 3: self-hosted runner를 쓰는 내부 플랫폼

Self-hosted runner는 내부망 접근성과 캐시 때문에 편하지만 공급망 공격의 충격 반경이 커질 수 있다.

외부 PR이 self-hosted runner에서 실행되면 내부 네트워크와 build secret에 접근할 위험이 커진다.

이 조건이면 runner group을 저장소와 신뢰 수준별로 나누고, untrusted PR은 hosted runner나 격리 runner에서만 실행한다.

runner 재사용 캐시는 빌드 속도를 높이지만 악성 파일 잔존과 credential 흔적을 만들 수 있어 clean policy를 문서화해야 한다.

실무 스켈레톤: 공급망 보안 gate workflow

아래 YAML은 바로 복붙해서 끝내는 정답이 아니라, repository별 권한과 gate 위치를 맞추기 위한 출발점이다.

# .github/workflows/supply-chain-guard.yml
# 목적: GitHub Actions 공급망 보안의 기본선을 repository 단위로 고정한다.
# 실제 action 이름, branch, registry, 권한은 조직 정책과 공식 문서 확인 후 조정한다.

name: supply-chain-guard

on:
  pull_request:
    branches: [main]
  workflow_dispatch:

permissions:
  contents: read
  pull-requests: read
  security-events: write

jobs:
  dependency-review:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout base-safe code
        uses: actions/checkout@v4
        with:
          persist-credentials: false
      - name: Dependency review gate
        uses: actions/dependency-review-action@v4
        with:
          fail-on-severity: high
          deny-licenses: GPL-3.0, AGPL-3.0

  action-inventory:
    runs-on: ubuntu-latest
    permissions:
      contents: read
    steps:
      - uses: actions/checkout@v4
        with:
          persist-credentials: false
      - name: List workflow action references
        shell: bash
        run: |
          set -euo pipefail
          grep -RhoE 'uses: [^ ]+' .github/workflows             | sed 's/uses: //'             | sort -u             | tee action-inventory.txt
          if grep -Ev '@[0-9a-f]{40}$|@v[0-9]+' action-inventory.txt; then
            echo 'review_unpinned_actions=true' >> "$GITHUB_STEP_SUMMARY"
          fi

핵심은 permissions를 workflow 전체에서 낮추고, dependency와 action inventory를 PR 초기에 보여주는 것이다.

운영 환경에서는 CODEOWNERS, branch protection, repository rules, package registry 권한과 같이 묶어야 한다.

정책 템플릿: workflow 권한과 secret 기준

보안팀과 플랫폼팀은 금지 목록보다 예외 승인 기준을 먼저 합의해야 한다.

{
  "github_actions_supply_chain_policy": {
    "default_token_permissions": "contents:read",
    "allowed_triggers_for_untrusted_code": ["pull_request"],
    "restricted_triggers": ["pull_request_target", "workflow_run"],
    "third_party_actions": {
      "allowlist_required": true,
      "pinning_rule": "tag_or_sha_with_owner_review",
      "exception_owner": "security-engineering"
    },
    "secret_rules": {
      "plain_text_in_workflow": "block",
      "long_lived_cloud_key": "replace_with_oidc_when_possible",
      "log_exposure": "delete_log_and_rotate_secret"
    },
    "release_rules": {
      "dependency_review": "required_for_manifest_or_lockfile_change",
      "provenance_or_attestation": "required_for_release_artifact",
      "sbom": "required_for_container_or_package_release"
    }
  }
}

정책 파일은 문서로만 두면 오래가지 않는다.

workflow lint, pull request template, repository audit script와 연결해야 실제 개발 흐름에서 보인다.

점검 스크립트: 위험한 workflow 패턴 찾기

아래 Python 예시는 GitHub API를 호출하지 않고 저장소 checkout 안에서 obvious pattern을 빠르게 찾는 로컬 점검용이다.

#!/usr/bin/env python3
# gha_supply_chain_audit.py
# 목적: workflow 파일에서 공급망 보안 검토가 필요한 패턴을 빠르게 찾는다.
# 실제 차단은 CODEOWNERS, branch protection, repository rules와 함께 운영한다.

from pathlib import Path
import re

WORKFLOWS = Path('.github/workflows')
RISK_PATTERNS = {
    'pull_request_target': re.compile(r'pull_request_target'),
    'workflow_run': re.compile(r'workflow_run'),
    'broad_token_write': re.compile(r'permissions:\s*write-all|contents:\s*write'),
    'direct_secret_echo': re.compile(r'echo\s+.*secrets\.'),
    'unpinned_action': re.compile(r'uses:\s+[^\s]+@(main|master|latest)'),
    'curl_pipe_shell': re.compile(r'curl\s+[^|]+\|\s*(sh|bash)'),
}

findings = []
for path in WORKFLOWS.glob('*.yml'):
    text = path.read_text(encoding='utf-8')
    for name, pattern in RISK_PATTERNS.items():
        if pattern.search(text):
            findings.append((str(path), name))

if findings:
    for file_name, finding in findings:
        print(f'{file_name}: {finding}')
    raise SystemExit(1)

print('no obvious high-risk workflow pattern found')

정규식 점검만으로 안전을 보장할 수는 없다.

그래도 pull_request_target, broad write token, curl pipe shell 같은 항목은 code review 전에 자동으로 보여줄 가치가 있다.

사고 runbook: 노출 후 30분 안에 할 일

공급망 사고는 탐지보다 회수 속도가 중요하다.

# GitHub Actions 공급망 사고 초동 runbook
# 전제: workflow, package registry, cloud credential, release artifact가 연결된 저장소를 대상으로 한다.

incident_scope:
  repository: service-api
  first_owner: security-engineering
  business_owner: service-owner
  severity_default: high

first_30_minutes:
  - disable_or_pause_suspicious_workflows
  - revoke_exposed_personal_access_tokens_and_cloud_keys
  - rotate_repository_and_environment_secrets
  - lock_release_publish_permissions
  - preserve_workflow_logs_and_runner_metadata

first_2_hours:
  - diff_changed_workflow_files
  - list_third_party_actions_and_versions
  - inspect_pull_request_target_and_workflow_run_paths
  - compare_published_packages_or_images_with_expected_build
  - notify_downstream_service_owners

exit_criteria:
  - no_untrusted_code_runs_with_write_token
  - all_exposed_secrets_rotated
  - release_artifacts_rebuilt_from_clean_branch
  - dependency_and_action_inventory_reviewed
  - post_incident_rule_added_to_repository_policy

초동 조치에서 가장 먼저 할 일은 workflow 중지와 credential 회수다.

그 다음에 악성 PR, 변경된 workflow, 배포된 package, downstream 사용자를 연결해 영향 범위를 줄여야 한다.

도입 전 체크리스트

  1. 모든 repository의 workflow trigger를 pull_request, pull_request_target, workflow_run, workflow_dispatch로 분류한다.
  2. GITHUB_TOKEN 기본 권한을 read 중심으로 낮추고 job별 permissions override를 표로 만든다.
  3. uses 항목을 inventory로 뽑아 owner, ref, pinning, 유지보수 상태, 대체 가능성을 검토한다.
  4. 외부 PR에서 self-hosted runner가 실행되는 경로를 찾아 차단하거나 격리한다.
  5. dependency review를 manifest와 lockfile 변경 PR에 붙이고 severity와 license 기준을 분리한다.
  6. package publish job은 protected branch, environment approval, OIDC 또는 최소 권한 token을 요구한다.
  7. release artifact에는 checksum, SBOM, provenance 또는 attestation 검토 항목을 둔다.
  8. secret 노출 시 log 삭제, secret rotation, package 재배포, downstream 공지를 포함한 runbook을 만든다.
  9. 월 1회 action allowlist와 workflow 권한 예외를 재검토한다.

보안팀과 개발팀이 합의할 운영 기준

공급망 보안은 개발팀을 멈추는 정책이 아니다.

위험한 경로만 빠르게 차단하고, 나머지는 자동 점검과 예외 승인으로 처리해야 지속된다.

합의 항목개발팀 관점보안팀 관점권장 결정
PR 테스트자동 실행이 필요untrusted code 권한 제한 필요read token과 격리 runner
타사 action반복 작업을 줄임owner와 release 위험 존재allowlist와 pinning review
Dependency gatePR 지연 우려취약 패키지 유입 차단 필요severity별 차등 적용
Secret 사용배포 자동화에 필요노출 시 registry 장악 가능OIDC와 environment protection
Release attestation초기 설정 부담고객 신뢰와 감사 증거 필요외부 배포 artifact부터 적용

이 조건이면 강한 정책을 바로 적용해도 된다.

고객 설치형 제품, 보안 제품, 금융·공공 납품 package처럼 artifact 신뢰가 매출과 계약 조건에 직접 연결되는 경우다.

이 조건이면 단계 도입이 낫다.

내부 서비스 중심이고 workflow 수가 많아 한 번에 차단하면 release가 멈추는 조직이다.

함께 보면 좋은 글

GitHub Secret Scanning 2026, 공개 저장소 API 키 유출·Push Protection 기준 썸네일GitHub Secret Scanning 2026, 공개 저장소 API 키 유출·Push Protection 기준컨테이너 SBOM 자동화 2026, Docker Buildx·Syft·CI 보안 게이트 기준 썸네일컨테이너 SBOM 자동화 2026, Docker Buildx·Syft·CI 보안 게이트 기준GitHub Actions CI/CD 비용 2026, Copilot CLI·러너·보관까지 줄이는 운영 기준 썸네일GitHub Actions CI/CD 비용 2026, Copilot CLI·러너·보관까지 줄이는 운영 기준취약점 패치 관리 2026, 보안팀·운영팀이 합의할 우선순위 기준 썸네일취약점 패치 관리 2026, 보안팀·운영팀이 합의할 우선순위 기준EDR 솔루션 비교 2026, 엔드포인트 보안 도입 전 가격·탐지·운영 기준 썸네일EDR 솔루션 비교 2026, 엔드포인트 보안 도입 전 가격·탐지·운영 기준웹방화벽 WAF 도입 2026, 기업 보안팀이 먼저 볼 비용·오탐·우회 기준 썸네일웹방화벽 WAF 도입 2026, 기업 보안팀이 먼저 볼 비용·오탐·우회 기준

자주 묻는 질문

GitHub Actions 공급망 보안에서 가장 먼저 볼 항목은 무엇인가요?

외부 PR이 실행되는 trigger, GITHUB_TOKEN 권한, secrets 접근 여부, 타사 action ref, package publish job을 먼저 봐야 합니다.

pull_request_target은 무조건 금지해야 하나요?

무조건 금지는 아니지만 PR head 코드를 checkout하고 실행하면서 secret이나 write token을 읽는 구조는 막아야 합니다.

타사 action은 SHA로만 고정해야 안전한가요?

SHA 고정은 변조 위험을 줄이지만 업데이트 관리와 owner 신뢰 검토가 필요해 allowlist, release review, 예외 승인 절차와 같이 운영해야 합니다.

Dependency review와 SBOM은 어떤 차이가 있나요?

Dependency review는 PR에서 들어오는 dependency 변경을 막는 gate에 가깝고, SBOM은 배포 산출물에 무엇이 포함됐는지 기록하는 증거에 가깝습니다.

GITHUB_TOKEN 권한은 어디까지 낮춰야 하나요?

기본은 contents read에서 시작하고, issue comment, package publish, deployment처럼 필요한 job에서만 구체적인 write 권한을 열어야 합니다.

작은 팀도 SLSA나 provenance를 봐야 하나요?

외부 고객에게 package, container, agent, CLI를 배포한다면 작은 팀도 최소한 build 출처와 release artifact 검증 기준을 문서화해야 합니다.

출처와 확인일

위 출처는 2026-07-21 기준으로 확인했으며, GitHub Actions 기능, token 권한, dependency review, SLSA 요구사항, CISA와 NIST 권고는 시점과 제품 정책에 따라 바뀔 수 있습니다.

이 글은 일반적인 보안 운영 검토 자료이며, 실제 workflow 변경, 배포 credential 교체, 사고 대응, 법적 보고 의무는 공식 문서와 조직 책임자 검토를 기준으로 최종 판단해야 합니다.

Tech in Depth tnals1569@gmail.com

댓글

이 블로그의 인기 게시물

구글 홈 앱과 스마트싱스 연동 방법: 스마트홈 완벽 설정 가이드

Claude 주간 사용량 얼마야 | Pro / Max 플랜 주간 한도 & 효율 사용법

이글루 홈캠 vs 파인뷰 홈캠 비교: 화각, 보안, 가격까지 완벽 분석하기