클로드 코드 쓰면 무조건 깔아야 할 3개
ECC · Context7 · Strix 설치 한 장
한눈에 보기
1ECC 붙이기검증된 스킬 묶음 · 한 번에 넣기›2Context7 붙이기늘 최신 설명서를 보고 일하게›3Strix 붙이기AI 해커 · 출시 전에 내 앱 공격해 보기›4/vibe-check 명령 만들기깃허브에 안 올린 폴더에서도 돼요›5실제로 나온 보고서vibe-report.md 예시›① ECC — 검증된 스킬·도우미(에이전트) 묶음을 통째로 넣어 줘요.
② Context7 — 프로그램 부품(라이브러리)의 최신 설명서를 클로드에게 바로 건네줘요.
③ Strix — 진짜 해커처럼 내 앱을 공격해서 개인정보가 새는 구멍을 출시 전에 찾아 줘요.
깃허브 별 개수(2026-09-08 기준)와 설치 방법은 트렌드코어가 직접 확인했어요. 순서대로 하면 10분 안에 끝나요.
- 클로드 코드(Claude Code)가 설치돼 있으면 돼요.
- 3번 Strix 만 추가로 도커(Docker Desktop)와 AI API 키(OpenAI 등)가 필요해요. 없으면 1·2번과 맨 아래 '심화'만 해도 충분해요.
ECC 붙이기검증된 스킬 묶음 · 한 번에 넣기
깃허브 별 25만 개(252,658). 도우미(에이전트) 68개, 스킬 286개가 한 번에 들어와요. 클로드 코드를 열고 아래 문장을 그대로 붙여 넣으세요.
직접 명령어로 하고 싶다면
클로드 코드 안에서 아래 두 줄을 한 줄씩 치세요. 첫 줄이 저장소를 등록하고, 둘째 줄이 설치해요.
> /plugin marketplace add https://github.com/affaan-m/ECC> /plugin install ecc@ecc클로드 코드를 새로 켜고 /plugin 을 쳤을 때 ecc · installed 가 보이면 성공이에요.
"어려운 세팅(hooks · rules · subagents · permissions)"은 ECC 가 대신 해 둔 거예요. 하나하나 공부하지 말고 먼저 깔고, 필요할 때 / 목록에서 꺼내 쓰세요.
Context7 붙이기늘 최신 설명서를 보고 일하게
이걸 붙이면 클로드가 옛날 기억 대신 최신 설명서를 직접 읽고 코드를 짜요. 깃허브 별 6만 개(61,741). 클로드 코드에 아래 문장을 그대로 붙여 넣으세요.
직접 명령어로 하고 싶다면
터미널(명령창)에 아래 한 줄을 붙여 넣으세요.
$ claude mcp add --transport http context7 https://mcp.context7.com/mcp클로드 코드를 새로 켜고 /mcp 를 쳤을 때 목록에 context7 · connected 가 보이면 성공이에요.
실제로 돌려 본 결과 — Next 13.4.0 을 물었더니 "상당히 구식(2023년 4월), 최신 안정 16.x, pages/api 대신 app/**/route.ts" 라고 어느 문서를 봤는지(/vercel/next.js)까지 알려 줬어요. 18초, 5턴(주고받기 5번).
Strix 붙이기AI 해커 · 출시 전에 내 앱 공격해 보기
깃허브 별 6만 개(61,089). Strix 는 앱을 실제로 실행해서 공격하기 때문에 준비물이 두 가지 더 있어요.
① 도커(Docker Desktop) — 앱을 안전한 상자 안에서 돌려 주는 프로그램이에요. 설치하고 켜 둔 상태여야 해요.
② AI API 키 — 공격하는 AI 가 쓸 열쇠예요(OpenAI 등). 해당 사이트에 로그인해 API 키 만들기 버튼을 누르고, 나온 긴 글자(키)를 복사하세요. 키 사용료가 들어요.
준비됐으면 클로드 코드에 이렇게 말하고 키를 붙여 넣으세요.
카톡·스크린샷·깃허브에는 키를 절대 올리지 마세요.
직접 명령어로 하고 싶다면
터미널에 아래 한 줄로 설치하고, 점검할 앱 폴더를 지정해서 돌려요. 키는 공식 설명서(README)에 나온 STRIX_LLM · LLM_API_KEY 환경변수로 넣어요.
$ curl -sSL https://strix.ai/install | bash$ strix --target ./내앱폴더막히면 이렇게 · 되돌리기
직접 명령어로 하고 싶다면
ECC 는 클로드 코드 안에서 /plugin uninstall ecc@ecc, Context7 은 터미널에서 claude mcp remove context7, Strix 는 설치 폴더를 지우면 원래대로예요.
심화 — 도커 없이 급한 구멍만 먼저 막기 (/vibe-check 명령)
Strix 를 돌릴 준비가 아직 안 됐으면, Context7 + 보안 8가지를 61초에 훑는 명령을 먼저 쓰세요. 안트로픽 공식 /security-review 는 깃허브에 연결 안 된 폴더에서는 조용히 아무 일도 안 하는데(직접 확인 — 한 번도 움직이지 않음), 이 명령은 연결이 없어도 돌아가요.
/vibe-check 명령 만들기깃허브에 안 올린 폴더에서도 돼요
점검하고 싶은 프로젝트 폴더에서 클로드 코드를 열고, 아래 문장을 붙여 넣은 뒤 그 아래 상자 내용을 복사해서 이어 붙이세요. 코드는 안 건드리고 보고서만 써 주는 명령이에요.
--- description: 바이브코딩 결과물 점검 — 구식 문법(Context7 최신 문서 대조)과 보안 구멍을 한 번에 훑어 vibe-report.md 로 남긴다. 깃허브 원격이 없어도 된다. allowed-tools: Bash(git status:*), Bash(git ls-files:*), Bash(git diff:*), Read, Glob, Grep, Write, mcp__context7__resolve-library-id, mcp__context7__query-docs --- 너는 바이브코딩 결과물을 출시 전에 점검하는 시니어 리뷰어다. 코드는 고치지 않는다. 리포트만 쓴다. 지금 폴더 상태: ``` !`git status --short | head -40` ``` ## 1단계 — 구식 문법 (최신 문서와 대조) - `package.json` / `requirements.txt` / `pyproject.toml` 을 읽고 핵심 라이브러리를 최대 3개 고른다. - 각 라이브러리마다 Context7 로 `resolve-library-id` → `query-docs` 를 호출해 **최신 안정 버전**과 **바뀐 사용법**을 확인한다. 기억으로 답하지 않는다. - 코드에서 옛날 방식을 쓰는 곳을 Grep 으로 찾는다(예: Next.js `pages/api` → App Router `app/**/route.ts`, React 클래스 컴포넌트, deprecated API). ## 2단계 — 보안 구멍 - `git ls-files` 와 새 파일(untracked)까지 코드 파일을 읽는다. - 아래 8종만 본다. 확실한 것만 적고 `파일:줄` 을 붙인다. 1. SQL·쉘 명령 문자열 이어붙이기(인젝션) 2. 하드코딩된 비밀번호·API 키 3. 평문 비밀번호 저장·비교 4. 인증 없는 관리자/삭제 라우트 5. XSS(`innerHTML`, `dangerouslySetInnerHTML`, 이스케이프 없는 출력) 6. 경로 조작(사용자 입력으로 파일 경로) 7. CORS `*` + 인증 쿠키 8. 만료 없는 토큰·약한 토큰(base64 등) ## 3단계 — 리포트 `vibe-report.md` 를 폴더 맨 위에 만든다. 형식: ``` # vibe-report — YYYY-MM-DD 요약: 구식 문법 N곳 · 보안 구멍 N곳 (심각 N) ## 구식 문법 | 파일 | 지금 방식 | 최신 방식 | 근거(라이브러리 ID · 버전) | ## 보안 | 심각도 | 파일:줄 | 문제 | 고치는 법(한 줄) | ``` 표 아래에 "먼저 고칠 것 3가지"를 번호로 적는다. 끝나면 요약 한 줄만 답한다.
직접 명령어로 하고 싶다면
프로젝트 폴더 안에 아래 경로로 파일을 만들고 위 내용을 그대로 붙여 넣으세요. 파일 이름이 곧 명령어(/vibe-check)예요.
.claude/commands/vibe-check.md
실제로 나온 보고서vibe-report.md 예시
일부러 구멍을 낸 샘플 앱(Next 13.4 + 문자열 이어붙인 SQL)에 돌린 결과 그대로예요. 61초, 구식 문법 2곳, 보안 구멍 6곳(심각 5).
# vibe-report — 2026-09-08
요약: 구식 문법 2곳 · 보안 구멍 6곳 (심각 5)
## 구식 문법
| 파일 | 지금 방식 | 최신 방식 | 근거(라이브러리 ID · 버전) |
|---|---|---|---|
| package.json:5 | Next.js 13.4.0, `pages/api/*.js` 로 API 라우트 작성 | App Router `app/**/route.ts` + `export async function GET(request)` (Web 표준 Request/Response 사용). `pages/api` 는 계속 동작은 하지만 신규 프로젝트엔 권장되지 않음 | Context7 `/vercel/next.js` (최신 안정 v16.x, pages/api 마이그레이션 가이드) |
| package.json:7 | `mysql` 2.18.1 (콜백 전용, 오래 유지보수 안 됨) | `mysql2` (Promise/async-await 지원, 드롭인 대체) | Context7 `/mysqljs/mysql` — 문서상 파라미터 바인딩(`?`)은 지원하지만 콜백 API만 제공, 커뮤니티는 mysql2로 이동 |
## 보안
| 심각도 | 파일:줄 | 문제 | 고치는 법(한 줄) |
|---|---|---|---|
| 심각 | pages/api/user.js:8 | `"SELECT * FROM users WHERE id = " + id` — 문자열 이어붙이기 SQL 인젝션 | `db.query("SELECT * FROM users WHERE id = ?", [id], ...)` 로 파라미터 바인딩 |
| 심각 | pages/api/user.js:17 | 로그인 쿼리도 email/password 를 문자열로 이어붙임 — SQL 인젝션 | 위와 동일하게 `?` 플레이스홀더 사용 |
| 심각 | pages/api/user.js:4 | DB 접속 정보(`root` / `root1234`)가 코드에 하드코딩 | 환경변수(`process.env.DB_PASSWORD`)로 분리 |
| 심각 | pages/api/user.js:17-19 | 비밀번호를 평문으로 저장·비교(`password = '...'`) | bcrypt 등으로 해시 저장 후 `bcrypt.compare` 로 비교 |
| 심각 | pages/api/user.js:6-11 | 인증 없이 `id` 파라미터만으로 회원 레코드 전체(`rows[0]`, 비밀번호 컬럼 포함 가능성)를 반환 | 인증 체크 추가 + 응답에서 비밀번호 등 민감 컬럼 제외(SELECT 컬럼 명시) |
| 중간 | pages/api/user.js:18 | 토큰이 `base64(email)` — 서명·만료 없는 약한 토큰 | JWT(만료 포함) 등 서명된 토큰으로 교체 |
## 먼저 고칠 것 3가지
1. `pages/api/user.js:8, 17` — SQL 인젝션부터 막기 (파라미터 바인딩으로 교체). 지금 상태면 URL 에 `?id=1 OR 1=1` 만 넣어도 전체 회원 정보가 털림.
2. `pages/api/user.js:4` — 하드코딩된 DB 비밀번호를 환경변수로 이동. 저장소가 공개되거나 유출되면 DB 가 즉시 뚫림.
3. `pages/api/user.js:17-19` — 평문 비밀번호 비교 + 약한 토큰 문제를 함께 해결 (해시 저장, 서명된 토큰 발급). 지금 구조면 DB 유출 시 전체 비밀번호가 그대로 노출됨.표 아래 "먼저 고칠 것 3가지"부터 클로드에게 하나씩 시키면 돼요. "1번 고쳐 주세요" 처럼요. 보고서는 코드를 건드리지 않으니 안심하고 돌려도 돼요.
심화 — 막히면 이렇게
직접 명령어로 하고 싶다면
경로가 정확히 .claude/commands/vibe-check.md 인지, 파일 맨 위 --- 두 줄이 살아 있는지 확인하세요. 폴더가 git 으로 관리되지 않으면 터미널에서 git init 한 번.
트렌드코어 스킬공유자료실 · 무료