GitHub Actions의 YAML 앵커: 후퇴인가?

2025-09-22

GitHub Actions는 최근 YAML 앵커 지원을 추가했지만, 저자는 이를 후퇴라고 주장합니다. 이 글에서는 YAML 앵커가 기존 기능과 중복되고, 데이터 모델의 복잡성을 증가시켜 CI/CD를 사람과 기계 모두에게 이해하기 어렵게 만든다고 주장합니다. 또한 GitHub는 병합 키를 지원하지 않으므로 YAML 앵커의 고유한 용도도 무효화됩니다. 저자는 이것이 GitHub Actions의 보안 분석을 어렵게 만들고, GitHub가 YAML 앵커 지원을 즉시 제거해야 한다고 생각합니다.

더 보기
개발

유한 상태 변환기를 사용한 GitHub Actions 정적 분석 최적화

2025-08-18

정적 분석 도구 zizmor 개발자는 유한 상태 변환기(FST)를 사용하여 GitHub Actions 템플릿 삽입 취약성 감지를 최적화했습니다. GitHub Actions 컨텍스트 패턴을 논리적인 "기능"에 매핑함으로써 FST는 표현 크기를 10배 줄였으며(약 240KB에서 약 14.5KB로), 이전의 테이블 기반 및 접두사 트리 기반 접근 방식보다 더 빠르고 메모리 효율적임을 증명했습니다. 또한 FST는 컴파일 시에 미리 계산되므로 시작 비용이 없습니다. 이러한 개선으로 오탐이 크게 줄어들고 감지 효율이 향상됩니다.

더 보기

GitHub Actions 정책 우회: 안전해 보이는 정책의 간단한 우회 방법

2025-06-11

GitHub Actions는 저장소, 조직 또는 기업 내에서 사용할 수 있는 액션과 재사용 가능한 워크플로를 제한하기 위한 정책 메커니즘을 제공합니다. 그러나 이 메커니즘은 쉽게 우회될 수 있습니다. 실행자의 파일 시스템에 액션 저장소를 복제한 다음 동일한 액션을 실행하기 위해 로컬 경로 참조를 사용하면 정책을 간단하게 우회할 수 있습니다. 이는 안전해 보이는 정책을 무효화합니다. 저자는 GitHub가 이 취약성을 해결하여 개발자가 정책이 실제로 존재하지 않는 보안 경계를 제공한다고 잘못 생각하지 않도록 촉구합니다.

더 보기
개발 정책 우회

Makefile 효과: 왜 우리는 설정 파일을 복사하고 붙여넣을까요?

2025-01-11

이 글에서는 소프트웨어 엔지니어링에서 흔히 볼 수 있는 "Makefile 효과"에 대해 논의합니다. 이는 엔지니어들이 Makefile이나 CI/CD 설정 등 기존 설정 파일을 처음부터 작성하는 대신 복사하여 붙여넣고 수정하는 경향을 말합니다. 저자는 이것이 반드시 나쁜 것은 아니라고 주장하면서도, 도구가 너무 복잡하거나 적절한 진단 및 디버깅 지원이 부족함을 시사한다고 지적합니다. 그리고 이 효과를 최소화하고 개발 효율성과 보안성을 높이기 위한 설계 권장 사항을 제시합니다.

더 보기
개발 도구 설계