본문으로 건너뛰기

© 2026 Molayo

Qiita헤드라인2026. 06. 24. 21:34

【복사 붙여넣기 가능】Kiro/Claude Code의 '신뢰할 수 있는 명령(Trusted Commands)' 설정으로 조사 작업 승인 완전

요약

Claude Code 사용 시 반복되는 명령 승인 과정을 자동화하여 작업 효율을 높이는 방법을 소개합니다. 'Trusted Commands' 설정을 통해 읽기 전용 명령들을 사전에 등록함으로써 승인 절차 없이 안전하게 실행할 수 있습니다.

핵심 포인트

  • Claude Code의 'Trusted Commands' 기능을 활용해 반복적인 승인 절차 제거 가능
  • grep, git status, aws describe 등 읽기 전용 명령 위주로 자동 승인 설정 권장
  • 글로벌, 프로젝트, 로컬 단위로 설정 파일 스코프를 나누어 관리 가능
  • sed -i나 rm -rf 같은 파괴적인 명령은 제외하여 보안성 유지

AI 에이전트(Kiro / Claude Code)를 사용하면서 이런 경험을 해본 적 없으신가요?

AI: grep -r "auth" src/ 를 실행해도 될까요?
나: OK
AI: ls -la src/auth/ 를 실행해도 될까요?
...

조사 계열 명령은 읽기 전용(Read-only)이며 파괴적이지 않은데도, 매번 승인을 요구합니다.

한 번의 조사 태스크에서 20회 이상의 승인. 이래서는 효율화는커녕 오히려 번거롭기만 합니다.

이 기사에서는 조사 계열 명령의 승인을 완전히 제로(0)로 만드는 설정을 복사 붙여넣기 할 수 있는 형태로 제공합니다.

Kiro / Claude Code에는 "이 명령은 신뢰할 수 있다"라고 사전에 등록하는 기능이 있습니다.

등록된 명령은 승인 없이 자동으로 실행됩니다.

스코프파일 경로용도
글로벌 (Global)~/.claude/settings.json모든 프로젝트 공통 적용
프로젝트 (Project).claude/settings.json특정 프로젝트에만 적용
로컬 (Local).claude/settings.local.json개인 설정 (gitignore 권장)

~/.claude/settings.json에 아래 내용을 붙여넣으세요.

{
"permissions": {
"allow": [
...
"Bash(grep:*)", // 텍스트 검색
"Bash(rg:*)", // ripgrep (고속 검색)
"Bash(ag:*)", // The Silver Searcher
...

이것들은 읽기 전용 명령이므로 허용해도 안전합니다.

"Bash(sort:*)", // 정렬 (Sort)
"Bash(uniq:*)", // 중복 제거 (Uniq)
"Bash(cut:*)", // 컬럼 추출 (Cut)
...

sed-n 옵션이 붙은 경우만 허용합니다. sed -i (파일 쓰기/수정)는 허용하지 않습니다.

"Bash(aws * describe-*)", // 리소스 정보 취득
"Bash(aws * get-*)", // 설정 취득
"Bash(aws * list-*)", // 목록 취득
...

AWS CLI의 읽기 계열 API만 허용합니다. aws s3 rm, aws ec2 terminate-instances 등은 허용하지 않습니다.

"Bash(git status:*)", // 상태 확인
"Bash(git log:*)", // 이력 확인
"Bash(git diff:*)", // 차이 확인
...

Git 조작은 로컬 참조만 허용합니다. git push, git reset, git checkout은 허용하지 않습니다.

"Bash(gh pr list:*)", // PR 목록
"Bash(gh pr view:*)", // PR 상세
"Bash(gh pr diff:*)", // PR 차이
...

이것들은 GitHub API의 읽기이므로 안전합니다.

"Bash(npm list:*)", // 의존성 목록
"Bash(npm outdated:*)", // 업데이트 확인
"Bash(npm audit:*)", // 취약점 확인
...

의존성 확인만 허용합니다. npm install, pip install은 허용하지 않습니다.

"Bash(docker ps:*)", // 컨테이너 목록
"Bash(docker logs:*)", // 로그 확인
"Bash(docker inspect:*)", // 상세 정보
...

컨테이너·클러스터의 상태 확인만 허용합니다. docker rm, kubectl delete는 허용하지 않습니다.

"deny": [
"Bash(rm -rf *)", // 재귀적 삭제
"Bash(git push -f *)", // 강제 푸시
...

이것들은 파괴적인 조작이므로 명시적으로 거부(Deny) 리스트에 넣어둡니다. AI가 실수로 실행하려고 해도 확실하게 차단됩니다.

Settings → Kiro Agent: Trusted Commands

설정 레벨:

User: 모든 워크스페이스에서 유효
Workspace: 특정 프로젝트에서만 유효

다음 내용을 한 줄씩 추가하세요.

grep
rg
ag
...

Kiro는 문자열의 접두사 일치 (Prefix Match) 방식으로 매칭됩니다.

설정매칭 예시
grepgrep -r "auth" src/, grep -n "TODO" *.ts
awsaws s3 ls, aws ec2 describe-instances
git statusgit status, git status -s

aws만 설정하면 모든 AWS 명령어가 허용됩니다. 읽기 전용으로 제한하고 싶다면 aws ec2 describe, aws s3 ls 등을 개별적으로 설정하세요.

Claude Code에서는 :*가 와일드카드(Wildcard)입니다.

패턴매칭 예시
Bash(grep:*)grep -r "auth" src/
Bash(aws * describe-*)aws ec2 describe-instances, aws rds describe-db-instances
Bash(git log:*)git log --oneline -10
// ❌ 위험: git push -f 도 허용됨
"Bash(git *)"
// ✅ 안전: 읽기 계열만 허용
...

git *와 같이 너무 넓은 패턴은 절대 피해야 합니다. git push -fgit reset --hard도 허용되어 버립니다.

나: 인증 관련 코드를 조사해줘
AI: grep -r "auth" src/ 를 실행해도 될까요?
나: OK
...
나: 인증 관련 코드를 조사해줘
AI: (자동으로 grep, ls, cat, git log, aws logs 실행)
AI: 조사를 완료했습니다.
...

승인 횟수: 20회 → 0회

소요 시간: 30분 → 5분

.claude/settings.json (프로젝트 루트)

{
"permissions": {
"allow": [
...
{
"permissions": {
"allow": [
...
{
"permissions": {
"allow": [
...

원인 1: 패턴이 일치하지 않음

// ❌ 공백 위치가 다름
"Bash(aws logs get-log-events:*)"
// ✅ 올바른 패턴
...

원인 2: 설정 파일의 위치가 다름

  • 글로벌 설정 (Global Settings):
    ~/.claude/settings.json

  • 프로젝트 설정 (Project Settings):
    .claude/settings.json (리포지토리 루트)

설정 우선순위: 프로젝트 > 글로벌

원인 3: JSON 구문 오류 (Syntax Error)

# 구문 체크
cat ~/.claude/settings.json | jq .

최소한의 설정부터 시작하여 필요에 따라 추가해 나가는 접근 방식을 추천합니다.

// 최소 구성 (우선 이것만)
{
"permissions": {
...

사용하다가 "이것도 허용하고 싶다"고 생각되면 추가해 나가면 됩니다.

Claude Code의 경우:

# 현재 설정 확인
claude /permissions
설정효과
조사 계열 명령어 허용승인 없이 조사가 진행됨
...

한 번 설정하면 모든 조사 작업에서 효과를 발휘합니다.

이 기사의 설정을 복사하여 쾌적한 AI 에이전트 생활을 시작해 보세요.

AI 자동 생성 콘텐츠

본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0