2026. 07. 06. · CK

Agent Reach를 WSL에 붙이며 확인한 것: 검색 능력보다 권한 경계

에이전트가 웹 문서와 GitHub, YouTube 자료를 읽게 하려고 Agent Reach를 WSL에 붙였다. 명령을 실행하는 시간은 짧았다. 셸 접근 범위와 외부 로그인 상태를 정리하는 데 더 많은 시간을 썼다. 검색 채널 하나를 추가해도 에이전트가 실행할 프로그램, 읽을 설정 파일, 외부로 보낼 요청이 함께 늘어난다.

Agent Reach는 플랫폼별 데이터를 한 프로그램에서 긁어 오는 스크래퍼가 아니다. 프로젝트는 자신을 capability layer로 설명한다. 웹 문서는 Jina Reader, GitHub는 gh, YouTube는 yt-dlp처럼 채널별 도구를 선택하고 설치 상태와 인증 여부를 진단한다. agent-reach doctor가 현재 선택한 백엔드도 보여 준다.

이 구조를 이해하면 점검 순서가 달라진다. CLI가 실행된다는 사실만 확인해서는 부족하다. 각 채널이 어떤 프로그램을 호출하는지, 그 프로그램이 어느 계정으로 로그인했는지, 결과가 어느 네트워크를 거쳐 나가는지 확인해야 한다.

WSL 상태와 설치 경로부터 확인했다

Windows에 WSL이 없다면 관리자 PowerShell에서 Microsoft의 기본 설치 명령을 실행한다.

wsl --install
wsl --status

설치가 끝나면 Windows를 다시 시작해야 할 수 있다. 이후 WSL 터미널에서 Python, Node.js, GitHub CLI의 위치와 버전을 확인한다. 기존 개발 환경이 있다면 Agent Reach가 같은 실행 파일을 사용할 가능성이 크다.

command -v python3
command -v node
command -v gh
python3 --version
node --version

공식 저장소는 같은 이름의 PyPI 패키지를 설치하지 말라고 안내한다. 수동 설치가 필요하면 저장소가 제시한 GitHub 소스를 사용한다.

pip install https://github.com/Panniantong/agent-reach/archive/main.zip

나는 시스템 변경 전에 설치 명령의 동작을 두 번 확인했다.

agent-reach install --env=auto --dry-run
agent-reach install --env=auto
agent-reach doctor

현재 공식 문서에서 기본 install은 환경을 검사하고 빠진 항목을 알려 준다. 외부 도구 설치와 설정 파일 작성, 스킬 등록은 --system을 명시했을 때 진행한다. --safe는 기본 안전 동작과 같고, --dry-run은 예정 작업만 출력한다.

agent-reach install --env=auto --system

--system을 실행하기 전에 dry-run 출력에서 설치할 패키지와 수정할 경로를 읽었다. 기존 Node와 Python 환경에 영향을 주는 항목을 고른 뒤 설치를 허용했다. 에이전트가 “설치 완료”라고 보고해도 command -vdoctor 출력으로 결과를 확인했다.

채널마다 필요한 권한이 다르다

Agent Reach의 장점은 여러 채널을 한 번에 진단하는 데 있다. 보안 검토에서는 채널을 다시 분리해서 본다.

채널주로 쓰는 도구확인할 권한
공개 웹Jina Reader방문 URL과 외부 전송 범위
GitHubgh로그인 계정과 저장소 접근 범위
YouTubeyt-dlp네트워크 요청과 저장 파일
RSSfeedparser구독 URL과 로컬 저장 위치
로그인 기반 채널쿠키 또는 브라우저 세션계정 전체 세션 권한

공개 GitHub 저장소만 읽으려던 작업이 gh에 로그인된 회사 계정의 비공개 저장소까지 볼 수 있는 상태로 바뀔 수 있다. 도구가 가진 권한은 사용자가 이번 프롬프트에 적은 범위보다 넓을 수 있다. 작업용 계정을 분리하고 gh auth status로 현재 계정을 확인하면 의도하지 않은 저장소 접근을 줄일 수 있다.

채널을 추가한 날짜와 이유도 남긴다. 몇 주 뒤 자동화 가치가 없다고 판단하면 인증과 도구를 제거할 근거가 생긴다. 설치 목록만 기록하면 사용하지 않는 자격증명이 그대로 남는다.

OpenClaw의 coding 프로필을 권한 변경으로 봤다

OpenClaw가 기본 messaging 도구 프로필을 사용하면 Agent Reach가 pip, gh, yt-dlp 같은 셸 명령을 실행할 수 없다. 공식 README는 다음 설정을 안내한다.

openclaw config set tools.profile "coding"
openclaw gateway restart

Gateway를 재시작한 뒤 새 대화를 열어야 변경된 프로필이 반영된다. coding 프로필은 설치 편의를 위한 토글이 아니다. 에이전트가 셸을 호출할 수 있는 실행 권한이다. 나는 프로필을 바꿀 때 작업 규칙도 함께 적었다.

  • 설치와 삭제 명령은 dry-run 출력을 먼저 남긴다.
  • 저장소 삭제와 Git 이력 변경은 사람의 승인을 받는다.
  • 파일 수정은 지정한 작업 디렉터리 안에서 진행한다.
  • 외부 서비스에 쓰는 작업은 읽기 작업과 분리한다.
  • 명령 출력에 토큰과 쿠키가 섞이면 결과를 저장하지 않는다.

권한을 연 다음에는 작은 읽기 작업으로 시작한다. 공개 문서 한 개, 공개 GitHub 저장소 한 개를 읽혀서 호출 경로와 출처 URL을 확인한다. 처음부터 여러 플랫폼과 로그인 채널을 활성화하면 어느 설정에서 문제가 생겼는지 찾기 어렵다.

쿠키는 비밀번호보다 오래 살아남을 수 있다

Twitter, Reddit, Instagram 같은 채널은 로그인 상태가 필요할 수 있다. 브라우저 쿠키는 계정 세션을 재현한다. 2단계 인증을 켠 계정도 유효한 세션 쿠키가 유출되면 다른 환경에서 접근을 허용할 수 있다.

Agent Reach는 자격증명을 로컬의 ~/.agent-reach/config.yaml에 저장하고 파일 권한을 600으로 제한한다고 설명한다. 나는 설치 뒤 실제 권한을 확인한다.

stat -c '%a %n' ~/.agent-reach/config.yaml

로컬 저장은 외부 업로드를 막아 주지만 같은 사용자 권한으로 실행하는 프로그램까지 막지는 못한다. 로그 수집기, 백업 프로그램, 다른 에이전트가 홈 디렉터리를 읽을 수 있는지도 함께 살핀다. 설정 파일을 Git 저장소 안으로 복사하지 않고, 문제 해결을 위해 내용을 출력할 때도 값 전체를 붙여 넣지 않는다.

로그인 채널은 전용 계정을 만들 수 있을 때만 활성화한다. 프로젝트 README도 쿠키 기반 플랫폼에 주 계정을 쓰지 말라고 경고한다. 플랫폼이 자동화 요청을 차단하면 계정 제한이 생길 수 있고, 쿠키가 새면 전용 계정의 범위 안에서 피해를 멈출 수 있다.

doctor 결과를 설치 완료 증거로 남긴다

agent-reach doctor는 채널별 백엔드와 빠진 인증을 보여 준다. 나는 초록색 항목의 개수보다 예상한 채널만 활성화됐는지를 본다.

점검 날짜:
활성화한 채널:
각 채널의 백엔드:
사용한 계정:
설정 파일 위치:
제거 또는 재검토 날짜:

GitHub가 예상과 다른 계정으로 로그인했거나 로그인 채널이 의도치 않게 활성화됐으면 그 자리에서 설정을 고친다. 실패한 채널은 억지로 모두 초록색으로 만들지 않는다. 현재 작업에 필요 없는 채널은 비활성 상태가 더 안전하다.

출처 기록도 출력 형식에 넣었다. 에이전트는 URL과 접근 날짜, 사용한 채널을 답변에 남긴다. 백엔드가 바뀌거나 플랫폼이 내용을 수정했을 때 같은 결과를 재현할 단서가 된다. 다른 채널로 우회했다면 그 사실도 기록한다.

제거 경로까지 확인하고 운영한다

도구를 설치할 때 삭제 명령을 함께 확인한다. Agent Reach는 다음과 같은 미리보기 명령을 제공한다.

agent-reach uninstall --dry-run

공식 문서에 따르면 기본 uninstall은 로컬 설정과 등록된 스킬, 관련 MCP 구성을 지울 수 있다. --keep-config는 토큰 설정을 남긴다. 나는 삭제 범위를 먼저 읽고 필요한 자격증명을 서비스 쪽에서 폐기한 다음 로컬 파일을 정리한다. 파일을 지우는 것만으로 이미 복사된 세션을 종료할 수는 없다.

Agent Reach를 WSL에 설치하는 명령은 길지 않다. 운영자는 exec 권한, 채널별 프로그램, 로그인 계정, 제거 날짜를 계속 관리해야 한다. 검색 결과의 품질은 출처에서 확인하고, 자동화의 위험은 에이전트가 접근할 수 있는 경계에서 줄인다.

참고자료

Agent Reach를 WSL에 붙이며 확인한 것: 검색 능력보다 권한 경계 · iamlazyck