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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
route-detect — 웹 애플리케이션 라우트에서 인증(authn) 및 권한 부여(authz) 보안 버그를 찾습니다. | Kitploit
도구/GitHubGitHub/mschwager/route-detect
Static AnalysisVulnerability AnalysisWeb SecurityAuthentication
GitHubmschwager/route-detect

route-detect

웹 애플리케이션 라우트에서 인증(authn) 및 권한 부여(authz) 보안 버그를 찾습니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

route-detect

CI Python Versions PyPI Version

웹 애플리케이션 라우트에서 인증(authn) 및 인가(authz) 보안 버그를 찾습니다:

Routes demo

다음에서 라우트: koel 스트리밍 서버

웹 애플리케이션 HTTP 라우트 인증 및 인가 버그는 오늘날 발견되는 가장 일반적인 보안 문제 중 일부입니다. 다음 업계 표준 리소스는 이 문제의 심각성을 강조합니다:

  • 2021 OWASP Top 10 #1 - 깨진 접근 제어
  • 2021 OWASP Top 10 #7 - 식별 및 인증 오류
  • 2023 OWASP API Top 10 #1 - 깨진 객체 수준 인가
  • 2023 OWASP API Top 10 #2 - 깨진 인증
  • 2023 OWASP API Top 10 #5 - 깨진 기능 수준 인가
  • 2023 CWE Top 25 #11 - CWE-862: 누락된 인가
  • 2023 CWE Top 25 #13 - CWE-287: 부적절한 인증
  • 2023 CWE Top 25 #20 - CWE-306: 중요 기능에 대한 인증 누락
  • 2023 CWE Top 25 #24 - CWE-863: 잘못된 인가

지원되는 웹 프레임워크

설치

pip을 사용하여 route-detect를 설치합니다:

root@kitploit:~
$ python -m pip install --upgrade route-detect

다음 명령어로 route-detect가 올바르게 설치되었는지 확인할 수 있습니다:

root@kitploit:~
$ echo 'print(1 == 1)' | semgrep --config $(routes which test-route-detect) -
Scanning 1 file.

Findings:

  /tmp/stdin
     routes.rules.test-route-detect
        Found '1 == 1', your route-detect installation is working correctly

          1┆ print(1 == 1)


Ran 1 rule on 1 file: 1 finding.

사용

route-detect는 routes CLI 명령을 사용하며 다음 명령 트리를 제공합니다:

  • routes
    • which
    • viz

Semgrep

먼저, semgrep이 설치되어 있고 PATH에 포함되어 있는지 확인하세요.

[!IMPORTANT] route-detect가 코드 조각을 표시하기 위해 의존하는 Semgrep 기능이 클라우드 앱 뒤로 이동되었습니다. 자세한 내용은 #10762를 참조하세요. 그러나 이전 버전의 Semgrep에서는 여전히 이 동작을 지원합니다. route-detect를 사용할 때는 1.97.0 이전 버전의 Semgrep을 설치해야 합니다. 이는 다음 명령으로 수행할 수 있습니다: python -m pip install 'semgrep<1.97.0'.

which 하위 명령을 사용하여 semgrep를 올바른 웹 애플리케이션 규칙으로 지정하세요:

root@kitploit:~
$ semgrep --config $(routes which django) path/to/django/code

viz 하위 명령을 사용하여 브라우저에서 라우트 정보를 시각화하세요:

root@kitploit:~
$ semgrep --json --config $(routes which django) --output routes.json path/to/django/code
$ routes viz --browser routes.json

어떤 프레임워크를 찾아야 할지 확실하지 않은 경우, 특수 all ID를 사용하여 모든 것을 확인할 수 있습니다:

root@kitploit:~
$ semgrep --json --config $(routes which all) --output routes.json path/to/code

사용자 정의 인증 또는 인가 로직이 있는 경우, route-detect의 규칙을 복사할 수 있습니다:

root@kitploit:~
$ cp $(routes which django) my-django.yml

그런 다음 필요에 따라 규칙을 수정하고 위와 같이 실행할 수 있습니다:

root@kitploit:~
$ semgrep --json --config my-django.yml --output routes.json path/to/django/code
$ routes viz --browser routes.json

CodeQL

먼저, codeql이 설치되어 있고 PATH에 포함되어 있는지 확인하세요.

which 하위 명령을 사용하여 먼저 팩의 종속성을 설치한 다음 적절한 쿼리를 실행하세요:

root@kitploit:~
$ codeql pack install $(poetry run routes which -c rails)
root@kitploit:~
$ codeql database analyze \
    --output routes.sarif \
    --format sarif-latest \
    --sarif-add-file-contents \
    --no-group-results \
    -- \
    /path/to/codeql/db \
    $(routes which --codeql rails)

viz 하위 명령을 사용하여 브라우저에서 라우트 정보를 시각화하세요:

root@kitploit:~
$ routes viz --codeql --browser routes.sarif

기여하기

route-detect는 의존성 및 구성 관리를 위해 poetry를 사용합니다.

진행하기 전에 다음 명령으로 프로젝트 의존성을 설치하세요:

root@kitploit:~
$ poetry install --with dev

린팅

다음 명령으로 모든 프로젝트 파일을 린트하세요:

root@kitploit:~
$ poetry run pre-commit run --all-files

테스트

다음 명령으로 Python 테스트를 실행하세요:

root@kitploit:~
$ poetry run pytest --cov

다음 명령으로 Semgrep 규칙 테스트를 실행하세요:

root@kitploit:~
$ poetry run semgrep --test --config routes/rules/ tests/test_rules/

다음 명령으로 CodeQL 쿼리 테스트를 실행하세요:

root@kitploit:~
$ codeql test run routes/queries/rails/test/
도구 다운로드
언어프레임워크SemgrepCodeQL
PythonDjango✅❌
PythonDjango REST framework✅❌
PythonFlask✅❌
PythonSanic✅❌
PythonFastAPI✅❌
PHPLaravel✅❌
PHPSymfony✅❌
PHPCakePHP✅❌
RubyRails❌✅
RubyGrape✅❌
JavaJAX-RS✅❌
JavaSpring✅❌
GoGorilla✅❌
GoGin✅❌
GoChi✅❌
JavaScript/TypeScriptExpress✅❌
JavaScript/TypeScriptReact✅❌
JavaScript/TypeScriptAngular✅❌