놓치기 쉬운 이유
에이전트가 의존성을 설치합니다. 패키지 매니페스트에는 설치 중 실행되는 스크립트도 명시되어 있습니다. 단순한 설정처럼 보이는 과정에 별도 검토가 필요한 코드 실행이 포함될 수 있습니다.
프로젝트에서 설치 훅을 일반적인 빌드 단계에 사용할 수도 있고, 예상치 못한 명령어가 포함될 수도 있습니다. 중요한 점은 해당 스크립트가 매니페스트 안에 위치하기 때문에 최상위 설치 명령어만 확인하면 놓치기 쉽다는 것입니다.
ClawMetry가 감지하는 내용
ClawMetry는 워크스페이스 패키지 매니페스트에서 지원되는 설치 라이프사이클 훅을 스캔합니다. 패키지 매니페스트 실행 경고를 발생시키고 해당 훅을 식별합니다. 스캐너는 파일을 읽을 뿐, 발견된 명령어를 실행하지 않습니다.
발견 결과를 바꾸는 차이
트리거 예시
postinstall: node build.js
경고 발견
조용한 비교
test: node build.js
이 감지기에 대한 발견 없음.
검사된 예시에서 빌드 프로그램을 명시한 postinstall 스크립트가 경고를 발생시킵니다. 동일한 프로그램을 일반 test 스크립트 아래에 두면 이 탐지기는 조용히 유지됩니다. 차이는 매니페스트가 해당 프로그램 실행 시점을 언제로 지정하느냐에 있습니다.
감지기 결과 검사
{
"kind": "package_manifest_exec",
"severity": "warning",
"evidence": {
"hooks": [
"postinstall"
],
"hits": [
{
"hook": "postinstall",
"command": "node build.js",
"tool": null,
"alarm": null
}
],
"manifest": "package.json",
"tools": [],
"observed": "package_manifest"
}
}입력 및 전체 결과 다운로드 (JSON)예시 확인 방법
이 예시들은 작성된 이벤트 데이터 또는 일회용 구성 파일로 공개된 감지기를 평가합니다. 영상은 해당 동작을 설명합니다. 라이브 에이전트나 제품 인터페이스의 녹화가 아닙니다. 예시의 어떤 명령도 실행되지 않았습니다.
결과는 해당 입력에 대한 동작을 확립합니다. 런타임 수집, 방지 또는 실제 침해를 확립하지 않습니다. 고정된 소스 계약 검사.
다음으로 확인할 사항
훅 명령어와 참조된 프로그램을 확인하세요. 해당 설치 동작이 프로젝트에 적합한지, 그리고 의존성 출처가 신뢰할 수 있는지 검토하세요. 이미 설치가 완료된 경우, 환경을 수용하기 전에 실제 영향을 별도로 검토하세요.
- 라이프사이클 훅 확인
- 참조된 프로그램 검사
- 예상 설치 동작 검토
이 신호가 확립하는 것
설치 훅이 자동으로 위협적인 것은 아닙니다. 이 발견은 설치 또는 실행이 발생했다는 증거가 아니라 매니페스트 항목을 보고합니다.