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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
aura — 대규모 Python 소스 코드 감사 및 정적 분석 | Kitploit
도구/GitHubGitHub/sourcecode-ai/aura
Static AnalysisVulnerability AnalysisCode AnalysisMalware AnalysisSecret DetectionSupply Chain SecurityLearning & Education
GitHubsourcecode-ai/aura

aura

대규모 Python 소스 코드 감사 및 정적 분석

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

.. image:: https://cdn.sourcecode.ai/imgs/logotype.png :target: https://aura.sourcecode.ai/

======

.. class:: center

root@kitploit:~
|homepage_flair| |docs_flair| |docker_flair|
|license_flair| |travis_flair| |pypi_flair|

소스 코드 감사 및 정적 코드 분석

Aura는 PyPI에 게시된 악성 패키지와 취약한 코드의 증가하는 위협에 대응하기 위해 개발된 정적 분석 프레임워크입니다.

프로젝트 목표:

  • PyPI에 업로드된 패키지에 대한 자동화된 모니터링 시스템을 제공하고, 공격 진행 중 또는 코드 내 취약점을 나타낼 수 있는 이상 징후를 경고합니다.
  • 조직이 소스 코드의 자동화된 보안 감사를 수행하고 안전한 코딩 방식을 구현할 수 있도록 지원하며, 특히 python 패키지 의존성과 같은 타사 코드 감사에 중점을 둡니다.
  • 연구자들이 대규모로 코드 저장소를 스캔하고 데이터 세트를 생성하여 취약하거나 악성 코드 의존성 분야의 연구를 더욱 발전시킬 수 있도록 합니다.

기능 목록:

  • 제로 코드 실행을 보장하며 악성코드 분석에 적합
  • AST 트리 재작성을 통한 고급 난독화 해제 메커니즘 - 상수 전파, 코드 언롤링 및 기타 다양한 기법
  • 재귀적 스캐닝으로 zip, wheel 등의 아카이브를 자동으로 압축 해제하고 콘텐츠 스캔
  • Python 이외의 파일도 스캔 지원 - 내장 Yara 통합과 같은 "원시 파일" 모드로 플러그인 작동 가능
  • 하드코딩된 비밀번호, 비밀번호 및 기타 민감 정보 스캔
  • 사용자 정의 diff 엔진 - typosquatting PyPI 패키지와 같은 서로 다른 데이터 소스 간의 변경 사항을 비교 가능
  • Python 2.x 및 Python 3.x 소스 코드 모두 지원
  • 고성능, 전체 PyPI 저장소 스캔 설계
  • pretty plain text, JSON, SQLite, SARIF 등 다양한 형식으로 출력
  • 4TB 이상의 압축된 Python 소스 코드로 테스트 완료
  • Aura는 네트워크 통신, 파일 접근, 시스템 명령 실행과 같은 코드 동작을 보고 가능
  • 소스 코드/입력 데이터의 신뢰성을 알려주는 "Aura 점수" 계산
  • 그 외에도 더 많은 기능...

원하는 것을 찾지 못하셨나요? Aura의 아키텍처는 강력한 플러그인 시스템을 기반으로 하여, 데이터 분석기 세트, 전송 프로토콜, 사용자 정의 출력 형식 등 거의 모든 것을 사용자 정의할 수 있습니다.

설치

::

root@kitploit:~
# pip로 설치:
pip install aura-security[full]
# 또는 소스/git에서 빌드
poetry install --no-dev -E full

또는 미리 빌드된 도커 이미지 sourcecodeai/aura:dev를 사용하세요.

Aura 실행

::

root@kitploit:~
docker run -ti --rm sourcecodeai/aura:dev scan pypi://requests -v

Aura는 소위 URI를 사용하여 스캔할 프로토콜과 위치를 식별합니다. 프로토콜을 사용하지 않으면 스캔 인수는 로컬 시스템의 파일 또는 디렉터리 경로로 처리됩니다.

.. image:: files/imgs/aura_scan.png

패키지 비교::

root@kitploit:~
docker run -ti --rm sourcecodeai/aura:dev diff pypi://requests pypi://requests2

.. image:: docs/source/_static/imgs/aura_diff.png

가장 많이 타이포스쿼팅된 패키지 찾기 (먼저 aura update를 실행하여 데이터셋을 다운로드해야 합니다)::

root@kitploit:~
aura find-typosquatting --max-distance 2 --limit 10

.. image:: https://asciinema.org/a/367999.svg :target: https://asciinema.org/a/367999


.. image:: files/imgs/download_dataset.png :target: https://cdn.sourcecode.ai/pypi_datasets/index/datasets.html :align: center :width: 256

Aura를 사용하는 이유?

Bandit, dlint, semgrep 등 Aura와 기능이 겹치는 다른 도구들도 있지만, 이들 대안의 초점은 달라서 기능과 사용 방식에 영향을 미칩니다. 이러한 대안들은 주로 린터와 유사하게 IDE에 통합되어 개발 중에 자주 실행되도록 설계되었으며, 따라서 거짓 양성(false positive)을 최소화하고 이상적인 경우 명확한 실행 가능한 설명과 함께 보고하는 것이 중요합니다.

반면 Aura는 가능한 한 많은 정보를 제공하면서도 거짓 양성의 비용을 감수하고 코드의 동작, 이상 징후, 취약점을 보고합니다. Aura가 보고하는 많은 내용이 사용자가 즉시 조치할 필요는 없지만, 네트워크 통신, 민감한 파일 접근, 난독화와 관련된 메커니즘 사용 등 코드의 동작에 대해 많은 것을 알려줍니다. 이러한 데이터를 수집하고 집계함으로써 Aura는 본질적으로 동일한 분석을 수행하지만 다른 종류의 데이터(네트워크 통신, 실행 중인 프로세스 등)를 대상으로 하는 안티바이러스, IDS, 방화벽과 같은 다른 보안 시스템과 기능적으로 비교될 수 있습니다.

다음은 Aura와 다른 유사한 린터 및 SAST 도구 간의 차이점에 대한 간략한 개요입니다:

  • 입력 데이터:
    • 기타 SAST 도구 - 일반적으로 Python(대상) 소스 코드와 도구가 설치된 Python 버전으로만 제한됩니다.
    • Aura - 바이너리(또는 비Python 코드)와 Python 소스 코드를 모두 분석할 수 있습니다. 동일한 Aura 설치로 서로 다른 Python 버전(py2k 및 py3k)과 호환되는 Python 코드 혼합을 분석할 수 있습니다.
  • 보고:
    • 기타 SAST 도구 - IDE, CI 시스템 등 다른 시스템과의 통합에 중점을 두고 실행 가능한 결과를 제공하며, 거짓 양성을 최소화하여 사용자에게 중요하지 않은 경고가 너무 많아 압도당하지 않도록 합니다.
    • Aura - 즉시 실행 가능하지 않은 동작 및 이상 분석과 같은 최대한 많은 정보를 보고합니다. 출력 형식은 사람이 읽기보다는 기계 처리 및 집계에 용이하도록 설계되었습니다.
  • 구성:
    • 기타 SAST 도구 - 대상 프로젝트에서 사용하는 특정 기술을 대상으로 시그니처를 사용자 정의하여 도구를 대상 프로젝트에 맞게 미세 조정합니다. # nosec와 같은 주석을 소스 코드 내에 삽입하여 해당 위치의 경고를 무시하는 재정의 구성이 가능한 경우가 많습니다.
    • Aura - 스캔 중인 코드가 사용하는 기술에 대해 사전 지식이 거의 또는 전혀 없다고 가정합니다. 예를 들어 프로젝트에서 의존성으로 사용하기 위해 새 Python 패키지를 승인하는 감사 과정이 있습니다. 대부분의 경우, 린터나 Aura가 해당 위치에서 감지를 건너뛰도록 주석을 사용하는 등의 방법으로 스캔 대상 소스 코드를 수정하는 것이 불가능합니다. 이는 원격 위치에서 호스팅되는 해당 코드의 사본을 스캔하기 때문입니다.

저자 및 기여자

  • Martin Carnogursky - 초기 작업 및 프로젝트 리드 - https://is.muni.cz/person/410345
  • Mirza Zulfan - 로고 디자인 - https://github.com/mirzazulfan

기부

  • GitHub Sponsors: https://github.com/sponsors/RootLUG
  • Liberapay: https://liberapay.com/SourceCode.AI
  • BuyMeACoffee: https://www.buymeacoffee.com/SourceCodeAI
  • BTC: 3FVTaLsLwTDinmDjPh3BjS1qv3bYHbkcYc
  • XMR: 46xvWZGCexo1NbvjLMMpLB1GhRd819AQr8eFPJT1q6kKMuuDy43JLiESh9XUM3asjk4SVUYqGakFVQZRY1adx8cS6ka4EXr
  • ETH/ERC20: 0x708F1A08E3ee4922f037673E720c405518C0Ec85

라이선스

Aura 프레임워크는 GPL-3.0 라이선스에 따라 제공됩니다. Aura를 사용한 전역 스캔에서 생성된 데이터셋은 CC BY-NC 4.0 라이선스에 따라 제공됩니다. 연구에서 Aura 또는 Aura로 생성된 데이터를 사용할 때는 다음 인용을 사용하십시오:

::

root@kitploit:~
@misc{Carnogursky2019thesis,
AUTHOR = "CARNOGURSKY, Martin",
TITLE = "Attacks on package managers [online]",
YEAR = "2019 [cit. 2020-11-02]",
TYPE = "Bachelor Thesis",
SCHOOL = "Masaryk University, Faculty of Informatics, Brno",
SUPERVISOR = "Vit Bukac",
URL = "Available at WWW <https://is.muni.cz/th/y41ft/>",
}

.. |homepage_flair| image:: https://img.shields.io/badge/Homepage-aura.sourcecode.ai-blue :target: https://aura.sourcecode.ai/ :align: middle

.. |docs_flair| image:: https://img.shields.io/badge/-Documentation-blue :target: https://docs.aura.sourcecode.ai/ :align: middle

.. |docker_flair| image:: https://img.shields.io/badge/docker-SourceCodeAI/aura-blue :target: https://hub.docker.com/r/sourcecodeai/aura :align: middle

.. |license_flair| image:: https://img.shields.io/github/license/SourceCode-AI/aura?color=blue

.. |travis_flair| image:: https://travis-ci.com/SourceCode-AI/aura.svg?branch=dev

.. |pypi_flair| image:: https://badge.fury.io/py/aura-security.svg :target: https://pypi.org/project/aura-security/ :align: middle

도구 다운로드