문서

보안

Scroll down
키는 귀하의 브라우저에서 생성되며 당사 서버에서는 생성되지 않습니다. 이 페이지는 아키텍처, 위협, 암호화, 헤더 및 모든 주장을 직접 확인하는 방법 등 신뢰 모델입니다.

01 — 원칙

협상 불가능한 사항

  • 클라이언트 측 생성 — CPU의 웹 작업자가 모든 키 쌍을 생성합니다.
  • 제로 키 전송 — 개인 키를 허용하거나 반환하는 API가 없습니다.
  • 제로 키 스토리지 — 데이터베이스가 없고 비밀 로그가 없으며 패턴이나 주소에 대한 분석이 없습니다.
  • 검증 가능 — 오픈 소스, 실시간 감사, 오프라인 테스트, 네트워크 패널.
  • 노출 없는 증명 — 공유 가능한 증명에는 주소 + 패턴만 포함됩니다.

In the proof

  • Public address
  • Prefix / suffix pattern
  • Chain · mode · timestamp

Never in the link

  • Private key / seed
  • Worker memory dumps
  • Clipboard or exports
Fig. — Proof of find · shareable vs private

마케팅 주장은 확인 없이는 가치가 없습니다. 아래의 live audit 및 확인 섹션을 사용하세요.

02 — 아키텍처

열쇠가 사는 곳

Vanitas는 정적 Next.js 사이트입니다. 호스트(예: Vercel)는 HTML, CSS, JS 및 사전 구축된 작업자 번들을 제공합니다. 해당 호스트에서는 키에 대한 암호화가 실행되지 않습니다.

Where keys liveYOUR BROWSERKEYS LIVE HERENETWORKNO KEYS ON WIREORIGIN HOSTFILES ONLY
  • Main thread UI
  • Web Workers (keys in RAM)
  • sessionStorage: address only
Fig. — Trust boundary · tap a zone

귀하의 브라우저

메인 스레드

UI · 반응 · 컨트롤

웹 작업자

W1…Wn — 그라인드 · 매치 · postMessage

개인 키는 여기에만 존재합니다 — 기기의 RAM

채굴 중 네트워크

필요하지 않습니다. 자산을 로드한 후에도 비행기 모드는 계속 작동합니다. 유일한 자사 API 경로(/api/domains)는 Solana 도메인 링크를 제안하며 키를 생성하거나 수신하지 않습니다.

우리 서버

파일을 전달하세요. 작업자 메모리를 읽을 수 없습니다. 완성된 키 쌍을 가로챌 수 없습니다. 손상된 원본은 악성 JS를 제공할 수 있습니다. 이것이 바로 무결성 검사와 오픈 소스가 중요한 이유입니다(무결성 및 브라우저 참조).

03 - 위협

위협 모델(정직함)

범위 내에서 — 우리는 다음을 기준으로 디자인합니다.

  • 서버 측 키 도난(서버에 키가 없음)
  • 채굴 중 캐주얼한 네트워크 스니핑(주요 트래픽 없음)
  • 기본 앱의 클릭재킹(기본 경로의 프레임 거부)
  • 명백한 XSS 유출 경로(CSP, 여전히 만능은 아님).

범위 외/책임 공유

  • 페이지 메모리나 클립보드를 읽는 악성 브라우저 확장 — 중요한 키를 위조할 때 클린 프로필에서 해당 확장 프로그램을 비활성화하세요.
  • 손상된 기기/맬웨어 — OS 수준 키로거는 모든 웹사이트를 능가합니다.
  • Discord/피싱에 키를 붙여넣는 경우 — 운영 보안은 귀하의 것입니다.
  • 의존성 공급망 — 고정하고 감사합니다. 작업자 해시를 확인하고 소스에서 다시 빌드할 수 있습니다.

허영 마이닝은 "약한" 키를 생성하지 않습니다. 긴 패턴은 CPU 비용만 더 많이 들 뿐이며 개인 키 엔트로피를 줄이지 않습니다.

04 — 저장

우리가 저장하는 것

저희 서버에 있는 귀하의 키에 관한 정보는 없습니다. 단조 경로에는 주소, 패턴, 채굴용 IP 데이터베이스 또는 분석 SDK가 없습니다.

디스크나 서버에 개인 키가 없음

원격으로 수집되는 공개 키/주소 없음

패턴 원격 측정 없음

계정 시스템 없음

제품 약속에는 제3자 분석이 없습니다.

sessionStorage 최근 발견 = 주소 + 패턴만, 이 브라우저 세션

증명 링크 = 공유하기로 선택한 쿼리 매개변수(키 없음)

05 — 암호화폐

단조별 알고리즘

무작위성은 항상 브라우저 CSPRNG(crypto.getRandomValues)에서 발생합니다. 곡선과 주소 파생은 체인에 따라 다릅니다.

솔라나

Ed25519 → Base58

웹 암호화 네이티브 또는 WASM 폴백 · 지갑/민트

EVM

secp256k1 + keccak-256

0x EOA · 생성 · 생성2

비트코인

secp256k1

레거시 · SegWit · Taproot · WIF 내보내기

트론

secp256k1 + keccak → Base58Check

T… 지갑 / 생성

앱토스

Ed25519 + SHA3-256

0x 계정 주소

수이

Ed25519 + Blake2b-256

구성표 플래그가 있는 0x

TON

Ed25519 · 지갑 v4R2

UQ / EQ Base64url

카르다노

Ed25519 · CIP-19 기업

addr1… 결제 키만

XRP

secp256k1 · XRPL Base58

클래식 R… 주소

검색 후 검사는 무작위 샘플의 엔트로피 크기, CSPRNG 존재 및 카이제곱 균일성을 검증할 수 있습니다. 이는 장치 위생을 대체하는 것이 아닌 RNG 경로의 상태 검사입니다.

06 — 무결성

작업자 및 게시된 해시

마이닝 코드는 TypeScript 소스에서 빌드된 정적 public/*-worker.js 파일로 제공됩니다. 각 프로덕션 빌드는 worker-hash.json에 SHA-256 다이제스트를 기록합니다. 감사 페이지는 브라우저에 로드된 작업자를 다시 해시하고 해당 파일과 비교합니다.

해시가 갈라지면 페이지를 신뢰할 수 없는 페이지로 처리하십시오. 중지하고 키를 사용하지 말고 조사하십시오(잘못된 배포, 캐시 또는 변조). 공개 저장소에서 다시 빌드하면 특정 커밋에 대해 동일한 작업자 바이트를 재현해야 합니다.

07 - 헤더

HTTP 보안 헤더

응답에는 XSS 영향을 줄이고, HTTPS를 강제하고, 기본 앱의 프레이밍을 차단하는 헤더가 포함됩니다. CSP는 여전히 Next.js에 필요한 것(일부 인라인/평가 절충 포함)을 허용합니다. — 헤더 도움말; 코드 검토를 대체하지 않습니다.

CSP

콘텐츠 보안 정책

스크립트, 작업자, connect-src 제한

HSTS

엄격한 운송 보안

최대 연령=31536000

액자

X-프레임 옵션: 거부

기본 앱을 삽입할 수 없음

MIME

X-Content-Type-옵션: nosniff

MIME 스니핑 없음

추천인

원본이 교차할 때 엄격한 원본

리퍼러 누출 제한

08 - 브라우저

브라우저가 여전히 수행할 수 있는 작업

이론적으로 페이지 권한으로 실행되는 모든 항목은 DOM 및 작업자 메시지를 읽을 수 있습니다. 여기에는 다음이 포함됩니다.

  • 광범위한 사이트 액세스가 가능한 브라우저 확장
  • 공유 컴퓨터에서 열리는 DevTools
  • XSS가 존재하는 경우 악성 스크립트 삽입
  • 키를 복사한 후 클립보드가 스니퍼됩니다.

완화 방법: 깨끗한 브라우저 프로필, 불필요한 확장 없음, 높은 가치의 키를 위해 클립보드보다 파일 다운로드 선호, 지갑에 붙여넣은 후 클립보드 지우기, 대규모 재무를 위해 터미널 CLI 또는 에어 갭 머신을 고려하십시오.

09 - 작업 흐름

안전한 작동 절차

  1. vanitas.fun을 로드합니다(또는 확인된 로컬 빌드에서 실행).
  2. 선택 사항: 네트워크를 열고 오프라인으로 전환하고 감사를 실행합니다.
  3. 먼저 짧은 패턴을 선택하세요. 설정을 신뢰하면 길이를 늘리십시오.
  4. 검색 시: 내보내기, 오프라인 저장, 스크린샷 키를 채팅 앱에 저장하지 마세요.
  5. 해당 체인에 맞는 지갑으로 가져옵니다. 먼지 테스트 전송을 보내십시오.
  6. 장기 보유의 경우 자금을 하드웨어 지갑으로 옮기십시오. Vanitas는 금고가 아닌 단조품입니다.

10 — 확인

누구나 실행할 수 있는 세 가지 검사

01 - 네트워크

네트워크 모니터

  1. DevTools → 네트워크 → 지우기
  2. 생성 시작
  3. 채굴 중 0 요청 확인

02 — 오프라인

비행기 모드

  1. 앱 로드
  2. 연결 끊기
  3. 생성 - 성공하면 라이브 서버 종속성이 없음이 입증됩니다.

03 — 감사

실시간 감사 + 소스

  1. /audit 실행
  2. 작업자 해시를 게시된 JSON과 비교
  3. GitHub 작업자 및 SECURITY.md를 검토하세요.

11 — 공개

문제 보고

보안 취약점이 있는 공개 GitHub 문제를 공개하지 마세요. bytebrox/vanitas에 대한 비공개 GitHub 보안 권고를 선호하세요. 재현 단계, 영향 및 제안된 수정 사항이 있는 경우 이를 포함하세요.

내 열쇠를 훔칠 수 있나요?

이를 수신하는 서버 측 경로가 없습니다. 악의적인 빌드 또는 확장은 해시를 확인하고 높은 가치를 위해 깨끗한 환경을 사용할 수 있습니다.

호스트가 해킹당하면 어떻게 되나요?

공격자는 변경된 JavaScript를 제공할 수 있습니다. 그렇기 때문에 오픈 소스, 작업자 해시 확인 및 알려진 양호한 커밋을 선호하는 것이 중요합니다. 호스트는 여전히 클린 빌드에서 완성된 키를 받지 않습니다.

가상 주소는 덜 안전합니까?

아니요. 개인 키 엔트로피는 변경되지 않습니다. 공개 주소만 표시되도록 필터링됩니다.

일일 브라우저에서 콜드 스토리지 키를 위조해야 합니까?

상당한 자금의 경우: 깨끗한 프로필 또는 오프라인/CLI, 소규모 테스트 전송, 하드웨어 지갑 보관.