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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
mariana-trench — Android 및 Java 애플리케이션을 위한 보안 중심의 정적 분석 도구입니다. | Kitploit
도구/GitHubGitHub/facebook/mariana-trench
Android SecurityStatic AnalysisVulnerability AnalysisCode AnalysisMobile Security
GitHubfacebook/mariana-trench

mariana-trench

Android 및 Java 애플리케이션을 위한 보안 중심의 정적 분석 도구입니다.

저장소 보기
1.2k1564시간 17분 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

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

Mariana Trench

로고

MIT License .github/workflows/tests.yml

Mariana Trench는 Android를 대상으로 하는 보안 중심 정적 분석 플랫폼입니다.

이 가이드는 여러분의 시스템에 Mariana Trench를 설정하고, 작은 샘플 앱에서 첫 번째 원격 코드 실행 취약점을 찾는 과정을 안내합니다. 이 지침은 웹사이트에서도 확인할 수 있습니다.

전제 조건

Mariana Trench는 최신 버전의 Python이 필요합니다. MacOS에서는 homebrew를 통해 최신 버전을 설치할 수 있습니다:

root@kitploit:~
$ brew install python3

Debian 계열 Linux(Ubuntu, Mint, Debian)에서는 apt-get을 사용할 수 있습니다:

root@kitploit:~
$ sudo apt-get install python3 python3-pip python3-venv

이 가이드는 Android SDK가 설치되어 있고, 환경 변수 $ANDROID_SDK가 SDK의 위치를 가리키고 있다고 가정합니다.

이 가이드의 나머지 부분에서는 가상 환경 안에서 작업한다고 가정합니다. 다음과 같이 설정할 수 있습니다:

root@kitploit:~
$ python3 -m venv ~/.venvs/mariana-trench
$ source ~/.venvs/mariana-trench/bin/activate
(mariana-trench)$

셸 프롬프트 앞에 가상 환경 이름이 표시되면 가상 환경이 활성화된 것입니다.

Mariana Trench 설치

가상 환경 안에서 Mariana Trench를 설치하는 것은 다음 명령을 실행하는 것만큼 간단합니다:

root@kitploit:~
(mariana-trench)$ pip install mariana-trench

참고: pip 설치는 Apple Silicon Mac에서는 현재 지원되지 않습니다. 개발자 가이드의 지침을 따라 소스에서 빌드할 수 있습니다.

Mariana Trench 실행

문서의 일부인 작은 앱을 사용하겠습니다. 다음을 실행하여 얻을 수 있습니다:

root@kitploit:~
(mariana-trench)$ git clone https://github.com/facebook/mariana-trench
(mariana-trench)$ cd mariana-trench/

이제 분석을 실행할 준비가 되었습니다:

root@kitploit:~
(mariana-trench)$ mariana-trench \
  --system-jar-configuration-path=configuration/default_system_jar_paths.json \
  --model-generator-configuration-paths=configuration/default_generator_config.json \
  --lifecycles-paths=configuration/lifecycles.json \
  --rules-paths=configuration/rules.json \
  --apk-path=documentation/sample-app/app/build/outputs/apk/debug/app-debug.apk \
  --source-root-directory=documentation/sample-app/app/src/main/java \
  --model-generator-search-paths=configuration/model-generators/

# ...
INFO 68937개의 모델을 7.47초 만에 분석했습니다. 9개의 이슈 발견!
# ...

분석 결과 샘플 앱에서 9개의 이슈가 발견되었습니다. 분석 결과는 애플리케이션의 각 메서드에 대한 명세(specifications) 집합입니다.

후처리

명세 자체는 사람이 읽기 위한 것이 아닙니다. 결과를 더 보기 좋게 만들기 위해서는 추가 처리 단계가 필요합니다. 이를 위해 우리를 위해 설치된 SAPP PyPi를 사용합니다:

root@kitploit:~
(mariana-trench)$ sapp --tool=mariana-trench analyze .
(mariana-trench)$ sapp --database-name=sapp.db server --source-directory=documentation/sample-app/app/src/main/java
# ...
2021-05-12 12:27:22,867 [INFO]  * Running on http://localhost:13337/ (Press CTRL+C to quit)

출력의 마지막 줄은 SAPP가 결과를 볼 수 있는 로컬 웹 서버를 시작했음을 알려줍니다. 링크를 열면 분석에서 발견된 4개의 이슈를 볼 수 있습니다.

결과 탐색

샘플 앱에서 발견된 원격 코드 실행 이슈에 집중해 보겠습니다. 이슈 코드 1(모든 원격 코드 실행)과 호출 가능한 void MainActivity.onCreate(Bundle)로 식별할 수 있습니다. 4개의 이슈만 있으면 수동으로 식별하기 쉽지만, 더 많은 규칙이 실행되면 페이지 오른쪽 상단의 필터 기능이 유용합니다.

단일 이슈 표시

이 이슈는 Mariana Trench가 MainActivity.onCreate에서 원격 코드 실행을 발견했으며, 데이터가 한 단계 떨어진 Activity.getIntent에서 비롯되어 ProcessBuilder의 생성자로 세 단계를 거쳐 흐른다는 것을 알려줍니다. 이슈의 오른쪽 상단에 있는 "Traces"를 클릭하면 예제 추적을 볼 수 있습니다.

Mariana Trench가 표면화한 추적은 세 부분으로 구성됩니다.

소스 추적은 데이터가 어디에서 오는지 나타냅니다. 예제에서는 추적이 매우 짧습니다: Activity.getIntent가 MainActivity.onCreate에서 직접 호출됩니다. 추적 소스

추적 루트는 소스 추적과 싱크 추적이 만나는 지점을 나타냅니다. 예제에서는 액티비티의 onCreate 메서드입니다. 추적 루트

추적의 마지막 부분은 싱크 추적입니다: 여기서 소스의 데이터가 싱크로 흘러 들어갑니다. 예제에서는 onCreate에서 onClick, execute를 거쳐 최종적으로 ProcessBuilder의 생성자로 흐릅니다. 추적 싱크

Mariana Trench 구성

"도구가 무엇이 사용자 제어 데이터이고 무엇이 싱크인지 어떻게 알까?"라고 궁금해할 수 있습니다. 이 가이드는 작은 앱에서 빠르게 시작할 수 있도록 돕기 위한 것입니다. Mariana Trench를 구성하는 방법은 다루지 않았습니다. 이에 대한 자세한 내용은 웹사이트의 구성에서 확인할 수 있습니다.

기여

소스에서 빌드하고 Mariana Trench를 개발하는 방법에 대한 심층 가이드는 웹사이트의 개발자 가이드를 참조하세요.

라이선스

Mariana Trench는 MIT 라이선스로 배포됩니다.

도구 다운로드