| name | security-audit-weekly |
| description | 매주 npm audit로 의존성 취약점을 스캔하고, 심각도(critical/high/moderate)별로 트리아지한 뒤, 안전한 패치를 제안하거나 적용하고, 우선순위가 매겨진 수정안이 담긴 주간 요약 리포트를 내놓는 인터벌 루프입니다. 사용자가 "주간 보안 감사 돌려줘", "매주 npm audit 자동으로 돌려줘", "취약점 정기 점검", "보안 취약점 주간 리포트 만들어줘", "7일마다 보안 스캔", "Security Audit Weekly", "run npm audit weekly", "weekly security scan", "triage vulnerabilities by severity"처럼 보안 취약점을 정기적으로 점검·정리하고 싶을 때 사용하세요. (구분: 오래된(outdated) 의존성을 주간으로 점검·업그레이드 제안하는 건 looping:dependency-audit-weekly, high/critical 취약점을 테스트 검증하며 하나씩 실제로 고치는 건 looping:npm-audit-fix-loop, 패키지를 한 번에 하나씩 올리며 깨짐을 고치는 건 looping:dependency-upgrade-one-by-one) |
주간 보안 감사 (Security Audit Weekly)
매주 npm audit로 취약점을 스캔하고, 심각도별로 트리아지한 뒤, 안전한 패치를 제안하거나 적용합니다.
| 항목 | 값 |
|---|
| 카테고리 | 유지보수(Maintenance) |
| 트리거 | 인터벌(interval) — 7일마다(Every 7d) |
| 종료 조건(Exit) | 우선순위가 매겨진 수정안과 함께 요약이 게시될 때 |
| 매 반복 체크 명령 | npm audit --json |
| 가드레일 | 강화됨(Hardened) |
| 지원 에이전트 | Claude Code · Cursor |
이 루프는 언제 쓰나
의존성 취약점은 "한 번 훑고 끝"이 아니라 새 advisory가 계속 쌓이기 때문에, 정기적으로 들여다보지 않으면 어느새 critical이 production에 박혀 있게 됩니다. 매주 사람이 직접 npm audit를 돌리고 결과를 분류하기는 번거롭죠. 이 루프는 정해진 주기마다 에이전트가 스캔 → 심각도별 트리아지 → 안전한 수정안 제안을 스스로 수행하고, 그 결과를 우선순위가 매겨진 수정안이 담긴 주간 보안 감사 요약으로 내놓습니다. dev 전용 취약점과 production 노출을 구분해 표시하고, breaking change가 동반되는 수정은 따로 짚어 줍니다.
루프 흐름
〔7일마다〕→ npm audit 실행 → 심각도별 트리아지 → 수정안 제안 →〔피드백 게이트〕
우선순위 수정안과 함께 요약이 게시됨? → 아니오: 다음 주기에 반복 / 예: 종료
매 반복(pass)마다 하는 일
- npm audit 실행 — npm audit를 돌려 critical · high · moderate 발견 항목을 수집합니다.
npm audit --json
- 트리아지(findings 분류) — 취약점을 심각도와 악용 가능성(exploitability)으로 묶습니다. dev 전용인지 production 노출인지 표시합니다.
- 수정안 제안 —
npm audit fix, 타깃 지정 override, 또는 의존성 버전 업(dependency bump) 중에서 권장안을 냅니다. breaking change가 있으면 명시합니다.
가드레일 (점수 조작 방지 규칙)
종료 조건을 "가짜로" 통과시키지 못하게 막는 규칙입니다. 반드시 지키세요.
- 체크 명령이나 종료 기준을 고쳐서 억지로 성공시키지 않는다.
- 체크를 건너뛰거나 비활성화·우회해서 종료 조건을 통과시키지 않는다.
- 여러 번 반복해도 막히면, 지표를 조작하지 말고 멈추고 블로커를 보고한다.
Claude Code에서 실행하기
이 루프는 시간 기반(인터벌) 입니다. Claude Code에서 인터벌 루프를 돌리는 방법은 두 가지입니다.
방법 1 — /loop (이번 세션 동안 주기 실행)
/loop 7d "주간 보안 감사(Security Audit Weekly)" 루프를 시작합니다.
목표: 우선순위 수정안이 담긴 주간 npm audit 요약을 전달한다.
매 반복 사이 실행: npm audit --json
종료 조건: 우선순위가 매겨진 수정안과 함께 요약이 게시될 때.
1단계: npm audit를 돌리고, 심각도별로 트리아지한 뒤, 안전한 수정 단계를 제안한다.
방법 2 — /schedule (세션을 닫아도 도는 cron형 클라우드 에이전트)
세션을 꺼도 매주 자동으로 돌게 하려면 /schedule로 위 프롬프트를 cron(예: 매주 월요일 오전 9시 → 0 9 * * 1)에 등록하세요. 장시간 무인 점검에 적합합니다.
전제: 점검할 프로젝트에 package.json이 있고 npm이 동작하는 상태여야 합니다.
팁 / 변형
- 다른 생태계로 교체:
npm audit --json은 예시입니다. 다른 패키지 매니저면 pnpm audit --json, yarn npm audit --json, 파이썬은 pip-audit -f json, Rust는 cargo audit --json 등으로 체크 명령을 바꾸세요.
- 임계치로 좁히기: 노이즈가 많으면
npm audit --audit-level=high --json처럼 high 이상만 보게 해 요약을 짧게 유지하세요.
- 요약을 어디에 게시할지: 매주 결과를 이슈/PR 코멘트나
SECURITY.md, 슬랙 등 한 곳에 모으면 추적이 쉽습니다.
- 막힐 때: 같은 취약점이 여러 주 연속 미해결로 남으면 가드레일대로 멈추고, breaking change 등 블로커를 사람에게 보고하게 하세요.
- 연관 루프: 발견된 취약점을 테스트 검증하며 하나씩 실제로 고치려면
looping:npm-audit-fix-loop, 오래된 의존성 업그레이드를 주간으로 점검하려면 looping:dependency-audit-weekly, 패키지를 한 번에 하나씩 안전하게 올리려면 looping:dependency-upgrade-one-by-one.
원본 영어 kickoff (loops.elorm.xyz 원문)
/loop 7d Start the "Security Audit Weekly" loop.
Goal: deliver a weekly npm audit summary with a remediation plan.
Between iterations run: npm audit --json
Exit when: summary is posted with prioritized fixes.
Step 1: Run npm audit, triage by severity, and propose safe remediation steps.
출처: https://loops.elorm.xyz/loops/security-audit-weekly