파이프라인은 비밀 정보를 알고 있지만, 파이프 자체는 누가 검사할까요?
CI/CD는 키(keys)/토큰 및 게시 권한과 같은 다양한 권한에 접근하여 코드를 실행합니다. 이것이 바로 공급망 공격(Supply-chain attacks)이 애플리케이션 자체가 아니라 종속성(dependencies)/컴포넌트의 빌드 프로세스에서 시작되는 경우가 더 많은 이유입니다.
동시에, 파이프라인은 어떤 감독 없이 존재합니다. 테스트가 있을 수는 있지만, 새로운 취약점이나 코드를 막지 못할 수도 있습니다. 액션(Actions)과 이미지는 최신 태그에 연결되어 있습니다. 이미지에는 서명(signed)이 되어 있지 않습니다. 전이 종속성(Transitive dependencies)은 아무도 검토하지 않았습니다. 그리고 메인 git 브랜치는 강제 푸시(force pushes)로부터 보호되지 않습니다. 이 모든 항목들은 작고 고치기 쉬우며, 하지만 각각은 나쁜 사람들에게 열린 문입니다.
Harden-CI: AI 에이전트를 보안 감사자로 변신시키세요
Harden-CI는 귀하의 AI 에이전트(Claude Code, Codex, Antigravity 등)를 위한 파일일 뿐입니다. 무언가를 설치할 필요가 없습니다. 터미널이나 데스크톱/모바일 앱을 사용하여 리포지토리에서 에이전트를 열고 웹사이트 https://harden-ci.secmy.app/의 링크를 전송하기만 하면 됩니다.
몇 가지 단계가 있습니다:
- 감사(Audit) - 에이전트는 16가지 검사를 수행하며, 파일, 브랜치 또는 프로젝트 설정에는 아무런 변경도 없습니다.
- 보고서(Report) - 귀하는 상태 매트릭스(✅ ⚠️ ❌ ❓)와 중요도에 따른 발견 사항 목록(Critical부터 Low까지)을 받게 됩니다. 각 발견 사항은 사실로 뒷받침되며, 무언가를 확인할 수 없었던 경우 에이전트는 정직하게 물음표(?)를 사용하고 어떻게 알아낼 수 있는지 제안합니다 (예: github/gitlab 웹사이트에서 수동으로).
- 선택(Your choice) - 무엇을 수정해야 할지 결정해야 합니다. 귀하의 에이전트는 귀하의 결정 없이 아무것도 변경해서는 안 됩니다.
- 수정 단계(Fixing stage) - 에이전트는 별도의 브랜치에서 변경 사항을 만들고, 각각에 대해 풀 리퀘스트(pull request) 또는 머지 리퀘스트(merge request)를 엽니다. GitHub, GitLab 또는 다른 솔루션을 사용하든 관계없이, 단지 변경 사항을 검토하고 병합하기만 하면 됩니다.
어떻게 보이는가: 프로젝트에 있을 때 에이전트에게 링크만 보내면 기억할 수 있습니다. 아래 그림을 보세요. 사실, 그게 전부입니다. 결정을 내리고 행복해지세요.
Harden-CI는 정확히 무엇인가요?
이 애드온은 16단계에 걸쳐 코드부터 프로덕션까지 전체 체인을 다룹니다.
- 코드: 애플리케이션 인벤토리, 위협 모델링, 단위 테스트, 정적 애플리케이션 보안 테스트(SAST) 포함
- 종속성 (dependencies): 간접 종속성을 포함한 취약점; 새 버전은 최소 7일 이상 되어야 함.
- 시크릿 스캐닝: betterleaks를 통한 스캔. 물론, 값 자체는 보고서에 강조 표시되어서는 안 됩니다.
- 파이프라인 보안: 최신 태그(또는 또 다른 태그) 대신 SHA로 액션과 이미지를 고정(pinning)해야 합니다.
- 컨테이너: Trivy 등을 사용하여 취약점 스캔도 해야 하며, Cosign으로 서명을 확인하고 SBOM 파일을 추가해야 합니다.
- 인프라스트럭처: 여기에는 두 가지 표면이 있습니다. 코드형 인프라스트럭처(IaC)와 GitLab 또는 GitHub 같은 플랫폼의 보안 설정입니다. 예를 들어, 메인 브랜치 보호 및 git 커밋 서명 등이 해당됩니다.
- API 및 프로덕션: Swagger 파일과 같은 API 명세서 및 동적 애플리케이션 보안 테스트(DAST). 디버그 기능이 Docker 이미지에 포함될 수 있는지 확인하거나 또 다른 결과를 검사합니다.
- 위생 (Hygiene): 라이선스, 계정 보호 및 SECURITY.md 파일
이 프로젝트는 왜인가요?
지금은 모두가 자신만의 AI 에이전트/AI 어시스턴트를 가지고 있기 때문에, 안전한 CI/CD를 구축하는 것이 너무 쉬워졌습니다. 여러분이 정말 안전한 파이프라인을 만드는 것을 게을리해서는 안 됩니다. 그래서 제가 이 페이지를 만들었습니다. 저 자신과 제 친구들, 그리고 아마도 여러분에게 도움이 되고자 말이죠. 물론 일부 규칙들은 환경에 적용되지 않기 때문에 무시할 수도 있습니다. 괜찮습니다. 이 프로젝트의 모든 규칙에 절대적으로 맞출 필요는 없습니다. 추가 단계가 2~3개 있어도 아무것도 없는 것보다는 낫습니다. 만약 특정 항목/규칙에 절대 동의하지 않는다면 – 이 프로젝트는 GitHub에서 확인하세요. 클론하여 자신만의 목록을 만들거나 변경 사항을 제안할 수 있습니다.
1분 만에 시작하기
Harden-CI는 개인 개발자뿐만 아니라 팀에게도 유용한 프로젝트입니다. 수동 감사(manual audit)를 하거나 모범 사례(best practices)에 대해 고민할 시간이 충분하지 않다면, 이 프로젝트를 사용해 보세요. 파이프라인을 설정하고 안전하게 만들기 위해 추가 구독이나 서비스에 가입하거나 제3자에게 접근 권한을 부여할 필요가 없습니다. 모든 변경 사항은 명확한 오픈 규칙과 여러분의 검토에 따라 여러분의 기기에서 발생합니다. 이것은 단순히 텍스트 설명일 뿐이며, 각 단계와 규칙을 직접 읽어볼 수 있습니다.
- 레포지토리에서 AI 에이전트를 실행하세요 (claude code / antigravity / codex 등…)
- https://harden-ci.secmy.app/ 링크만 접속하세요.
- 결과를 읽어보세요!
아이디어가 있으신가요? 여기에서 제안해 주세요 https://github.com/SecH0us3/harden-ci
[ ](https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fe5jhaq7xeqcd0p2koff6.png