YAML 다음의 검사
파일이 YAML 문법에 맞더라도 GitHub Actions의 올바른 워크플로라는 보장은 없다. Actionlint는 필요한 키가 빠졌거나 예상하지 않은 키가 들어간 경우를 검사한다. 표현식에서 존재하지 않는 속성에 접근하거나 맞지 않는 자료형을 사용하는 오류도 확인한다.
작업 사이의 연결
액션에 전달하는 입력과 단계의 출력 참조를 검사하고, 재사용 워크플로의 입력과 출력 및 비밀 값 전달도 확인한다. 작업 의존 관계나 실행기 라벨, 파일 필터와 예약 표현식의 문법을 검사하는 기능도 있다. 각각의 설정이 연결되는 지점에서 발생하는 실수를 찾는 데 초점을 둔다.
내부 스크립트와 보안
실행 단계에 포함된 스크립트는 ShellCheck이나 Pyflakes와 연계해 검사할 수 있다. 신뢰할 수 없는 입력을 스크립트에 직접 삽입하는 형태와 하드코딩된 자격 증명 같은 문제도 검사 대상이다. 정적 검사 결과를 검토하는 과정은 실제 워크플로의 실행 조건과 권한을 확인하는 과정과 함께 이루어져야 한다.
관련 문서
ShellCheck / Hadolint / CodeQL / Semgrep