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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
mininode — 정적 분석 CLI 도구로, 종속성 그래프를 구성하고 거친 또는 세밀한 모드에서 사용되지 않는 모듈과 함수를 제거하여 Node.js 애플리케이션의 공격 표면을 줄입니다. | Kitploit
도구/GitHubGitHub/wspr-ncsu/mininode
Static AnalysisVulnerability AnalysisCode AnalysisSupply Chain SecurityPapers & ResearchLearning & Education
GitHubwspr-ncsu/mininode

mininode

정적 분석 CLI 도구로, 종속성 그래프를 구성하고 거친 또는 세밀한 모드에서 사용되지 않는 모듈과 함수를 제거하여 Node.js 애플리케이션의 공격 표면을 줄입니다.

저장소 보기
2163년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

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

Mininode

Mininode는 소스 코드의 정적 분석을 통해 Node.js 애플리케이션의 공격 표면을 줄이기 위한 CLI 도구입니다. 두 가지 축소 모드를 지원합니다 (1) 거친(Coarse), (2) 세밀한(Fine).

Mininode는 애플리케이션의 메인 파일, 즉 진입점부터 시작하여 의존성 그래프(사용된 모듈 및 함수)를 구축합니다. Mininode는 package.json 파일의 main 필드가 존재하면 이를 진입점으로 초기화하고, 그렇지 않으면 기본값으로 index.js를 사용합니다.

사용 예시: node index.js <Node 애플리케이션 루트 폴더 경로> --mode=(coarse|fine). 아래는 Mininode에 전달할 수 있는 옵션 목록입니다.

옵션

Mininode에 전달할 수 있는 명령줄 옵션 목록입니다.

  • --destination, -d: mininode가 축소된 Node.js 애플리케이션을 저장할 경로입니다. 기본값: mininode.
  • --dry-run: 초기 애플리케이션을 수정하지 않고 mininode.json만 생성합니다.
  • --mode, -m: 축소 모드입니다. 값은 coarse 또는 fine일 수 있습니다. coarse 모드에서는 mininode가 거친 수준(Coarse-grained)의 축소만 수행합니다. fine 모드에서는 mininode가 세밀한 수준(Fine-grained)의 축소를 수행합니다. 일반적으로 거친 수준의 축소가 더 안정적인데, 그 이유는 mininode가 모듈 내부의 사용되지 않는 함수를 축소하려고 시도하지 않기 때문입니다. 기본값: coarse.
  • --silent: 콘솔 출력을 비활성화합니다. 이는 mininode의 성능을 향상시킵니다.
  • --verbose: 콘솔에 추가 정보를 출력합니다. 기본값: false.
  • --log: mininode가 애플리케이션의 의존성 그래프를 json 형식으로 포함하는 로그 파일을 생성합니다. 기본값: true.
  • --log-output: mininode가 생성하는 로그 파일의 이름입니다. 기본값: mininode.json.
  • --compress-log: 최종 로그 파일을 압축합니다. 기본적으로 모든 내용을 로그 파일에 덤프합니다. 프로덕션에서는 공간을 절약하기 위해 --compress-log 플래그를 전달하는 것이 좋습니다.
  • --seeds: mininode가 의존성 그래프 구축을 시작할 시드 파일입니다. 콜론으로 구분하여 여러 시드 파일을 제공할 수 있습니다.
  • --skip-stat: 통계 계산을 건너뜁니다.
  • --skip-reduction: 이 플래그가 전달되면 mininode는 JavaScript 파일을 축소하지 않습니다. 기본값: false.
  • --skip-remove: 이 플래그가 전달되면 mininode는 사용되지 않는 JavaScript 파일을 제거하지 않습니다. 기본값: false.

제한사항

  1. Mininode는 정적 분석을 사용하므로 eval과 같은 동적 동작을 사용하는 Node.js 애플리케이션의 공격 표면을 줄일 수 없습니다. Mininode가 애플리케이션에서 동적 동작을 감지하면 DYNAMIC_BEHAVOUR_DETECTED 오류와 함께 종료됩니다.

연구 논문

다음 연구 논문에서 작업의 세부 사항에 대해 더 자세히 읽을 수 있습니다:

Mininode: Reducing the Attack Surface of Node.js Applications [PDF]
Igibek Koishybayev, Alexandros Kapravelos
Proceedings of the International Symposium on Research in Attacks, Intrusions and Defenses (RAID), 2020

연구에 Mininode를 사용하신다면, 이 Bibtex 항목을 사용하여 인용해 주시기 바랍니다:

root@kitploit:~
@conference{mininode-raid20,
  title = {{Mininode: Reducing the Attack Surface of Node.js Applications}},
  author = {Koishybayev, Igibek and Kapravelos, Alexandros},
  booktitle = {{Proceedings of the International Symposium on Research in Attacks, Intrusions and Defenses (RAID)}},
  year = {2020}
}

기여하기

js-semistandard-style

우리는 semistandard를 따르고 있습니다.

도구 다운로드