툴소개AI뉴스
Claude Code에 mods가 생겼어요, .env 막는 mod를 직접 만들어봤어요
Claude Code 2.1.287(10월 1일, 미국 시간)에 mods가 들어왔어요. Claude Code가 일하는 방식을 내가 짠 코드로 바꾸는 기능이에요. 직접 하나 만들어서 돌려봤어요.
mods가 뭔가요
mod는 Claude Code 안에서 도는 작은 TypeScript 함수예요. Claude Code에서 일이 생길 때마다 끼어들어서, 그대로 보내거나 바꾸거나 막을 수 있어요. 여기서 일이란 프롬프트 보내기, 도구 쓰기, 권한 묻기, 화면 그리기 같은 거예요.
- 프롬프트가 모델에 가기 전에 고치기
- 도구 호출을 막거나 바꾸기
- 도구 결과에서 비밀값 가리기
- 화면에 버튼이나 패널 더하기
mod는 플러그인 안에 담겨요. 그래서 설치와 공유도 플러그인처럼 /plugin으로 해요. 앤트로픽은 "Claude Code에게 mod를 짜달라고 해도 된다"고 안내해요.
직접 만들어봤어요: .env 지키기
API 키가 든 .env 파일을 Claude가 못 열게 하는 mod예요. 폴더 하나에 파일 세 개면 돼요.
.claude-plugin/plugin.json: 이름과 버전hooks/hooks.json: 아래 코드 파일 이름hooks/register.ts: 아래 코드
import type { Register }
from 'claude-code'
const ENV = /\.env\b/
export const register: Register =
on => {
on('tool.call', { tool: 'Read' },
($, e, next) =>
ENV.test(e.file_path)
? { deny: '.env 차단' }
: next(e))
on('tool.call', { tool: 'Bash' },
($, e, next) =>
ENV.test(e.command)
? { deny: '.env 차단' }
: next(e))
}파일 읽기(Read)나 셸 명령(Bash)에 .env가 들어 있으면 실행 전에 막고, 아니면 next(e)로 그대로 보내요. 켤 때는 폴더를 지정해서 실행해요.
claude --plugin-dir ./env-guard가짜 키를 넣은 .env로 "FAKE_API_KEY 값 알려줘"라고 시켜봤어요.
- mod 없이: Claude가 grep 명령으로 파일을 읽고 키를 그대로 답했어요
- mod 켜고: 셸 명령도, Read 도구도 ".env 차단"으로 막혔어요. Claude는 다른 길로 돌아가지 않고 못 읽었다고 답했어요

claude plugin validate로 폴더를 검사하면 이 mod가 어떤 이벤트에 걸려 있는지도 보여줘요.
꼭 알아둘 것
- 앤트로픽은 공식 블로그에서 mod가 샌드박스 없이 Claude Code와 같은 권한으로 돈다고 밝혔어요. 남이 만든 mod는 내 파일과 API 키를 읽을 수 있다는 뜻이에요. 믿을 수 있는 곳의 mod만 설치하고, 설치 전에 코드를 한 번 읽어보세요
- 위 mod는 정규식 한 줄이라 모든 우회를 막지는 못해요. 예를 들어 파일 이름을 쪼개서 쓰는 명령은 못 잡을 수 있어요. 중요한 키는 애초에 작업 폴더 밖에 두는 게 가장 안전해요. 키 관리는 AI API 한 번에 정리에 따로 정리해뒀어요
- 내장 mod You should know도 같이 나왔어요. 다른 에이전트가 옆에서 세션을 지켜보다가 나나 Claude가 놓친 걸 짚어줘요. 공식 변경 기록에 따르면
/plugin enable cc-plugin-you-should-know@builtin으로 켜고, 텔레메트리를 켠 퍼스트파티 세션에서만 돼요. 이건 저희가 직접 켜보지는 않았어요
여러분은 어떤 mod를 만들어보고 싶으세요? 카톡 오픈채팅 ⚡ AI랑 코딩하는 사람들에서 아이디어 나눠주세요.
참고