xiaYuTian11/maskit

数据面具 Data Maskit — 专为大模型打造的本地隐私脱敏网关(请求自动打码,回复流式还原;支持 Cursor / Claude Code / Codex / Pi 等任意可配 Base URL 工具)

Maskit이란?

Maskit은 개발 도구(Cursor, Claude Code, ChatGPT 등)와 호출하는 대규모 모델 API 사이에 위치하는 로컬 프라이버시 게이트웨이입니다. 요청이 머신을 떠나기 전에 API 키, 데이터베이스 URL, 개인 ID, 전화번호, 기기 내 소형 NER 모델이 인식하는 엔터티 등 민감한 데이터를 결정적 플레이스홀더(예: {{CONNSTR_zkpmqx}})로 자동 대체합니다. 모델이 응답을 반환하면 Maskit은 답변을 스트리밍하고 플레이스홀더를 메모리 내에서 밀리초 단위로 원래 값으로 교체하므로 사용자 경험은 변함이 없습니다.

왜 중요한가

AI 코딩 어시스턴트에게 코드 디버깅이나 문서 분석을 요청할 때 자격 증명이나 개인 비즈니스 정보가 포함된 스니펫을 붙여넣는 경우가 많습니다. 해당 원시 데이터를 클라우드 제공업체에 보내면 비밀이 유출될 수 있습니다. Maskit은 AI 도구를 변경할 필요 없이 유출을 방지합니다. 도구를 로컬 URL로 지정(또는 브라우저 확장 프로그램 설치)하기만 하면 게이트웨이가 마스킹과 언마스킹을 자동으로 수행합니다.

핵심 기능(README에 설명된 대로)

기능 설명
심층 규칙 기반 마스킹 21개의 내장 정규식 카테고리, 기본적으로 7개 활성화(API 키, 은행 카드, DB 연결 문자열, 이메일, ID 번호, 유선전화 및 휴대폰). 사용자는 나머지 14개 카테고리를 활성화하거나 사용자 정의 단어/정규식을 추가할 수 있습니다.
다중 턴 일관성 동일한 엔터티는 대화 전반에 걸쳐 동일한 플레이스홀더를 받으므로 모델이 여러 턴에 걸쳐 올바르게 추론할 수 있습니다.
로컬 NER 모델(ONNX) 경량 중국어 엔터티 인식기가 정규식이 놓치는 이름, 조직, 주소를 식별합니다. 100% 오프라인으로 실행되며 선택 사항입니다.
브라우저 확장 프로그램 MV3 Chrome/Edge 확장 프로그램이 인기 있는 웹 기반 AI 포털(ChatGPT, Claude, DeepSeek 외 14개 사이트)에 대한 요청을 가로챕니다. 프롬프트를 마스킹하고, 업로드된 Office 파일을 마스킹하고, 페이지의 타이핑 효과 UI에서 답변을 복원합니다.
SSE 스트림 처리 OpenAI/Anthropic의 text/event-stream 응답의 경우 Maskit은 플레이스홀더를 청크 단위로 복원하여 부드러운 "타이핑 머신" 경험을 유지합니다.
제로 인증서, 폴백 패스스루 각 모델은 고유한 로컬 포트(예: OpenAI는 18701)를 갖습니다. 시스템 전체 루트 CA 설치가 필요 없습니다. 게이트웨이가 중지되면 트래픽이 변경 없이 투명하게 전달되므로 도구가 오류를 일으키지 않습니다.
로컬 테스트베드 UI 패널에서 텍스트를 붙여넣으면 마스킹된 버전과 복원된 출력이 즉시 표시되어 규칙 디버깅에 유용합니다.
에이전트용 스킬 계약 내장 플레이스홀더 계약(maskit-placeholders)을 다운로드할 수 있어 Claude Code나 Cursor 같은 에이전트가 플레이스홀더를 불변 토큰으로 취급합니다.
풀스택 로깅 및 감사 요청별 로그는 마스킹된 요청, 원시 응답, 타이밍, 감지된 엔터티 유형 분석을 보여줍니다. 선택적 모드는 최소(원시 텍스트 저장 안 함)부터 상세(전체 기록)까지 다양합니다.
프롬프트 인젝션 탐지 및 명령 차단 게이트웨이는 위험한 모델 출력(예: rm -rf /)을 플래그 지정하거나 다시 작성할 수 있습니다. 선택 사항이며 도구 매개변수 채널에서 작동합니다.
비용 추적 모델 가격표를 기반으로 토큰 사용량과 금전적 비용을 추정합니다.
배포 옵션 • Windows/macOS용 데스크톱 클라이언트(자동 업데이트 포함 설치 프로그램).
• Docker 이미지(멀티 아키텍처)로 웹 제어판은 포트 5801, 프록시 포트는 18701부터 시작합니다.
• 개발자용 소스 빌드.

사용 방법

  1. 데스크톱 – 적절한 패키지를 설치하고 트레이 앱을 실행한 다음 AI 도구의 Base URL을 http://127.0.0.1:18701/v1(또는 구성한 포트)로 설정합니다. 게이트웨이는 나가는 프롬프트를 마스킹하고 들어오는 답변을 언마스킹합니다.
  2. Docker – ghcr.io/xiayutian11/maskit:latest를 풀하고 컨테이너를 실행하여 패널 포트와 하나 이상의 프록시 포트를 노출합니다. http://<host>:5801에서 UI에 접근하여 클라이언트를 구성합니다.
  3. 브라우저 – 릴리스 zip에서 확장 프로그램을 로드하고 실행 중인 Maskit 인스턴스에 토큰으로 연결한 후 사용하는 사이트를 활성화합니다. 확장 프로그램은 수동 URL 변경 없이 작동합니다.

필요한 사람은?

  • AI 코딩 어시스턴트를 사용하며 자격 증명을 비공개로 유지하려는 개인 개발자.
  • 서버나 NAS에서 공유 AI 게이트웨이를 실행하는 소규모 팀.
  • 민감한 데이터가 기업 네트워크를 떠나기 전에 100% 오프라인 처리를 요구하는 보안에 민감한 조직.

제한 사항(공개된 대로)

  • NER 모델은 소스 저장소에 포함되어 있지 않습니다. 사전 빌드된 바이너리와 Docker 이미지에만 포함되어 있습니다.
  • 파일 형식 마스킹은 현재 ChatGPT와 Claude에서만 구현되어 있습니다. 다른 사이트는 경고와 함께 파일을 변경 없이 전송합니다.
  • 명령 차단은 일반 텍스트 도구 매개변수만 검사합니다. 난독화되거나 스크립트된 명령은 우회할 수 있습니다.
  • 모든 처리는 로컬 CPU에서 수행됩니다. 과도한 동시 사용은 더 많은 코어가 필요하거나 NER 구성 요소를 비활성화해야 할 수 있습니다.

TL;DR: Maskit은 LLM API로 전송되는 프롬프트에서 민감한 정보를 자동으로 편집하고 모델 응답에서 원래 데이터를 복원하는 오픈 소스 AGPL 라이선스 로컬 프록시입니다. 데스크톱 앱, Docker 이미지 또는 브라우저 확장 프로그램으로 사용할 수 있습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트