lockfile과 install-script 정책을 사용하여 무료 클라우드 에이전트의 종속성 패치를 게이트하는 방법
요약
이 글은 lockfile과 install-script 정책을 활용하여 클라우드 에이전트의 종속성 패치를 안전하게 게이트하는 방법을 설명합니다. 승인되지 않은 패키지나 라이프사이클 스크립트가 포함되는 것을 방지하며, SBOM 유지 및 엄격한 검토 과정을 통해 보안성을 강화할 수 있습니다.
핵심 포인트
- lockfile과 install-script 정책으로 종속성 변경을 통제합니다.
- 승인되지 않은 패키지는 명확하게 실패하도록 설계했습니다.
- SBOM(Software Bill of Materials) 유지를 통해 투명성을 확보해야 합니다.
- 전이적 종속성 및 라이프사이클 스크립트까지 검증하는 것이 중요합니다.
에이전트에게 Markdown 파서를 추가하도록 요청한 다음, 이슈 설명에 의도적으로 오타를 낸 'markdwon-safe'를 배치해 보세요. 실패는 명확합니다: 승인되지 않은 패키지나 라이프사이클 스크립트가 lockfile에 들어갑니다.
MonkeyCode의 공식 README에는 온라인 서비스가 시작하는 데 무료이며, 클라이언트 다운로드나 로컬 설정이 필요 없고, 내장 모델을 제공하며, 실제 서버 측 클라우드 환경에서 작업을 실행한다고 나와 있습니다. 운영자는 현재 출시가 무료 클라우드 서버 및 모델 액세스를 포함한다고 확인합니다. 자격 요건, 허용 범위, 가용성은 변경될 수 있으므로, 의존하기 전에 계정에 표시된 내용을 확인하세요.
출처: MonkeyCode repository 및 MonkeyCode Online.
정책 실행 가능하게 만들기
{"allowed":{"marked":"16.0.0"},"denyLifecycleScripts":true}
import fs from "node:fs";
const policy=JSON.parse(fs.readFileSync("dependency-policy.json"));
const lock=JSON.parse(fs.readFileSync("package-lock.json"));
...
취약한 리비전이 실패하고, 승인된 수정 버전이 통과하며, lockfile 차이가 검토되고, SBOM이 유지될 때만 통과합니다. 또한 hasInstallScript를 가진 전이적 패키지, 재설치 후의 lockfile 드리프트, 그리고 allowlist에 없는 패키지 이름을 테스트하세요.
prevent: 정확한 버전 + allowlist
detect: lockfile 차이 + SBOM + 스크립트 검사
recover: 커밋 되돌리기, 작업 공간 삭제, 리포지토리 권한 취소
이 테스트는 SaaS 네트워크 경계나 내부 공급망 제어 장치를 확립하지 않습니다. 가져갈 수 있는 패치 아티팩트를 검증합니다. 어떤 전이적 종속성 속성이 귀하의 병합을 즉시 차단할까요?
공개 고지: 저는 프로젝트와 관련이 없는 MonkeyCode 사용자로서 개인적인 경험을 공유하는 것입니다. 이 계정은 최근 다른 MonkeyCode 평가를 진행한 것과 동일 운영자가 관리합니다. 이는 독립적인 보증이 아닙니다. 무료 클라우드 서버 및 모델 가용성은 현재 운영자가 확인한 출시 정보를 반영하며 변경될 수 있습니다. 서비스에서 현재 자격 및 제한 사항을 확인하십시오.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기