콘텐츠로 이동

터미널 통합

개요

Kiro의 터미널 통합으로 개발 워크플로우를 혁신하세요. 명령어 구문을 외우거나 창 간에 전환하는 대신, 수행하려는 작업을 설명하면 Kiro가 요청을 실행 가능한 명령으로 변환하고, 작업 간 컨텍스트를 유지하며, 의존성 관리, git 워크플로우 탐색 또는 코드베이스 탐색 중에도 사용자가 제어권을 유지하도록 하는 안전한 승인 시스템을 제공합니다.

시작하기

자연어로 수행하려는 작업을 설명하기만 하면 됩니다. 예를 들어:

  • "Install the project dependencies"
  • "Check the git status"
  • "Find all TypeScript files in the src folder"
  • "Run the development server"

Kiro는 요청을 적절한 터미널 명령으로 변환하고 실행하기 전에 승인을 요청합니다. 제안된 명령을 검토하고 수정(Modify), 거부(Reject), 실행(Run) 또는 실행 및 신뢰(Run and Trust)를 선택한 다음 채팅에서 직접 출력을 확인할 수 있습니다.

Kiro Terminal Request

Dev 서버와 같은 장기 실행 명령은 Kiro가 자동으로 관리하여 워크플로우를 차단하지 않고 전용 터미널에서 실행됩니다.

작동 방식

Kiro가 명령을 제안하면 네 가지 옵션이 있습니다:

  • Modify - 실행하기 전에 명령 편집
  • Reject - 실행 취소
  • Run - 한 번 실행
  • Run and Trust - 실행하고 향후 유사한 명령 신뢰

Loading image...Kiro Terminal Approval Workflow

명령 승인 및 보안

보안을 위해 Kiro는 명령을 실행하기 전에 승인을 요청합니다. 신뢰할 수 있는 명령과 명령 거부 목록이라는 두 가지 보완 시스템을 통해 이 동작을 제어할 수 있습니다.

명령 신뢰

자동으로 신뢰할 명령을 구성하여 승인 프로세스를 간소화할 수 있습니다. 신뢰할 수 있는 명령은 접두사 일치를 사용하여 특정 패턴으로 시작하는 명령을 자동으로 승인합니다.

경고

신뢰 시스템은 신뢰할 수 있는 명령 패턴을 신중하게 구성할 책임을 사용자에게 부여합니다. 잠재적으로 위험한 작업이 있는 명령(예: rm -rf)은 신뢰할 수 있는 패턴과 일치하고 거부 목록에 없으면 허용됩니다.

Kiro의 신뢰할 수 있는 명령은 문자열 접두사 일치를 사용하여 명령을 자동으로 신뢰할지 결정합니다. Settings → Kiro Agent: Trusted Commands에서 사용자 수준(모든 워크스페이스에 전역) 및 워크스페이스 수준(현재 프로젝트에 특정)에서 신뢰할 수 있는 명령을 구성할 수 있습니다.

Kiro Trusted Commands Setting

정확한 일치

정확한 기본 문자열을 확인합니다.

신뢰할 수 있는 명령 목록이 ["npm install", "git status"]인 경우:

명령 결과
npm install ✅ 신뢰됨 및 자동 실행
git status ✅ 신뢰됨 및 자동 실행
npm install --save ❌ 승인 필요 (정확한 일치 아님)
git status --short ❌ 승인 필요 (정확한 일치 아님)

부분 와일드카드 일치

*를 사용하여 특정 명령의 변형을 일치시킵니다.

신뢰할 수 있는 명령 목록이 ["npm install *"]인 경우:

명령 결과
npm install ✅ 신뢰됨 ("npm install *"와 일치)
npm install --save ✅ 신뢰됨 ("npm install *"와 일치)
npm install express ✅ 신뢰됨 ("npm install *"와 일치)
npm run build ❌ 승인 필요 ("npm install "로 시작하지 않음)
npm test ❌ 승인 필요 ("npm install "로 시작하지 않음)

전체 와일드카드 일치 및 복잡한 명령

*를 사용하여 지정된 접두사로 시작하는 모든 명령 문자열을 신뢰합니다. 신뢰 시스템은 명령 문자열의 시작 부분만 확인합니다. 일치하면 체인된 명령, 파이프 또는 리디렉션을 포함하여 따라오는 전체 명령이 신뢰됩니다.

신뢰할 수 있는 명령 목록이 ["npm *", "git *"]인 경우:

명령 결과
npm install ✅ 신뢰됨 ("npm *"와 일치)
npm install --save ✅ 신뢰됨 ("npm *"와 일치)
npm run build ✅ 신뢰됨 ("npm *"와 일치)
npm run build | tee log ✅ 신뢰됨 ("npm "으로 시작)
npm install && docker build . ✅ 신뢰됨 ("npm "으로 시작)
git add . && git commit -m "update" ✅ 신뢰됨 ("git "로 시작)
docker build . ❌ 승인 필요 (일치하는 접두사 없음)

전체 신뢰

경고

신뢰할 수 있는 명령에 와일드카드(*)를 사용하는 것은 과도하게 허용적인 구성입니다. 이는 검토 없이 모든 터미널 명령을 자동으로 승인하므로 데이터 손실, 시스템 수정 또는 무단 액세스를 포함한 상당한 보안 위험을 초래할 수 있습니다. 환경을 완전히 신뢰하고 모든 잠재적 명령을 이해하는 경우에만 와일드카드를 사용하세요.

신뢰할 수 있는 명령 목록이 ["*"]인 경우:

명령 결과
모든 명령 ✅ 신뢰됨 - 극도로 주의해서 사용

명령 거부 목록

명령 거부 목록은 신뢰 설정과 관계없이 특정 패턴이 포함된 명령의 자동 승인을 방지하는 보안 계층을 제공합니다. 이 시스템은 부분 문자열 일치를 사용합니다. 거부된 문자열이 명령의 어디에든 나타나면 수동 승인이 필요합니다.

Settings → Kiro Agent: Command Denylist에서 사용자 및 워크스페이스 수준에서 거부 목록을 구성할 수 있습니다.

Kiro Command Denylist Setting

정보

거부 목록은 신뢰 설정 이전에 확인됩니다. ["*"]로 모든 명령을 신뢰하더라도 거부된 명령은 여전히 수동 승인이 필요합니다.

거부 목록은 부분 문자열 일치를 사용하여 명령의 어디에서든 위험한 패턴을 찾습니다:

명령 거부 목록이 ["rm -rf", "sudo", "--force"]인 경우:

명령 결과
npm install ✅ 자동 승인 (거부된 패턴 없음)
rm -rf /tmp/cache ⚠️ 승인 필요 ("rm -rf" 포함)
sudo npm install ⚠️ 승인 필요 ("sudo" 포함)
git push --force ⚠️ 승인 필요 ("--force" 포함)
git push --force-with-lease ⚠️ 승인 필요 ("--force" 포함)
npm install && rm -rf node_modules ⚠️ 승인 필요 ("rm -rf" 포함)

향상된 보안을 위해 거부 목록에 다음 패턴을 추가하는 것을 고려하세요:

json

{ "kiroAgent.commandDenylist": [ "rm -rf", "sudo", "chmod 777", "eval", "curl | sh", "wget | sh", "> /dev/", "mkfs", "dd if=" ] }

거부 목록과 신뢰가 함께 작동하는 방식

명령 승인 시스템은 다음 순서로 명령을 평가합니다:

  1. 거부 목록 확인 (최우선 순위) - 명령에 거부된 패턴이 포함되어 있으면 수동 승인 필요
  2. 신뢰 확인 - 명령이 신뢰할 수 있는 패턴과 일치하면 자동 승인
  3. 기본값 - 둘 다 적용되지 않으면 수동 승인 필요

예를 들어 다음 구성의 경우:

json

{ "kiroAgent.trustedCommands": ["npm *", "git *"], "kiroAgent.commandDenylist": ["--force", "sudo"] }

명령 평가 결과
npm install 신뢰 "npm *"와 일치, 거부된 패턴 없음 ✅ 자동 승인
git status 신뢰 "git *"와 일치, 거부된 패턴 없음 ✅ 자동 승인
npm install --force 신뢰 "npm *"와 일치하지만 "--force" 포함 ⚠️ 승인 필요 (거부 목록)
sudo npm install 신뢰 "npm *"와 일치하지만 "sudo" 포함 ⚠️ 승인 필요 (거부 목록)
git push --force 신뢰 "git *"와 일치하지만 "--force" 포함 ⚠️ 승인 필요 (거부 목록)
docker build . 신뢰 일치 없음, 거부된 패턴 없음 ⚠️ 승인 필요 (기본값)

거부 목록을 사용하여 위험한 패턴을 전역적으로 차단한 다음 신뢰할 수 있는 명령을 사용하여 일반적인 워크플로우를 간소화하세요. 이렇게 하면 보안과 편의성을 모두 제공합니다.

터미널 컨텍스트 사용

#terminal을 사용하여 활성 터미널의 최근 출력을 대화에서 참조하세요. 중요: #terminal은 항상 현재 활성/보이는 터미널 창을 참조합니다. 여러 터미널이 열려 있는 경우 채팅에서 #terminal을 사용하기 전에 참조하려는 터미널이 활성화되어 있는지 확인하세요.

이 기능을 통해 Kiro는 명령 결과를 분석하고, 오류를 디버그하고, 실제 터미널 세션을 기반으로 솔루션을 제안할 수 있습니다.

#terminal analyze the error from the last npm run build

Kiro는 명령 기록 및 출력에 대한 인식을 유지하여 다음을 가능하게 합니다:

  • 오류 분석 - 특정 오류 메시지로 명령이 실패한 이유 이해
  • 출력 해석 - 복잡한 명령 결과 및 로그 설명
  • 후속 조치 - 실제 결과를 기반으로 다음 단계 제안
  • 패턴 인식 - 여러 명령에서 반복되는 문제 식별
  • 환경 디버깅 - 시스템 및 의존성 충돌 해결 지원

문제 해결

터미널 통합 문제 및 수동 설정 지침은 셸 통합 문제 해결 가이드를 참조하세요.