Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
hexvero — 바이너리 또는 앱 번들을 처음 살펴보기: 증거와 함께 실행 없이 수행하는 정적 분석. CLI, 15개 도구 MCP 서버 및 로컬 웹 UI, Node만 사용. | Kitploit
도구/GitHubGitHub/maximilianfeix/hexvero
Android SecurityStatic AnalysisVulnerability AnalysisCode AnalysisMobile App PentestingReverse EngineeringInformation GatheringMalware AnalysisDigital ForensicsUtilities & FrameworksBinary Analysis
3561일 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
AI Security
GitHubmaximilianfeix/hexvero

hexvero

바이너리 또는 앱 번들을 처음 살펴보기: 증거와 함께 실행 없이 수행하는 정적 분석. CLI, 15개 도구 MCP 서버 및 로컬 웹 UI, Node만 사용.

저장소 보기웹사이트
hexvero – 바이너리 또는 앱 번들을 처음 살펴보는 도구. Node만으로 얻는 증거 기반 정적 사실.

CI npm Node License

English · Deutsch · Español · Français · Português (Brasil) · Русский · 中文 · 日本語 · 한국어

사용해 보기 · 사용 사례 · 설치 · 읽는 대상 · CLI · 웹 UI · AI 에이전트용 · 엔진 · 한계 · REA와 비교 · 작동 방식 · 기여 · FAQ


개발자와 AI 에이전트를 위한 빠르고 로컬이며 증거에 기반한 소프트웨어 첫 살펴보기.

hexvero는 실행 파일, Electron 앱, APK, 아카이브, 데이터베이스, 네트워크 캡처를 실행하지 않고 읽습니다. 소프트웨어에 무엇이 들어 있는지, 무엇을 노출하는지, 각 사실을 어디에서 읽었는지, 얼마나 확실한지, 그리고 무엇을 확인할 수 없었는지 알려줍니다. 하나의 CLI, 코딩 에이전트를 위한 하나의 MCP 서버, 하나의 로컬 웹 UI. 어떤 것도 여러분의 컴퓨터를 떠나지 않습니다.

터미널에서 Electron 앱을 분석하는 hexvero: 파일과 줄이 포함된 발견 사항, 한 채널의 IPC 호출 지점, 두 빌드 사이에 변경된 설정

사용해 보기

npx hexvero analyze ./MyApp.app/Contents/Resources/app.asar

Node.js 22.12 이상이면 충분합니다. 빈 npm 캐시에서 첫 결과는 노트북 기준으로 다운로드를 포함해 명령어 하나와 약 9초가 걸렸습니다. examples/에 있는 작은 Electron 앱에서의 실제 실행 결과:

$ hexvero analyze examples/notesdesk-1.4.0.asar
Summary
  Electron ASAR: 4 JavaScript modules, 6 IPC channels

Findings
  ○ nodeIntegration: true in a BrowserWindow  @ main.js:14
      contextIsolation is on for the same window, so page scripts do not get require(). Node integration keeps the renderer out of the Chromium sandbox.
  ○ sandbox: false in a BrowserWindow  @ main.js:15
      The renderer process runs without the Chromium sandbox.
  ● 6 IPC channels  @ main.js:25
      app:quit, notes:list, notes:save, settings:get, settings:set, shell:open (collections ipcChannels, ipc)
  ● 6 members exposed to pages as window.notesdesk  @ preload.js:4
      getSetting, setSetting, listNotes, saveNote, quit, openInShell (collection contextBridge)
  ○ 2 network endpoints read from the code  @ renderer/app.bundle.js:11
      ${…}/notes/sync, https://telemetry.notesdesk.example/collect (collection endpoints)
  ● 1 storage key read from the code  @ renderer/app.bundle.js:10
      notesdesk.token (collection storage)
  … (preload script, list of collections)

Next
  Which IPC channels can a page reach, and who handles them?
    hexvero collection examples/notesdesk-1.4.0.asar ipcChannels
  What does the preload script expose to web content?
    hexvero collection examples/notesdesk-1.4.0.asar contextBridge
  … (two more)

채워진 점은 파일에서 읽은 사실이고, 빈 점은 패턴에서 추론한 것이며, @ main.js:14는 그것을 읽은 위치입니다. 설정은 작성된 그대로 보고되며, 가정된 Electron 기본값으로 보고되지 않습니다. ${…}는 주소에서 런타임에 계산되는 부분을 표시합니다. windows 컬렉션은 각 창의 nodeIntegration, contextIsolation, sandbox를 true, false, computed, not written으로 나란히 배치하고, 이들로부터 함께 도출되는 결론을 제시합니다. package.json에 있는 버전의 Electron 기본값에 의존하는 값은 default on / default off로 표시됩니다. 규칙과 그 출처는 docs/electron-findings.md에 있습니다. IPC 발견은 모든 IPC 형태의 호출을 추적할 수 있었을 때만 채워진 점이 됩니다. 그렇지 않으면 한계 항목에 추적할 수 없었던 호출을 파일과 줄 번호와 함께 명시합니다.

사람들이 이것을 어디에 사용하는가

1. 낯선 애플리케이션 이해하기. 바이너리, Electron 앱 또는 APK를 다운로드했습니다. hexvero는 그것이 무엇인지, 무엇을 노출하는지, 증거가 어디에 있는지 알려주고, 다음으로 살펴볼 것을 제안합니다. 네이티브 프로그램에서는 하드닝과 살펴볼 만한 임포트를 명시합니다:

$ cc -O2 -o demo examples/native/demo-v2.c && hexvero analyze demo
Findings
  ● Imports functions that start other programs or a shell: system
      Read from the import table. Whether and with what input they are called is not established by static reading; a call graph (hexvero calls) shows who calls them. (collection imports)
  ● Hardening: PIE yes, stack canary no, ARC no, code signature yes, stripped yes

$ hexvero calls demo radare2 main --goal system      # with radare2, rizin or Ghidra installed
radare2 path main → sym.imp.system · found
main
  └ sym._run_tool
    └ sym.imp.system

2. 두 버전 비교. 두 빌드 사이에 무엇이 변경되었는지, 목록별로, 항목을 증거로 제시합니다. 단순히 이동만 한 코드는 변경된 것으로 보고되지 않습니다.

$ hexvero compare examples/notesdesk-1.4.0.asar examples/notesdesk-1.5.0.asar webPreferences
webPreferences: 0 added, 0 removed, 2 changed, 2 unchanged · matched by file+windowName+key
  ~ main.js::win::nodeIntegration  value: true → false
  ~ main.js::win::sandbox  value: false → true

$ hexvero compare examples/notesdesk-1.4.0.asar examples/notesdesk-1.5.0.asar windows
windows: 0 added, 0 removed, 1 changed, 0 unchanged · matched by file+windowName
  ~ main.js::win  nodeIntegration: true → false, nodeIntegrationInEffect: "on" → "off", sandbox: false → true, sandboxInEffect: "off" → "on"

$ hexvero compare examples/notesdesk-1.4.0.asar examples/notesdesk-1.5.0.asar contextBridge
contextBridge: 1 added, 1 removed, 0 changed, 5 unchanged · matched by api+member
  + notesdesk::checkUpdate
  - notesdesk::openInShell

기본적으로 아무것도 무시되지 않습니다. 네이티브 바이너리에서 위치만 이동한 코드는 relocated로 집계됩니다. 창은 할당된 변수(win)를 기준으로 매칭되므로, 창을 추가해도 다른 창들의 짝이 잘못 맞춰지지 않습니다. 한쪽에서만 발견된 항목은, 반대쪽에서 그 항목이 위치한 파일을 읽은 경우에만 added 또는 removed가 되며, 그렇지 않으면 unknown(?)입니다.

3. AI 에이전트가 조사하도록 하세요. npx hexvero setup --apply는 발견된 코딩 에이전트(Claude Code, Codex, Cursor, VS Code 외 14개)에 MCP 서버를 등록하고, npx hexvero setup --skill --apply는 조사 루프를 가르치는 스킬을 설치합니다. 그러면 에이전트는 대상을 열고, 제안된 다음 호출과 함께 작은 첫 답변을 읽고, 필요한 목록만 페이지 단위로 읽으며, 각 주장마다 file:line을 인용합니다. 대상 내부의 텍스트는 데이터로 취급되며 절대 지시로 취급되지 않습니다. 이를 확인하기 위해 테스트에서 그러한 텍스트를 대상에 심어 둡니다. AI 에이전트용을 참고하세요.

hexvero를 쓰는 이유

도구 다운로드