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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
FlowName — 차세대 LLM 기반 JavaScript 식별자 복구. | Kitploit
도구/GitHubGitHub/123wwwa/flowname
Static AnalysisCode AnalysisReverse EngineeringMachine LearningAI-Assisted ReversingAI Security
GitHub123wwwa/flowname

FlowName

차세대 LLM 기반 JavaScript 식별자 복구.

저장소 보기
9966일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
웹사이트
공유

FlowName

연결된 식별자들이 의미 있는 이름이 되는 FlowName 워드마크

두 가지 측정 비교에서 API 호출, 총 토큰 및 변수 이름 품질에 대한 FlowName 대 Humanify

이름 품질은 자동화된 비보정 Jev 평가에서만 선호된 이름의 비율을 보여줍니다. 애니메이션 차트 → · 정확한 수치, 방법 및 한계 →

브라우저에서 FlowName 사용해 보기 → — JavaScript, API 키, 모델을 입력하세요. 설치가 필요 없습니다.

CLI: npx --yes --package=flowname@latest flowname input.js (먼저 GEMINI_API_KEY를 설정하세요).

FlowName은 난독화된 JavaScript를 위한 차세대 시맨틱 식별자 복구 도구입니다. AST 기반 정적 분석을 사용하여 논리적으로 관련된 변수들을 예산이 책정된 LLM 요청으로 그룹화함으로써, FlowName은 순진한 텍스트 윈도우 접근 방식에서 흔히 발생하는 컨텍스트 손실 환각을 제거합니다.

Cigar와 GrobPaint에서 선도적인 심볼 기반 도구(Humanify)와의 두 가지 직접 벤치마크에서 FlowName은 다음과 같은 평균 상대 결과를 보여주었습니다:

  • ⚡ 82% 더 빠른 실행 — 관계 기반 요청 배칭을 통해.
  • 💰 33% 더 낮은 토큰 비용 — 중복되는 컨텍스트 팽창을 제거하여.
  • 🎯 더 높은 시맨틱 정밀도 및 85% 더 많은 정확한 원본 이름 일치 — 보장된 AST 컨텍스트가 LLM 환각을 방지함을 입증합니다.

GrobPaint의 1,786개 익명화된 바인딩에 대한 두 번째 비교에서 FlowName은 408 대 1,786회의 API 호출과 29.36% 더 적은 총 토큰을 사용했습니다. 원본 소스를 인식하는 Jev는 512 대 274의 독점 선호도를 보였습니다.

벤치마크 요약과 두 가지 검색 가능한 이름 보고서 살펴보기. Jev의 판단은 자동화되어 있으며 보정되지 않았습니다. Humanify의 프롬프트는 일부 바인딩에 대해 대상 철자를 생략했으며, 충돌 방지 접미사가 적용된 이름 점수에 영향을 미칠 수 있습니다. 컨텍스트 분할과 한계에 대해서는 요약을 참조하세요.

실행하기

환경 변수 또는 현재 디렉터리의 .env 파일에 GEMINI_API_KEY(또는 FLOWNAME_API_KEY)를 설정한 후 다음을 실행하세요:

npx --yes --package=flowname@latest flowname input.js

OpenAI 호환 엔드포인트를 사용하거나 환경 변수를 건너뛰려면 모든 항목을 플래그로 전달하세요:

npx --yes --package=flowname@latest flowname input.js --base-url https://api.openai.com/v1 --model MODEL --api-key YOUR_API_KEY

플래그가 우선하고, 그다음 환경 변수, 그다음 .env 순으로 적용되며, 서로 불일치할 경우 CLI가 경고합니다. 플래그로 전달된 키는 셸 기록과 프로세스 목록에 노출될 수 있습니다.

무엇이든 지출하기 전에 비용을 확인하거나, 큰 파일의 일부를 먼저 시험해 보세요:

flowname input.js --dry-run              # planned API calls and prompt bytes; no key needed
flowname input.js --sample-requests 3    # send only the first 3 planned requests
flowname - -o - < input.js > output.js   # standard input to standard output

CLI는 복구된 코드를 새 flowname-output-TIMESTAMP-ID/output.js 디렉터리에 기록합니다. --report를 추가하면 각 요청과 제안된 이름을 실시간 HTML 보고서로 확인할 수 있습니다. 기본 Gemini 모델에는 플래그가 필요하지 않습니다. Node.js 22.8+가 필요합니다.

브라우저에서는 playground를 열고 JavaScript를 붙여넣은 뒤, 자신의 API 키를 제공하고 복구를 시작하세요. 요청은 브라우저에서 선택한 제공자로 직접 전송됩니다. Stop은 실행을 중단합니다.

적합한 사용 위치

FlowName은 식별자의 이름을 지정하며, 번들을 풀거나 구조적 난독화를 되돌리지는 않습니다. 지원되는 난독화 패턴에는 webcrack을, 지원되는 번들에는 Wakaru를 사용한 뒤 결과 JavaScript를 FlowName에 전달하세요. FlowName은 어휘 바인딩을 해석하고, 가벼운 관계와 동일 스코프 폴백을 사용해 대상을 그룹화하며, 요청마다 LLM에 여러 이름을 요청합니다. 그룹화 작동 방식 보기.

라이브러리로 사용하기

npm install flowname
import { readFile } from 'node:fs/promises';
import { recoverNames, createProvider } from 'flowname';

const sourceCode = await readFile('./input.js', 'utf8');
const provider = createProvider({
  provider: 'gemini',
  model: 'gemini-3.5-flash-lite',
  apiKey: process.env.GEMINI_API_KEY,
});
const result = await recoverNames(sourceCode, { provider });
console.log(result.code);

옵션, CLI 보고서 및 전체 라이브러리 예제는 사용 가이드를 참조하세요. 문서 색인에서는 접근 방식, 아키텍처, 한계, 선행 연구 및 Humanify 비교를 다룹니다.

MIT 라이선스로 배포됩니다. 릴리스 노트를 참조하세요.

도구 다운로드