프로젝트 소개
PyFlow는 Python용 알파 단계 프로그램 분석 프레임워크로, 프로그램 분석 인프라, 실험적 최적화 패스, 보안 검사를 결합한 연구 도구 키트로 설계되었습니다. CFG, CDG, DDG, PDG, CPG, 저수준 데이터 흐름 IR, 공유 저장소 그래프 모델 등 다양한 중간 표현(IR)을 제공하며, 호출 그래프 구축, IFDS, 별칭, IPA, CPA, 형태, 수명, 타입 분석 등 여러 분석 기법을 지원합니다.
이 프레임워크는 단순화, 메서드 호출 최적화, 복제, 인자 정규화, 로드/스토어 제거와 같은 패스를 포함한 모듈식 최적화 파이프라인을 포함합니다. 보안 측면에서는 AST 패턴 매칭, AST 기반 데이터 흐름, CPG 기반, IFDS 기반 보안 분석 엔진을 제공합니다. 또한 로컬 SBOM 생성, 배포 무결성 감사, 의존성 메타데이터 추출을 위한 공급망 분석 기능도 포함합니다.
PyFlow는 IR 덤프, 호출 그래프 생성, 보안 분석, 별칭 분석, 콘콜릭 테스트 입력 생성, 공급망 작업을 위한 명령을 지원하는 CLI를 제공합니다. 또한 IDE 통합 및 의미론적 쿼리를 위한 LSP 및 MCP 서버 모드도 제공합니다. 이 프로젝트는 PySASTBench 마이크로벤치마크에 대한 평가 결과를 포함하며, 보안 엔진의 정밀도/재현율 지표를 보여줍니다.
설치에는 Python 3.10 이상과 시각화를 위한 Graphviz가 필요합니다. pip를 통해 소스에서 설치할 수 있으며, 개발 및 PyCG 기반 호출 그래프 알고리즘을 위한 선택적 확장 기능이 있습니다. 이 프로젝트는 IR, 프론트엔드, API, 체커 구성 요소를 다루는 단위 및 통합 테스트 스위트를 포함합니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.