Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Argus — GitHub Actions 워크플로우를 위한 단계적 정적 오염 분석 프레임워크입니다. 오염 추적 및 영향 분류기를 사용하여 코드 인젝션 취약점을 탐지하고, CI/CD 보안을 위해 SARIF 보고서를 출력합니다. | Kitploit
도구/GitHubGitHub/purs3lab/argus
Static AnalysisVulnerability AnalysisCode AnalysisDevSecOpsSupply Chain SecurityPapers & ResearchLearning & Education
GitHubpurs3lab/argus

Argus

GitHub Actions 워크플로우를 위한 단계적 정적 오염 분석 프레임워크입니다. 오염 추적 및 영향 분류기를 사용하여 코드 인젝션 취약점을 탐지하고, CI/CD 보안을 위해 SARIF 보고서를 출력합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Argus

이 저장소는 USENIX Security '23 논문 "ARGUS: A Framework for Staged Static Taint Analysis of GitHub Workflows and Actions"의 코드를 포함하고 있습니다. Argus는 GitHub Actions를 대상으로 특별히 설계된 포괄적인 보안 분석 도구입니다. CI/CD 워크플로우의 보안을 강화하기 위해 개발된 Argus는 오염 추적 기법과 영향 분류기를 사용하여 GitHub Action 워크플로우에서 잠재적인 취약점을 탐지합니다.

자세한 내용은 웹사이트 secureci.org를 방문하세요.

기능

  • 오염 추적 (Taint-Tracking): Argus는 고급 알고리즘을 사용하여 GitHub Actions 워크플로우 내에서 특정 소스에서 보안이 중요한 지점(sink)으로 잠재적으로 신뢰할 수 없는 데이터의 흐름을 추적합니다. 이를 통해 코드 주입 공격으로 이어질 수 있는 취약점을 식별할 수 있습니다.

  • 영향 분류기 (Impact Classifier): Argus는 식별된 취약점을 높음(High), 중간(Medium), 낮음(Low) 심각도로 분류하여 각 취약점의 잠재적 영향을 더 명확히 이해할 수 있도록 합니다. 이는 완화 노력의 우선순위를 정하는 데 중요합니다.

사용 방법

이 Python 스크립트는 GitHub 저장소 및 GitHub Actions와 상호작용하기 위한 명령줄 인터페이스를 제공합니다.

python argus.py --mode [mode] --url [url] [--output-folder path_to_output] [--config path_to_config] [--verbose] [--branch branch_name] [--commit commit_hash] [--tag tag_name] [--action-path path_to_action] [--workflow-path path_to_workflow]

매개변수:

  • --mode: 작동 모드입니다. 'repo' 또는 'action' 중에서 선택하세요. 이 매개변수는 필수입니다.
  • --url: GitHub URL입니다. 비공개 저장소의 경우 USERNAME:TOKEN@URL을 사용하세요. 이 매개변수는 필수입니다.
  • --output-folder: 출력 폴더입니다. 기본값은 '/tmp'입니다. 이 매개변수는 선택 사항입니다.
  • --config: 설정 파일입니다. 이 매개변수는 선택 사항입니다.
  • --verbose: 상세 모드입니다. 이 옵션을 지정하면 로깅 수준이 DEBUG로 설정됩니다. 그렇지 않으면 INFO로 설정됩니다. 이 매개변수는 선택 사항입니다.
  • --branch: 브랜치 이름입니다. --branch, --commit, --tag 중 정확히 하나를 제공해야 합니다. 이 매개변수는 선택 사항입니다.
  • --commit: 커밋 해시입니다. --branch, --commit, --tag 중 정확히 하나를 제공해야 합니다. 이 매개변수는 선택 사항입니다.
  • --tag: 태그입니다. --branch, --commit, --tag 중 정확히 하나를 제공해야 합니다. 이 매개변수는 선택 사항입니다.
  • --action-path: 작업(action)의 (상대) 경로입니다. repo 모드에서는 --action-path를 제공할 수 없습니다. 이 매개변수는 선택 사항입니다.
  • --workflow-path: 워크플로우의 (상대) 경로입니다. action 모드에서는 --workflow-path를 제공할 수 없습니다. 이 매개변수는 선택 사항입니다.

예시:

이 스크립트를 사용하여 GitHub 저장소와 상호작용하려면 다음과 같은 명령어를 실행할 수 있습니다.

python argus.py --mode repo --url https://github.com/username/repo.git --branch master

이 명령은 지정된 저장소의 master 브랜치에서 repo 모드로 스크립트를 실행합니다.

사용 방법

Argus는 Docker 컨테이너 내에서 실행할 수 있습니다. 방법은 다음과 같습니다:

  • Docker와 docker-compose 설치
    • apt-get -y install docker.io docker-compose
  • 이 저장소의 release 브랜치를 클론
    • git clone <>
  • Docker 컨테이너 빌드
    • docker-compose build
  • 이제 Argus를 실행할 수 있습니다. 예시 실행:
    • docker-compose run argus --mode {mode} --url {target repo의 url}
  • 결과는 results 폴더에서 확인할 수 있습니다.

SARIF 결과 보기

SARIF 결과는 온라인 뷰어 또는 Visual Studio Code (VSCode) 확장 프로그램을 통해 볼 수 있습니다.

  1. 온라인 뷰어: SARIF Web Viewer는 SARIF 파일을 시각화할 수 있는 온라인 도구입니다. SARIF 파일(argus_report.sarif)을 웹사이트에 직접 업로드하여 결과를 확인할 수 있습니다.

  2. VSCode 확장 프로그램: VSCode를 선호하는 경우 SARIF Viewer 확장 프로그램을 설치할 수 있습니다. 확장 프로그램을 설치한 후 VSCode에서 SARIF 파일(argus_report.sarif)을 열면 SARIF Explorer 창에 결과가 표시됩니다. 이 창은 결과를 상세하고 탐색하기 쉬운 보기로 제공합니다.

SARIF 파일은 코드베이스의 민감한 정보를 포함할 수 있으므로 주의해서 다루십시오.

문제 해결

실행을 위해 GitHub 인증이 필요한 문제가 있는 경우 GITHUB_CREDS 환경 변수에 username:TOKEN을 제공할 수 있습니다. 이는 GitHub에 대한 모든 요청에 사용됩니다. 이 정보를 저장하지 않으며 GitHub 계정에 어떤 것도 생성하지 않습니다. 저장소를 클론하는 데만 사용됩니다.

기여

Argus는 오픈 소스 프로젝트이며 커뮤니티의 기여를 환영합니다. 버그 신고, 기능 제안, 코드 작성 등 여러분의 기여는 항상 감사합니다!

Argus 인용

연구에서 Argus를 사용하신다면 다음 논문을 인용해 주세요:

  @inproceedings{muralee2023Argus,
    title={ARGUS: A Framework for Staged Static Taint Analysis of GitHub Workflows and Actions},
    author={S. Muralee, I. Koishybayev, A. Nahapetyan, G. Tystahl, B. Reaves, A. Bianchi, W. Enck, 
      A. Kapravelos, A. Machiry},
    booktitle={32st USENIX Security Symposium (USENIX Security 23)},
    year={2023},
  }

라이선스

Argus는 GPL 라이선스에 따라 제공됩니다.

도구 다운로드