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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
pyscan — Rust로 작성된 파이썬 종속성 취약점 스캐너. | Kitploit
도구/GitHubGitHub/ohaswin/pyscan
Static AnalysisVulnerability ScannersCode AnalysisDevSecOpsSupply Chain Security
GitHubohaswin/pyscan

pyscan

Rust로 작성된 파이썬 종속성 취약점 스캐너.

저장소 보기
24992개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Pyscan

CI License PyPI Crates.io Crates.io Downloads PyPI Downloads

Pyscan Performance Benchmark

Pyscan은 Rust로 작성된 고성능 동시성 취약점 스캐너입니다. Python 프로젝트를 자동으로 탐색하고, 다양한 패키징 형식에서 의존성을 추출한 후, 단일 비동기 배치 요청으로 오픈소스 취약점(OSV) 데이터베이스와 상호 참조합니다.


Pyscan은 기존 Python 기반 보안 도구의 성능 및 메모리 병목 현상을 해결하기 위해 설계되었습니다.

  • 성능 향상: 중대형 데이터셋에서 pip-audit 및 safety 같은 업계 표준 도구 대비 최대 5.25배 속도 향상을 달성합니다. Pyscan의 실행 시간은 $O(\text{vulns})$ 시간 복잡도 모델로 작동하며, 실행 시간은 발견된 취약점 수에 비례하고 의존성 수에는 영향을 받지 않습니다.
  • 일정한 메모리 사용량: Pyscan은 15개의 의존성을 스캔하든 700개 이상의 의존성을 스캔하든 메모리 사용량이 완전히 일정하게 유지됩니다(~45MB). 메모리 제약이 있는 CI/CD 파이프라인에 매우 적합합니다.
  • 범용 지원: SBOM(CycloneDX, SPDX), uv.lock, requirements.txt, pyproject.toml(Poetry, Hatch, PDM, Flit)에서 자동으로 의존성을 해결하고 추출하거나, 원시 .py 소스 코드를 파싱하여 동적으로 추출합니다.
  • 도달 가능성 분석: Pyscan은 정적 매니페스트 파싱을 넘어서 휴리스틱을 사용하여 소스 코드를 스캔하고, 취약한 의존성이 정확히 어디에서 임포트되었는지 찾아 강조 표시하여 수정을 위한 즉각적인 컨텍스트를 제공합니다.

자세한 내용은 벤치마크 보고서에서 확인하세요.

설치

Pyscan은 pipx, pip(컴파일된 Python 휠) 또는 cargo(네이티브 Rust 바이너리)를 통해 설치할 수 있습니다.

root@kitploit:~
# pipx를 통한 설치 (권장) ("-rs" 접미사에 주의)
pipx install pyscan-rs

# pip를 통한 설치 ("-rs" 접미사에 주의) 
pip install pyscan-rs

# Cargo를 통한 설치
cargo install pyscan

사용법

프로젝트 루트 디렉토리에서 pyscan을 실행하거나, 특정 소스 폴더를 지정하면 됩니다.

root@kitploit:~
# 현재 디렉토리 스캔
pyscan

# 특정 디렉토리 스캔
pyscan -d path/to/src

의존성 해결 우선순위

여러 소스 파일이 존재하는 경우 Pyscan은 다음 우선순위 체인에 따라 의존성을 추출합니다.

  1. SBOM (bom.json, spdx.json)
  2. uv.lock
  3. requirements.txt
  4. pyproject.toml
  5. 원시 소스 코드 (.py)

의존성이 엄격하게 고정된 버전 없이 발견된 경우 Pyscan은 최신 버전을 위해 PyPI에 폴백하여 질의합니다. 하지만 PEP-508 구문을 따를 것을 적극 권장합니다.

빌드 및 아키텍처

Pyscan은 Rust 툴체인 >= v1.70이 필요하며, reqwest와 tokio를 통한 비동기 네트워킹을 활용하여 OSV 쿼리를 병렬화하고 처리량을 극대화합니다. 파서와 스캐너의 구조에 관심이 있다면 아키텍처 개요를 확인하세요.

면책사항

Pyscan은 고도로 최적화된 도구이지만, 아직 모든 엣지 케이스에서 충분히 검증되지 않았습니다. 이 도구가 모든 벡터로부터 코드를 100% 안전하게 보호한다고 보장하지는 않습니다. Dependabot, pip-audit, Trivy 같은 도구와 함께 계층적 보안 접근 방식을 사용하는 것을 적극 권장합니다. PR 및 이슈 제출은 언제나 환영합니다!

로드맵 (2026년 4월 기준)

  • CycloneDX 및 SPDX SBOM 지원 추가
  • 프로젝트 보안 태세의 영구 상태 표현
  • 전이적 의존성의 그래픽 DAG 분석
  • 깊은 중첩 임포트에 대한 개선된 도달 가능성 분석

후원

이 프로젝트는 제가 가난한 고등학생일 때 시작했고, 지금은 가난한 대학생입니다. Pyscan이 여러분의 CI/CD 파이프라인에서 소중한 시간과 RAM을 절약해 주었다면, 커피 한 잔 사주시는 건 어떨까요?

ko-fi

도구 다운로드