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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
regextokens — 소스가 제공된 oauth / api 토큰용 정규식 패턴 목록 | Kitploit
도구/GitHubGitHub/odomojuli/regextokens
Defensive ToolsStatic AnalysisVulnerability ScannersCode AnalysisDevSecOpsSecret DetectionSupply Chain SecurityCurated Resources
GitHubodomojuli/regextokens

regextokens

소스가 제공된 oauth / api 토큰용 정규식 패턴 목록

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

regextokens

OAuth / API 토큰 및 시크릿을 위한 출처 기반, 테스트 완료, 오프라인 증명 스캐너입니다. 모든 패턴은 출처 기반(주요 제공자 문서)이며, 테스트 완료(양성 + 음성 샘플)이고, 증명 완료(RE2 호환, ReDoS 검사)입니다. 신뢰도 등급을 갖춘 CLI를 제공합니다. 신뢰할 수 있는 원본은 build_patterns.py의 DATA이며, patterns.json과 이 파일은 그것으로부터 생성됩니다.

109개 패턴 / 64개 제공자 / 생성일 2026-07-02

설치

pip install -e .          # console script + importable package

스캔

regextokens scan PATH...              # walk files/dirs, report findings
regextokens scan PATH -m verified     # only offline-proven findings
regextokens scan PATH -f sarif        # SARIF for GitHub code scanning
regextokens list                      # show the catalog

종료 상태: 0은 발견 사항 없음, 1은 요청된 등급 이상의 발견 사항 존재, 2는 오류입니다. CI에서 diff 또는 트리를 지정하여 병합을 게이트하세요. 기본적으로 출력에서 시크릿은 마스킹됩니다.

베이스라인 / 허용 목록

검토된 발견 사항(테스트 픽스처, 문서 예제)을 수용하여 CI가 새로운 시크릿에서만 실패하도록 합니다:

regextokens scan . --write-baseline .regextokens-baseline.json   # snapshot current findings
regextokens scan . --baseline .regextokens-baseline.json         # subtract them

베이스라인은 지문(패턴 id + 해시된 시크릿 본문의 sha256)을 저장하며, 시크릿 자체는 절대 저장하지 않으므로 커밋해도 안전합니다. 매칭은 줄에 독립적이므로 — 수용된 발견 항목 위를 편집해도 억제가 해제되지 않습니다 — 하지만 다른 파일에 있는 동일한 토큰은 새로운 노출이며 보고됩니다. 수동으로 편집한 allow 섹션은 정책을 담고 있습니다: fnmatch 경로 글롭과 패턴 id. --write-baseline은 이를 보존하고 적용합니다. 이 저장소는 build_patterns.py의 합성 샘플을 대상으로 하는 자체 베이스라인을 커밋하며, CI는 이에 대해 자체 스캔합니다.

Pre-commit hook 및 GitHub Action

# .pre-commit-config.yaml
repos:
  - repo: https://github.com/odomojuli/regextokens
    rev: v0.2.0
    hooks:
      - id: regextokens
# .github/workflows/secrets.yml
jobs:
  secrets:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: odomojuli/regextokens@main
        with:
          min-confidence: probable
          # baseline: .regextokens-baseline.json
      # optional: feed the SARIF to code scanning
      # - uses: github/codeql-action/upload-sarif@v3
      #   if: always()
      #   with: {sarif_file: regextokens.sarif}

둘 다 기본값은 -m probable입니다. low 등급에는 커밋 게이트를 사용할 수 없게 만드는 공개 식별자와 플레이스홀더가 포함됩니다.

신뢰도 등급

모든 발견 항목은 오프라인 증명으로 점수가 매겨집니다. 즉, 로컬 연산만 사용하며 네트워크도, 발급자에 대한 호출도 없습니다. 형태 일치는 "이것이 토큰처럼 보이는가?" 에 답하고, 이러한 검사는 "로컬에서 이것이 토큰인지 아닌지를 증명할 수 있는가?" 에 답합니다. -m/--min-confidence로 필터링하세요.

  • verified-offline — 체크섬 또는 디코더가 구조가 진본임을 증명합니다(GitHub/npm CRC32; 실제 폐기된 토큰에 대해 경험적으로 검증됨).
  • probable — 구조에 더해 실제 시크릿과 일치하는 Shannon 엔트로피 본문.
  • low — 형태 일치만 해당; 플레이스홀더나 공개 식별자일 수 있습니다.
  • rejected — 오프라인 증명이 이것이 증명 가능하게 실제 토큰이 아님을 나타냅니다(예: CRC32 불일치); 여러분에게 도달하기 전에 제거됩니다.

rejected 등급이 차별화 요소입니다. 유효한 접두사와 길이를 갖지만 체크섬이 잘못된 ghp_/npm_ 문자열은 확실하게 제거되어, 가장 가치가 높은 제공자들에 대한 가장 큰 오탐 클래스를 없앱니다. 오프라인 증명은 키가 활성 상태라고 주장하지 않습니다. 그것은 여전히 발급자의 API가 필요합니다.

개발

pip install pytest
pytest                     # validate every pattern + engine
python build_patterns.py   # regenerate patterns.json + README.md

카탈로그를 직접 사용하세요(엔진 없음):

import json, re
pats = json.load(open("patterns.json"))["patterns"]
rx = {p["id"]: re.compile(p["regex"]) for p in pats}
rx["github-pat-classic"].search(text)

파일

  • build_patterns.py — 진실의 원천(DATA) + 검증기; patterns.json과 README.md를 재생성합니다.
  • patterns.json — 생성된 카탈로그(기계 판독 가능). 절대 수동으로 편집하지 마십시오.
  • regextokens/ — 설치 가능한 패키지: catalog(로드), scanner(순회/매칭), verify(오프라인 증명), baseline(수용된 발견 항목 + 허용 목록), report(사람용/JSON/SARIF), cli. 동기화된 patterns.json 사본을 번들로 포함합니다.
  • .pre-commit-hooks.yaml / action.yml / .github/workflows/ — 배포: pre-commit 훅, 복합 GitHub Action, CI + 태그 트리거 PyPI 릴리스(신뢰할 수 있는 게시).
  • tests/ — test_patterns.py(모든 패턴: 컴파일, 매칭, RE2, ReDoS) 및 test_engine.py(스캐너, 검증, 보고서, CLI, 카탈로그 동기화).
  • sniffer-audit.md — 다른 시크릿 스캐너 감사(검증, 노후화).
  • references.bib / references.md — 시크릿 탐지 문헌의 참고 문헌 목록.

규칙

  • 방언: RE2 호환(gitleaks/Go) 및 Python re. 룩비하인드 또는 역참조 없음.
  • 패턴은 re.search(내장 텍스트 스캔)용으로 작성됩니다. 검증기로 사용하려면 ^/$로 감싸십시오.
  • \b 단어 경계가 대부분의 토큰을 감쌉니다. base64 블롭 내부를 스캔하는 경우 제거하십시오.
  • 항목별 전략 태그: prefix = 단독으로 신뢰 가능; structure = 고정된 형태; keyword = 근처 키워드에 대한 게이트; identifier = 공개, 비밀 아님; encoding = 형식 검사, 비밀 아님.
  • 형태 매칭은 필요 조건이지 충분 조건이 아닙니다. 많은 발급자가 체크섬을 내장합니다; 조치하기 전에 검증하십시오.[^verify]
  • patterns.json의 예시 토큰은 합성 채움재이며 실제 자격 증명이 아닙니다.

참고 문헌

  • sniffer-audit.md — 주요 스캐너가 패턴을 구축하고 검증하는 방법, 벤치마크 데이터 포함.
  • references.bib / references.md — 시크릿 탐지 문헌의 참고 문헌 목록.
  • 패턴 계보는 Meli et al., How Bad Can It Git? (NDSS 2019)로 거슬러 올라갑니다.[^ndss]

색인

  • 일반 / 암호화: Generic, age
  • 클라우드: Amazon MWS, Amazon Web Services, Cloudflare, DigitalOcean, Fly.io, Google, HashiCorp Terraform, HashiCorp Vault, Heroku, Microsoft Azure, Netlify, Okta, Pulumi, Tailscale, Vercel
  • 소스 / CI: CircleCI, Docker, GitHub, GitLab, PyPI, RubyGems, npm
  • AI: Anthropic, Cohere, DeepSeek, Fireworks AI, Groq, Hugging Face, Mistral AI, OpenAI, OpenRouter, Perplexity, Replicate, xAI
  • 결제: PayPal / Braintree, Picatic, Shopify, Square, Stripe
  • 통신: Discord, Mailchimp, Mailgun, SendGrid, Slack, Telegram, Twilio
  • 소셜: Facebook, Foursquare, Instagram, Twitter / X
  • 생산성: Airtable, Atlassian, Databricks, Datadog, Doppler, Dropbox, Grafana, Linear, Notion, Postman, Sentry, WakaTime

일반 / 암호화

Generic

Base64 문자열 [encoding]

^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$

형식 검증기이며, 시크릿이 아니다. 패딩이 포함된 표준 Base64 알파벳. 앵커됨.

src: https://datatracker.ietf.org/doc/html/rfc4648#section-4

JSON Web Token (JWT) [structure]

\bey[A-Za-z0-9_-]{10,}\.ey[A-Za-z0-9/_-]{10,}\.[A-Za-z0-9/_-]{10,}

세 개의 base64url 세그먼트. 헤더는 ey로 시작한다(즉, {"). 디코딩하여 검사하라. 서명만으로는 비밀이 아니다.

src: https://datatracker.ietf.org/doc/html/rfc7519

PEM 개인 키 블록 [prefix]

-----BEGIN (?:RSA |EC |DSA |OPENSSH |PGP |ENCRYPTED )?PRIVATE KEY-----

가장 가치 있는 단일 지표. 모든 PEM 인코딩된 개인 키의 헤더 줄과 일치합니다.

src: https://datatracker.ietf.org/doc/html/rfc7468

age

age X25519 비밀 키 [structure]

\bAGE-SECRET-KEY-1[QPZRY9X8GF2TVDW0S3JN54KHCE6MUA7L]{58}\b

Bech32(HRP 'AGE-SECRET-KEY-' 사용); 32바이트 키는 '1' 구분자 뒤에 58자로 인코딩됩니다(대문자). 수신자(age1...)는 공개 정보이며 비밀이 아닙니다. 포스트 양자 변형은 HRP AGE-SECRET-KEY-PQ-를 사용합니다.

src: https://github.com/C2SP/C2SP/blob/main/age.md

클라우드

Amazon MWS

인증 토큰 (DEPRECATED API) [structure]

\bamzn\.mws\.[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b

amzn.mws.. MWS는 SP-API(Login with Amazon 토큰, 접두사 Atza|/Atzr|)로 대체되어 폐기되었습니다. 원래 목록 항목은 형식이 잘못되어 있었습니다.

src: https://developer-docs.amazon.com/sp-api/docs/migrating-from-amazon-mws

Amazon Web Services

액세스 키 ID [prefix]

\b(?:A3T[A-Z0-9]|AKIA|ASIA|ABIA|ACCA)[A-Z2-7]{16}\b

20자. AKIA = 장기 IAM 키. ASIA = 임시 STS/세션 키. 본문은 base32(A-Z, 2-7)입니다.

src: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html src: https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html

비밀 액세스 키 (키워드 게이트) [keyword]

(?i)aws[\w.\-= :'\"]{0,25}([A-Za-z0-9/+]{40})

40자 base64 본문은 고정된 접두사가 없고 엔트로피가 낮습니다. 'aws' 키워드로 게이트하지 않으면 거의 모든 40자 토큰과 일치합니다.

src: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html

Cloudflare

API 토큰 (키워드 게이트) [keyword]

(?i)cloudflare[\w.\-= :'\"]{0,25}([A-Za-z0-9_-]{40})

40자 토큰, 고정 접두사 없음; 'cloudflare' 키워드로 게이트하거나 40자 문자열과 일치합니다.

src: https://developers.cloudflare.com/fundamentals/api/get-started/create-token/

전역 API 키 (레거시, 키워드 게이트) [keyword]

(?i)cloudflare[\w.\-= :'\"]{0,25}([a-f0-9]{37})

레거시 37-hex 전역 키; 키워드로 제한됨. 범위 지정 API 토큰을 권장합니다.

src: https://developers.cloudflare.com/fundamentals/api/get-started/keys/

Origin CA 키 [prefix]

\bv1\.0-[0-9a-f]{24}-[0-9a-f]{146}\b

고유한 v1.0- 접두사; 정규식으로 안정적으로 식별 가능.

src: https://developers.cloudflare.com/ssl/origin-configuration/origin-ca/

DigitalOcean

개인 액세스 토큰 [prefix]

\bdop_v1_[0-9a-f]{64}\b

OAuth 토큰 dor_v1_ / 리프레시 dor_v1_은 동일한 형태를 공유합니다.

src: https://docs.digitalocean.com/reference/api/create-personal-access-token/

도구 다운로드