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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
jquery35-local-agent — 레거시 Spring/JSP를 위한 오프라인 jQuery CVE-2020-11023 수정 키트 - Node.js 내장 모듈만 사용 (npm 미사용, 인터넷 미연결) | Kitploit
도구/GitHubGitHub/garlicb/jquery35-local-agent
Static AnalysisVulnerability AnalysisCode AnalysisWeb Security
GitHubgarlicb/jquery35-local-agent

jquery35-local-agent

레거시 Spring/JSP를 위한 오프라인 jQuery CVE-2020-11023 수정 키트 - Node.js 내장 모듈만 사용 (npm 미사용, 인터넷 미연결)

저장소 보기
132개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

jquery35-local-agent v5 — jQuery CVE-2020-11023 조치 자동화 킷

폐쇄망 로컬 PC에서 Node.js 하나만으로 동작하는 레거시 Java/Spring/JSP 프론트엔드 취약점 조치 도구입니다. npm install 불필요, 인터넷 불필요, 외부 모듈 0개(Node 내장 모듈만 사용).


1. 이 도구가 하는 일

  • WebContent/src/main/webapp 등 웹루트 자동 감지 및 전체 구조 분석 (JSP/JS/CSS/리소스 인벤토리)
  • WEB-INF/views + WEB-INF/layouts JSP의 script/css/include 호출관계 분석
  • JSP include를 따라가며 페이지별 실제 로드되는(effective) 스크립트 목록 재구성
  • jQuery 1.10.2 등 3.5.0 미만 core 호출부 전수 탐지 (Critical, CVE-2020-11023 핵심)
  • jQuery Migrate 누락 / core 중복 로드 / migrate 로드 순서 리스크 탐지
  • 제거·변경된 jQuery API 위험 구문 정적분석 (.bind .live .size .attr(bool) .success 등)
  • 안전한 것만 자동수정하여 원본은 그대로 두고 TO-BE 폴더에 동일 구조로 생성
  • DOM XSS 후보(.html(response) 등) 위험도 분류 (XssHigh / Review / StaticHtmlLow)
  • CSV/Excel(.xls) + index.html 대시보드 + assistant_packet.txt 보고서 생성
  • JSP/HTML의 id/class/name/버튼 텍스트와 JS selector를 매칭해 Runtime 검증 시나리오 생성 (1망 code-only/static, 2망 Chrome smoke, Edge IE mode final sample)
  • Local Lab/mock 결과를 어디까지 믿을지 나누는 Runtime Parity Analyzer 생성 (LOCAL_LAB_OK / CHROME_SMOKE_REQUIRED / IE_FINAL_SAMPLE_REQUIRED)
  • CSV 파일 전달이 불가능한 상황을 위한 Voyager 복붙 패킷(voyager_packet.txt) 생성
  • 정적+런타임 검수 증거를 1000자 이하로 압축하는 AI 판정팩(ai_verdict_packet.txt, verdict_evidence.html/json) 생성
  • Edge IE mode용 Runtime Probe (개발자도구 없이 화면에서 JQMIGRATE 경고/JS 에러 수집)
  • Tomcat 없이 프론트 JS를 미리 확인하는 Local Lab mock 서버
  • 운영 반영 전 게이트 verify-clean (구버전 jQuery/Probe 잔존 시 FAIL)
  • AI 리뷰팩(review-pack) — 애매한 코드 지점만 골라 함수명/앞뒤 몇 줄(문자열은 마스킹)만 담은 질문지를 생성해 외부 AI와 반복 학습하는 스무고개 루프 (7절 참고)
  • Hermes 로컬 검수팩(hermes-pack) — 외부 AI에게 묻기 전/후에 로컬에서 확인할 테스트 설계, 검수 기준, project-profile 반영 템플릿, CASE별 모킹 시험장 웹페이지를 생성하는 폐쇄망용 부품팩
  • Java/Spring 정적 증거 — Spring을 띄우지 않고 @RequestMapping/XML 설정만 읽어 AJAX와 Controller 후보를 연결
  • 선택형 Runtime Lab 스캐폴드 — Codex/로컬 PC에서 WAR를 얹어 Tomcat 7 계열 실험을 할 수 있는 runtime-lab/ 템플릿 제공. Docker/JDK/Tomcat/WAR는 포함하지 않음
  • 공개 배포용 rulepack/airgap/release — 웹루트/벤더/mock 기본값은 rules/*.json, 폐쇄망 증빙은 airgap_manifest.*, 배포 ZIP은 release-zip
  • 로컬 웹 콘솔(ui) — PowerShell 명령을 매번 치지 않고 브라우저에서 source만 지정하면 TO-BE/report/profile/server-source/verify-source를 자동 세팅하고, S1~S11 단계 실행, Pipeline, Local Lab 시작/중지, 기존 HTML 보고서 열기를 처리
  • 기본 jQuery 런타임 번들 포함 — patch-jquery가 assets/jquery/jquery-3.5.1.min.js와 jquery-migrate-3.6.0.min.js를 TO-BE에 자동 배치하므로, 기본 조합은 별도 파일 준비 없이 교체 가능. jquery-migrate-3.6.0.js 비압축본은 Tracing/debug 프로필용으로만 포함

2. 이 도구가 하지 않는 일

  • 원본 소스를 절대 직접 수정하지 않습니다. 모든 변경은 --target TO-BE 폴더에만 기록됩니다.
  • Critical(구버전 jQuery core 호출부)은 plan/autofix에서 탐지만 하고 patch-jquery 모드에서만 교체합니다.
  • XssHigh(동적 DOM 삽입)는 자동수정하지 않습니다. 사람이 .text()/escapeHtml/신뢰경계 검토를 해야 합니다.
  • 벤더 라이브러리(jqGrid/jquery-ui/select2/autoNumeric/*.min.js)는 수정 대상에서 제외하고 VendorReview로만 분류합니다.
  • Local Lab은 Spring Controller/DB/세션/Tiles를 실행하지 않습니다. 1망 code-only 결과는 정적 증거이고, 2망 Chrome smoke 또는 실제 Spring/Tomcat 실 기동 결과를 붙여야 런타임 검증으로 볼 수 있습니다.
  • Java/Spring 스캔은 정적 증거만 제공합니다. Controller 매핑 후보가 잡혀도 런타임 권한/세션/DB 결과가 확정되는 것은 아닙니다.
  • runtime-lab/은 선택형 실험 템플릿입니다. Docker image, JDK, Tomcat, Maven, 업무 WAR를 배포본에 넣지 않고, Edge IE mode 렌더링도 재현하지 않습니다.

3. 설치

  1. Node.js만 설치돼 있으면 됩니다 (Node.js 16+ 최소, 18+ 권장, npm install 불필요).
  2. 이 폴더를 아무 경로에나 복사합니다 (예: C:\tools\jquery35-local-agent-v5).
  3. 배치파일 상단의 경로 3개를 내 환경에 맞게 수정합니다.
  4. 다른 현장/공개 배포용으로 쓸 때는 project-profile.public.sample.json을 복사해 project-profile.json으로 만들고, 필요하면 rules/*.json만 수정합니다.

기본 예시 경로:

용도경로
원본(source)C:\work\legacy-app
TO-BE(target)C:\work\legacy-app_jquery35_tobe
보고서(report)C:\work\jquery35_report_v5

--source에는 프로젝트 루트(C:\work\legacy-app)를 줘도 되고 C:\work\legacy-app\WebContent를 직접 줘도 됩니다. WebContent는 자동 감지됩니다.

3-1. 웹 콘솔로 실행하기

명령어를 매번 치기 싫으면 먼저 아래 중 하나로 로컬 웹 콘솔을 띄우세요.

실행0_웹대시보드.bat

node run-jquery35-v5.js --mode ui --port 18088

접속 주소는 http://127.0.0.1:18088/ 입니다.

  • source, target, report, profile, rulepack, server-source를 Browse로 지정하거나 직접 입력한 뒤 버튼으로 plan, autofix, patch-jquery, probe, review-pack, hermes-pack, ai-verdict-packet, verify-clean, pr-report, airgap-manifest, release-zip을 실행합니다.
  • source를 지정하면 TO-BE/report/profile/server-source/verify-source가 자동 산정됩니다. Auto setup은 같은 자동 산정을 다시 강제 적용합니다. 웹 콘솔 단계명은 S1 분석부터 S11 배포 ZIP까지 고정합니다. Run Pipeline은 S1→S2→S3→S6→S7→S8→S9→S10→Lab 순서로 실행하며, S3 이후의 검수팩/AI판정팩/검증/보고서/Local Lab은 verify-source(기본값 TO-BE target)를 기준으로 실행합니다.
  • autofix, patch-jquery, probe는 여전히 target이 필요합니다. 콘솔은 명령을 대신 만들어 실행해주는 껍데기이고, 안전 규칙은 CLI와 동일합니다.
  • 기존 산출물 영역에서 index.html, hermes_testbench.html, airgap_manifest.txt, pr_description.md, verify_clean_result.txt 등 report 폴더의 결과물을 바로 엽니다.
  • Local Lab도 콘솔에서 시작/중지할 수 있고, Lab 보고서는 http://127.0.0.1:<lab-port>/_report/index.html 로 연결됩니다.
  • 콘솔 서버는 127.0.0.1에만 바인딩하고 외부 통신을 하지 않습니다. 실행 명령은 shell 문자열이 아니라 Node 인자 배열로 호출합니다.

3-2. 공개 배포/다른 현장 튜닝 포인트

v5.4부터 코드에 박혀 있던 현장 지식을 rules/와 profile로 분리했습니다.

  • rules/public-defaults.json — 웹루트 후보(WebContent, src/main/webapp 등), Probe 삽입 후보, 경로 변수, 벤더 패턴.
  • rules/vendor-compat.json — jqGrid, jQuery UI, select2 등 벤더별 권고 문구. 새 플러그인은 여기만 늘리면 됩니다.
  • rules/mock-defaults.json — Local Lab/mock route의 기본 JSON/HTML/TEXT 응답.
  • project-profile.public.sample.json — 배포받은 사용자가 자기 프로젝트에 맞춰 복사해 쓰는 일반형 profile.

특정 현장용 rulepack을 따로 둘 때:

node run-jquery35-v5.js --source "C:\work\legacy-app" --report "C:\work\jquery35_report_v5" --mode plan --rulepack "C:\work\my-rulepack"

폐쇄망 반입용 증빙/배포 ZIP:

node run-jquery35-v5.js --source "C:\work\legacy-app" --report "C:\work\jquery35_report_v5" --mode airgap-manifest
node run-jquery35-v5.js --report ".\release" --mode release-zip

4. 모드 설명

모드하는 일원본 수정TO-BE 생성
plan분석만. 처음엔 반드시 이것부터XX
autofix안전 자동수정만 TO-BE에 적용XO
patch-jqueryautofix + 구버전 jQuery script 태그를 3.5.1 + Migrate로 교체XO
probeautofix + Runtime Probe 생성/삽입XO
lab로컬 mock 서버 기동 (기본 포트 18080)XX
verify-clean운영 반영 전 게이트 검사 (FAIL 시 exit 2)XX
pr-reportPR 설명/CI 체크리스트/커밋 그룹 생성XX
packetassistant_packet.txt / voyager_packet.txt / chat_summary.txt 생성XX
ai-verdict-packetai_verdict_packet.txt(1000자 이하) + verdict_evidence.html/json 생성XX
review-packplan + ai_review_pack.txt/json + Hermes 로컬 검수팩 생성 (7절 참고)XX
hermes-packreview-pack과 동일하지만 로컬 검수팩 의도를 명확히 한 별칭XX
airgap-manifest폐쇄망 반입 증빙(airgap_manifest.json/txt)만 생성XX
release-zip공개 배포용 ZIP + release manifest 생성 (--source 불필요)XX
ui브라우저 웹 콘솔 기동. 경로 Browse/자동 산정, 모드 실행, Pipeline, Local Lab 제어, 기존 HTML 산출물 열기XX
self-test회사 코드 없이 도구 자체 정상동작 검증 (임시 샘플 생성 후 전체 체크)XX

5. 판정 기준 (실무 기준)

도구 다운로드