‹ 스킬공유자료실#014 · 9월 8일 꿀팁

클로드 코드 쓰면 무조건 깔아야 할 3개

ECC · Context7 · Strix 설치 한 장

단계 5개
AI 공부방 오픈카카오톡 · 막히면 같이 공부해요
입장하기

한눈에 보기

1ECC 붙이기검증된 스킬 묶음 · 한 번에 넣기›2Context7 붙이기늘 최신 설명서를 보고 일하게›3Strix 붙이기AI 해커 · 출시 전에 내 앱 공격해 보기›4/vibe-check 명령 만들기깃허브에 안 올린 폴더에서도 돼요›5실제로 나온 보고서vibe-report.md 예시›
같은 부탁을 해도 이 세 개를 붙이면 결과물이 달라져요. 셋 다 무료이고, 누구나 코드를 볼 수 있게 공개된(오픈소스) 도구예요.

① ECC — 검증된 스킬·도우미(에이전트) 묶음을 통째로 넣어 줘요.
② Context7 — 프로그램 부품(라이브러리)의 최신 설명서를 클로드에게 바로 건네줘요.
③ Strix — 진짜 해커처럼 내 앱을 공격해서 개인정보가 새는 구멍을 출시 전에 찾아 줘요.

깃허브 별 개수(2026-09-08 기준)와 설치 방법은 트렌드코어가 직접 확인했어요. 순서대로 하면 10분 안에 끝나요.
준비물
  1. 클로드 코드(Claude Code)가 설치돼 있으면 돼요.
  2. 3번 Strix 만 추가로 도커(Docker Desktop)와 AI API 키(OpenAI 등)가 필요해요. 없으면 1·2번과 맨 아래 '심화'만 해도 충분해요.
1

ECC 붙이기검증된 스킬 묶음 · 한 번에 넣기

깃허브 별 25만 개(252,658). 도우미(에이전트) 68개, 스킬 286개가 한 번에 들어와요. 클로드 코드를 열고 아래 문장을 그대로 붙여 넣으세요.

ECC 플러그인을 설치해 주세요. 깃허브 주소는 affaan-m/ECC 예요. 필요한 건 알아서 다 해 주시고, 다 되면 잘 깔렸는지 확인해 주세요.
직접 명령어로 하고 싶다면

클로드 코드 안에서 아래 두 줄을 한 줄씩 치세요. 첫 줄이 저장소를 등록하고, 둘째 줄이 설치해요.

> /plugin marketplace add https://github.com/affaan-m/ECC
> /plugin install ecc@ecc

클로드 코드를 새로 켜고 /plugin 을 쳤을 때 ecc · installed 가 보이면 성공이에요.

이렇게 되면 성공 — 클로드가 "설치 끝났어요"라고 답해요. 클로드 코드를 껐다 켠 뒤 대화창에 / 를 치면 ECC 스킬 목록이 같이 떠요.

"어려운 세팅(hooks · rules · subagents · permissions)"은 ECC 가 대신 해 둔 거예요. 하나하나 공부하지 말고 먼저 깔고, 필요할 때 / 목록에서 꺼내 쓰세요.

2

Context7 붙이기늘 최신 설명서를 보고 일하게

이걸 붙이면 클로드가 옛날 기억 대신 최신 설명서를 직접 읽고 코드를 짜요. 깃허브 별 6만 개(61,741). 클로드 코드에 아래 문장을 그대로 붙여 넣으세요.

Context7 을 연결해 주세요. 라이브러리 최신 문서를 읽고 코드를 짤 수 있게요. 다 되면 잘 연결됐는지 확인해 주세요.
직접 명령어로 하고 싶다면

터미널(명령창)에 아래 한 줄을 붙여 넣으세요.

$ claude mcp add --transport http context7 https://mcp.context7.com/mcp

클로드 코드를 새로 켜고 /mcp 를 쳤을 때 목록에 context7 · connected 가 보이면 성공이에요.

이렇게 되면 성공 — 클로드가 "연결됐어요"라고 답해요. 이제 질문 끝에 use context7 라고 붙이면 최신 문서를 읽고 답해요.

실제로 돌려 본 결과 — Next 13.4.0 을 물었더니 "상당히 구식(2023년 4월), 최신 안정 16.x, pages/api 대신 app/**/route.ts" 라고 어느 문서를 봤는지(/vercel/next.js)까지 알려 줬어요. 18초, 5턴(주고받기 5번).

3

Strix 붙이기AI 해커 · 출시 전에 내 앱 공격해 보기

깃허브 별 6만 개(61,089). Strix 는 앱을 실제로 실행해서 공격하기 때문에 준비물이 두 가지 더 있어요.

① 도커(Docker Desktop) — 앱을 안전한 상자 안에서 돌려 주는 프로그램이에요. 설치하고 켜 둔 상태여야 해요.
② AI API 키 — 공격하는 AI 가 쓸 열쇠예요(OpenAI 등). 해당 사이트에 로그인해 API 키 만들기 버튼을 누르고, 나온 긴 글자(키)를 복사하세요. 키 사용료가 들어요.

준비됐으면 클로드 코드에 이렇게 말하고 키를 붙여 넣으세요.

Strix 를 설치해 주세요. AI 해커처럼 제 앱을 공격해서 구멍을 찾아 주는 프로그램이에요. 공격용 AI 키도 받았어요. 이 키를 제 컴퓨터에 안전하게 저장하고 Strix 에 연결해 주세요. 다 되면 지금 이 앱 폴더를 점검해 주세요. 키: (여기에 붙여 넣기)

카톡·스크린샷·깃허브에는 키를 절대 올리지 마세요.

직접 명령어로 하고 싶다면

터미널에 아래 한 줄로 설치하고, 점검할 앱 폴더를 지정해서 돌려요. 키는 공식 설명서(README)에 나온 STRIX_LLM · LLM_API_KEY 환경변수로 넣어요.

$ curl -sSL https://strix.ai/install | bash
$ strix --target ./내앱폴더
이렇게 되면 성공 — SQL 인젝션(입력창으로 데이터베이스 털기)·IDOR(남의 데이터 조회)·개인정보 노출 같은 항목이 증거와 함께 보고서로 나와요. 0 open(남은 구멍 0개)이 될 때까지 "1번 고쳐 주세요" 식으로 클로드에게 하나씩 시키면 돼요.
도커가 없으면 맨 아래 '심화'의 /vibe-check 로 먼저 급한 구멍만 막으세요.

막히면 이렇게 · 되돌리기

대화창에 / 를 쳐도 ECC 가 안 보여요.
등록 단계를 빼먹은 경우가 대부분이에요. 클로드에게 이렇게 말하고, 끝나면 클로드 코드를 새로 켜세요.
ECC 플러그인을 처음부터 다시 설치해 주세요. 클로드 코드가 옛날 버전이면 업데이트도 먼저 해 주세요.
Context7 이 연결이 안 됐대요.
클로드에게 "Context7 다시 연결해 주세요"라고 한 뒤 클로드 코드를 완전히 껐다 켜세요. 회사 네트워크면 mcp.context7.com 이 막혀 있을 수 있어요.
세 개 다 깔면 클로드가 느려지나요?
ECC·Context7 은 필요할 때만 불려서 체감 차이가 거의 없어요. Strix 는 별도 프로그램이라 점검할 때만 켜면 돼요.
되돌리고 싶어요.
클로드에게 이렇게 말하세요.
ECC, Context7, Strix 를 다 지워서 원래대로 돌려 주세요.
직접 명령어로 하고 싶다면

ECC 는 클로드 코드 안에서 /plugin uninstall ecc@ecc, Context7 은 터미널에서 claude mcp remove context7, Strix 는 설치 폴더를 지우면 원래대로예요.

심화 — 도커 없이 급한 구멍만 먼저 막기 (/vibe-check 명령)

Strix 를 돌릴 준비가 아직 안 됐으면, Context7 + 보안 8가지를 61초에 훑는 명령을 먼저 쓰세요. 안트로픽 공식 /security-review 는 깃허브에 연결 안 된 폴더에서는 조용히 아무 일도 안 하는데(직접 확인 — 한 번도 움직이지 않음), 이 명령은 연결이 없어도 돌아가요.

4

/vibe-check 명령 만들기깃허브에 안 올린 폴더에서도 돼요

점검하고 싶은 프로젝트 폴더에서 클로드 코드를 열고, 아래 문장을 붙여 넣은 뒤 그 아래 상자 내용을 복사해서 이어 붙이세요. 코드는 안 건드리고 보고서만 써 주는 명령이에요.

이 프로젝트에 /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-check 를 치면, 1분 안팎 뒤 클로드가 "요약: 구식 문법 N곳 · 보안 구멍 N곳" 한 줄로 답해요. 자세한 내용은 vibe-report.md 라는 보고서 파일로 폴더에 남아요.
붙여 넣는 내용은 한 글자도 빼면 안 돼요. 특히 git status 가 들어간 줄은 깃허브에 연결 안 된 폴더에서도 멈추지 않게 일부러 그렇게 써 둔 거예요. 그리고 Context7(2번)을 먼저 붙여야 "구식 문법" 표가 채워져요.
5

실제로 나온 보고서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번 고쳐 주세요" 처럼요. 보고서는 코드를 건드리지 않으니 안심하고 돌려도 돼요.

심화 — 막히면 이렇게

/vibe-check 를 쳐도 아무 반응이 없어요.
클로드에게 이렇게 말하고, 끝나면 클로드 코드를 새로 켜세요.
/vibe-check 명령이 안 잡혀요. 파일 위치랑 맨 윗부분이 맞는지 확인해서 고쳐 주시고, 이 폴더에 깃(변경 기록)이 꺼져 있으면 켜 주세요.
직접 명령어로 하고 싶다면

경로가 정확히 .claude/commands/vibe-check.md 인지, 파일 맨 위 --- 두 줄이 살아 있는지 확인하세요. 폴더가 git 으로 관리되지 않으면 터미널에서 git init 한 번.

"구식 문법" 표가 비어요.
Context7 이 안 붙은 거예요. 2번을 다시 하고, 클로드에게 "Context7 이 연결됐는지 확인해 주세요"라고 물어보세요.
AI 공부방 오픈카카오톡 · 막히면 같이 공부해요
입장하기
‹ 다른 자료 보러 가기

트렌드코어 스킬공유자료실 · 무료