Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

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

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

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
retire.js — 알려진 취약점이 있는 JavaScript 라이브러리의 사용을 감지하는 스캐너입니다. 또한 발견한 라이브러리의 SBOM을 생성할 수 있습니다. | Kitploit
도구/GitHubGitHub/retirejs/retire.js
Static AnalysisVulnerability ScannersWeb Security
GitHubretirejs/retire.js

retire.js

알려진 취약점이 있는 JavaScript 라이브러리의 사용을 감지하는 스캐너입니다. 또한 발견한 라이브러리의 SBOM을 생성할 수 있습니다.

저장소 보기웹사이트
4.2k43714시간 18분 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Retire.js

필요한 것은 반드시 은퇴(retire)시켜야 한다

웹 및 Node.js 애플리케이션 모두에 사용할 수 있는 JavaScript 라이브러리 생태계는 매우 방대합니다. 이러한 라이브러리는 개발 속도를 크게 높여 주지만, 보안 취약점을 신속하게 처리하기 위해서는 지속적인 유지보수도 필요합니다. 2013년에는 '알려진 취약점이 있는 구성 요소 사용(Using Components with Known Vulnerabilities)'이 OWASP Top 10 주요 보안 위험 목록에 추가되면서, 오래되었거나 안전하지 않은 의존성이 웹 애플리케이션에 얼마나 심각한 위협이 될 수 있는지 강조되었습니다. Retire.js는 개발자가 알려진 취약점이 있는 JavaScript 라이브러리 버전, 특히 패키지 매니페스트에는 없지만 단순히 다운로드되어 소스 제어에 포함된 라이브러리를 식별하는 데 도움을 주기 위해 만들어졌습니다.

Retire.js는 여러 가지 방법으로 사용할 수 있습니다:

  1. 명령줄 스캐너로 사용
  2. Chrome 확장 프로그램으로 사용 - Chrome 웹 스토어에서 공식적으로 제공되지 않음
  3. Burp 확장 프로그램으로 사용 또는 OWASP ZAP 애드온으로 사용
  4. Firefox 확장 프로그램으로 사용 - 더 이상 사용되지 않음(Deprecated). 유지보수하고 다시 활성화하려면 알려주세요.
  5. 헤드리스 웹 사이트 스캐너로 사용
  6. grunt 플러그인으로 사용(더 이상 사용되지 않음)
  7. gulp 작업으로 사용(더 이상 사용되지 않음)

명령줄 스캐너

웹 앱 또는 Node 앱에서 취약한 JavaScript 라이브러리 및/또는 Node.js 모듈 사용 여부를 스캔합니다. 아직 설치하지 않았다면 먼저 node/npm을 설치해야 합니다. 애플리케이션 폴더의 소스 코드 폴더에서 다음을 실행하세요:

root@kitploit:~
$ npm install -g retire
$ retire

SBOM 생성

retire.js는 CycloneDX 형식으로 SBOM을 생성할 수 있습니다:

root@kitploit:~
$ retire --outputformat cyclonedx

cyclonedx는 CycloneDX 1.4 XML을 생성합니다. JSON 및 최신 사양 버전을 원한다면 cyclonedxJSON(1.4), cyclonedxJSON1_6 또는 cyclonedxJSON1_7을 사용하세요. cyclonedxJSON1_6_VEX 및 cyclonedxJSON1_7_VEX 변형에는 vulnerabilities 섹션도 포함됩니다.

기본적으로 retire.js는 취약점을 발견하면 종료 코드 13으로 종료합니다. 이는 --exitwith 0으로 재정의할 수 있습니다.

Chrome 및 Firefox 확장 프로그램

방문한 사이트에서 안전하지 않은 라이브러리에 대한 참조를 스캔하고 개발자 콘솔에 경고를 표시합니다. 주소 표시줄의 아이콘은 취약한 라이브러리가 로드되었는지 여부도 표시합니다.

Burp 확장 프로그램 및 OWASP ZAP 애드온

@h3xstream은 침투 테스트 도구인 Burp 및 OWASP ZAP용 플러그인으로 Retire.js를 적용했습니다.

OWASP ZAP 팀은 Retire.js 애드온을 공식적으로 지원합니다. 이 애드온은 ZAP 마켓플레이스에서 제공되며 ZAP 주간 릴리스에 기본적으로 포함됩니다: https://www.zaproxy.org/docs/desktop/addons/retire.js/

헤드리스 사이트 스캐너

retire-site-scanner https://github.com/RetireJS/retire-site-scanner는 Chrome/Firefox 확장 프로그램을 사용하는 대신 헤드리스 모드로 웹 사이트를 스캔하는 데 사용할 수 있습니다.

Grunt 플러그인(더 이상 사용되지 않음)

애플리케이션의 빌드 루틴이나 다른 자동화된 워크플로의 일부로 Retire.js를 실행하기 위한 Grunt 작업입니다.

Gulp 작업(더 이상 사용되지 않음)

gulpfile에서 프로젝트 파일을 자동으로 감시하고 스캔하는 데 사용할 수 있는 Gulp 작업 예제입니다. 감시 패턴과 (선택 사항) Retire.js 옵션은 원하는 대로 수정할 수 있습니다.

root@kitploit:~
const c = require("ansi-colors");

var gulp = require("gulp");
var beeper = require("beeper");
var log = require("fancy-log");
var spawn = require("child_process").spawn;

gulp.task("retire:watch", ["retire"], function (done) {
  // Watch all javascript files and package.json
  gulp.watch(["js/**/*.js", "package.json"], ["retire"]);
});

gulp.task("retire", function () {
  // Spawn Retire.js as a child process
  // You can optionally add option parameters to the second argument (array)
  var child = spawn("retire", [], { cwd: process.cwd() });

  child.stdout.setEncoding("utf8");
  child.stdout.on("data", function (data) {
    log(data);
  });

  child.stderr.setEncoding("utf8");
  child.stderr.on("data", function (data) {
    log(c.red(data));
    beeper();
  });
});

기부

기부금은 이 도구와 취약점 저장소의 유지보수 자금으로 사용됩니다.

도구 다운로드