업데이트로 돌아가기
New releaseSep 1, 2026

puncia v0.36

Panthera(P.)uncia - Subdomain Center 및 Exploit Observer를 위한 공식 CLI 유틸리티.

공유

Panthera(P.)uncia

Subdomain Center & Exploit Observer 공식 CLI 유틸리티

Downloads GitHub stars

Puncia는 두 가지 A.R.P. Syndicate 인텔리전스 API를 위한 공식 커맨드라인 클라이언트입니다. 도메인, 브랜드 또는 취약점 ID를 지정하면 브라우저 없이 몇 초 만에 구조화된 JSON을 반환합니다:

  • 🕸️ Subdomain Center — 인터넷 규모의 서브도메인 열거, 서브도메인 탈취 탐지, 섀도우 IT 발견, 그리고 브랜드 사칭 / 유사 도메인(타이포스쿼팅) 탐지.
  • 💥 Exploit Observer — 150개 이상의 식별자 체계(CVE, GHSA, EDB, MSF, ZDI, 국가 지원 피드 등)에 걸친 익스플로잇 및 취약점 인텔리전스로, CVE/GHSA 보강(EPSS + VEDAS 성숙도 점수) 및 SBOM 스캔을 제공합니다.
$ puncia subdomain arpsyndicate.io
╭──────────────────────────────────────────────────────────────────────╮
│ Panthera(P.)uncia v0.38                                              │
│ subdomain recon · brand impersonation · exploit intel · sbom analysis│
│ A.R.P. Syndicate — https://www.arpsyndicate.io                       │
╰──────────────────────────────────────────────────────────────────────╯
[
  "advisories.arpsyndicate.io",
  "asm.arpsyndicate.io",
  "blog.arpsyndicate.io",
  ...
]

$ puncia sbom bom.json ./out
puncia ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% (128/128) 0:00:41

이 결과들은 때때로 상당히 부정확하고 신뢰할 수 없을 수 있으며, 자체 개선 기능으로 인해 시점에 따라 크게 달라질 수 있다는 점을 유의하시기 바랍니다.

API 키를 사용하면 공격적인 속도 제한을 피할 수 있습니다: https://www.arpsyndicate.io/pricing.html

실용적 활용 사례

  1. 브랜드 사칭 및 피싱 도메인 탐지
    귀하나 고객을 대상으로 악용되기 전에 귀하의 브랜드를 이용하는 복제, 유사, 타이포스쿼팅 도메인을 찾아냅니다.
  2. 섀도우 IT 및 외부 공격 표면 발견
    공식 채널 외부에서 생성된 노출된 서브도메인과 인프라를 식별하고 모니터링합니다.
  3. 서브도메인 탈취 정찰
    대상의 전체 서브도메인 범위를 열거하며, 이는 방치되거나 탈취되기 쉬운 레코드를 발견하는 핵심 첫 단계입니다.
  4. 고급 취약점 연구 및 모니터링
    잘 알려지지 않았거나 목록에 없는 취약점을 포함하여 알려진 위협과 신종 위협을 발견하고 추적합니다.
  5. CVE/GHSA 데이터의 맥락적 보강
    알려진 취약점에 깊이와 실행 가능한 인텔리전스(EPSS + VEDAS 성숙도 점수)를 추가하여 우선순위를 더 잘 정할 수 있습니다.
  6. 소프트웨어 자재 명세서(SBOM) 내 취약점 탐지
    구조화된 SBOM 데이터를 사용하여 소프트웨어 구성 요소의 알려진 익스플로잇 및 보안 문제를 분석합니다.
  7. CI/CD 및 위협 인텔리전스 워크플로와의 원활한 통합
    개발 또는 보안 파이프라인 내에서 인텔리전스 수집과 취약점 검사를 자동화합니다.
  8. 국가 지원 익스플로잇 동향 모니터링
    주류 데이터베이스에서는 아직 인식되지 않았지만 외국 행위자들이 표시한 취약점을 추적하여 위협보다 앞서 나갑니다.
  9. 키워드 기반 서브도메인 발견
    특정 상위 도메인과 무관하게 인터넷 전반에서 주어진 키워드를 포함하는 호스트를 찾아냅니다.
  10. 대량 위협 인텔리전스 처리
    대규모 데이터셋이나 기업 자산 인벤토리 전반에 걸친 확장 가능한 분석을 위해 배치 쿼리(도메인, 취약점 등)를 실행합니다.
  11. 레드팀을 위한 수동 정찰
    수동 데이터 소스를 사용하여(대상과 직접 상호작용 없이) 은밀한 정찰을 수행합니다.
  12. 오픈 소스 인텔리전스(OSINT) 수집
    서브도메인 및 익스플로잇 인텔리전스를 결합하여 OSINT 조사를 강화합니다.
  13. 규정 준수 및 위험 관리 지원
    더 깊은 맥락을 제공하여 규정 준수 감사(예: ISO 27001, SOC 2)를 지원하도록 취약점 데이터를 보강합니다.

설치

  1. PyPi에서 - pip3 install puncia
  2. 소스에서 - pip3 install .

30초 퀵스타트

pip3 install puncia

# subdomain footprint of a target (shadow IT / attack surface / takeover recon)
puncia subdomain example.com

# lookalike / typosquat / brand-impersonation domains
puncia replica example.com

# what's known about a CVE
puncia exploit CVE-2021-44228

사용법

puncia <mode> <query> [output] [--match M] [--domain D] [--limit N] [--offset N]
                               [--crawl] [--api-key K] [--concurrency N]
                               [--timeout S] [--retries N] [--quiet]

전체 참조는 puncia --help를 실행하세요. 결과는 stdout으로 출력되며, 배너, 진행 표시줄, 경고 및 오류는 모두 stderr로 전달되므로 puncia subdomain example.com > out.json은 항상 깔끔하고 유효한 JSON을 생성합니다.

종료 코드: 0 성공 · 1 요청 또는 입력 오류 · 2 사용법 오류.

  1. (유료) API 키 저장(storekey) - puncia storekey <api-key>

    • ~/.puncia0600 권한으로 저장됩니다. $PUNCIA_API_KEY가 이를 재정의하며, 이는 일반적으로 CI에서 원하는 방식입니다.
  2. (프리미엄) 도메인 쿼리, 도메인별 클러스터링(subdomain / cuttlefish 엔진) - puncia subdomain <domain> <output-file>

    • 페이지네이션(인증된 경우에만): 인증된 결과에는 총 상한이 없습니다. 기본적으로 subdomain/replica/keyword는 모든 페이지를 순회하며 이를 병합합니다. 재개 가능하거나 스트리밍 방식의 순회를 위해 직접 하나의 원시 페이지를 가져오려면 --offset을(--limit과 함께 또는 없이) 전달하세요:
      puncia subdomain bigco.com --limit 50000 --offset 0
      # stderr prints: note: more results available — continue with --offset 50000
      puncia subdomain bigco.com --limit 50000 --offset 50000
      
      익명 요청은 서버 측에서 --limit/--offset을 무시합니다(항상 최대 500개 행의 무작위 샘플). puncia는 마치 효과가 있는 것처럼 가장하지 않고 경고를 표시합니다.
    • 실시간 크롤(인증된 경우에만): --crawl은 저장된 결과에 실시간 발견 패스를 보충합니다. 주어진 도메인은 약 6시간에 한 번만 실제로 재크롤되며, 그 시간 내의 요청은 캐시된 크롤 결과를 즉시 받습니다. Puncia는 stderr에 결과를 보고합니다: crawl: fresh, 12 newly discovered name(s) (partial / cooldown / disabled도 있음).
      puncia subdomain bigco.com --crawl
      
  3. (프리미엄) 복제 도메인 쿼리, 브랜드별 클러스터링(replica / octopus 엔진) - puncia replica <domain> --match <prefix|exact|substring> <output-file>

  4. (프리미엄) 키워드로 쿼리, 키워드별 클러스터링(keyword / ammonites 엔진) - puncia keyword <keyword> --match <exact|prefix> <output-file>

    • 선택적으로 --domain으로 키워드를 단일 도메인으로 범위를 지정할 수 있습니다: puncia keyword blog --domain bandcamp.com
  5. 익스플로잇 및 취약점 식별자 쿼리(exploit)

    • (무료) 취약점 및 익스플로잇 식별자 감시 목록(^WATCHLIST_IDES) - puncia exploit ^WATCHLIST_IDES <output-file>
    • (무료) 설명이 포함된 취약점 및 익스플로잇 식별자 감시 목록(^WATCHLIST_INFO) - puncia exploit ^WATCHLIST_INFO <output-file>
    • (무료) 취약한 기술 감시 목록(^WATCHLIST_TECH) - puncia exploit ^WATCHLIST_TECH <output-file>
    • (무료) 취약점/익스플로잇 통계 집계(^STATS) - puncia exploit ^STATS <output-file>
    • (무료) 서비스 상태(^HEALTH) - puncia exploit ^HEALTH <output-file>
    • (프리미엄) 지원되는 취약점 식별자 - puncia exploit <eoidentifier> --match <substring|prefix|exact> <output-file>
  6. (프리미엄) CVE/GHSA 식별자 보강(enrich) - puncia enrich <cve-id/ghsa-id> <output-file>

    • enrich=trueCVE-/GHSA- 식별자에만 적용되며, 전체 업스트림 권고 레코드를 EPSS + VEDAS 점수와 병합합니다.
  7. (유료) VEDAS 그룹별 비CVE 식별자(noncve) - puncia noncve <browser/china/russia/europe/exploitable> <output-file>

  8. (무료) Subdomain Center 서비스 상태(^HEALTH) - puncia subdomain ^HEALTH <output-file>

  9. 다중 쿼리(bulk/sbom)

    • (프리미엄) 대량 입력 JSON 파일 형식 - puncia bulk <json-file> <output-directory>
      {
          "subdomain": [
              "domainA.com",
              "domainB.com"
          ],
          "replica": [
              "domainA.com",
              "domainB.com"
          ],
          "keyword": [
              "keywordA",
              "keywordB"
          ],
          "exploit": [
              "eoidentifierA",
              "eoidentifierB"
          ],
          "enrich": [
              "eoidentifierA",
              "eoidentifierB"
          ]
      }
      
    • (프리미엄) SBOM 입력 JSON 파일 형식 - puncia sbom <json-file> <output-directory>

    Bulk 및 SBOM 실행은 쿼리를 중복 제거하고, 병렬성을 --concurrency (기본값 10)로 제한하며, API 키가 없을 때는 무료 티어 예산 내에 머물도록 요청 속도를 자동으로 조절합니다.

  10. (프리미엄) 외부 임포트

import asyncio
import puncia

async def main():
   # Without an API key (ratelimited)
   print(await puncia.query_api("exploit", "CVE-2021-3450"))
   print(await puncia.query_api("subdomain", "arpsyndicate.io"))

   # With an API key
   await puncia.store_key("ARPS-xxxxxxxxxx")
   api_key = await puncia.read_key()
   print(await puncia.query_api("subdomain", "arpsyndicate.io", apikey=api_key))
   print(await puncia.query_api("replica", "arpsyndicate.io", match="exact", apikey=api_key))
   print(await puncia.query_api("enrich", "CVE-2021-3450", apikey=api_key))
   print(await puncia.query_api("noncve", "exploitable", apikey=api_key))

   # Static endpoints (unauthenticated, unlimited)
   print(await puncia.query_api("subdomain", "^HEALTH"))
   print(await puncia.query_api("exploit", "^STATS"))

   # Live crawl, with the outcome surfaced via a callback
   await puncia.query_api(
       "subdomain", "bigco.com", apikey=api_key, crawl=True,
       on_crawl=lambda h: print("crawl status:", h.get("X-Crawl-Status")),
   )

   # Write straight to disk
   await puncia.query_api("subdomain", "arpsyndicate.io", "out.json", apikey=api_key)

asyncio.run(main())

실패 시 puncia.PunciaError가 발생하며, 빈 결과({} / [])는 오류로 처리되지 않고 그대로 반환됩니다. process_bulk()가 하는 것과 정확히 동일하게 session=과 공유 limiter=를 전달하여 여러 쿼리에 걸쳐 하나의 세션을 재사용하세요.

from puncia import PunciaError, query_api

try:
    data = await query_api("exploit", "CVE-2021-3450", apikey=api_key)
except PunciaError as exc:
    print(f"lookup failed: {exc}")

개발

git clone https://github.com/ARPSyndicate/puncia && cd puncia
pip install --upgrade pip     # editable installs need pip >= 21.3
pip install -e ".[dev]"
pytest                        # 42 offline tests, no API calls or network access

테스트 스위트는 완전히 오프라인입니다. 네트워크에 접속하지 않고 URL 구성, 출력 경로 격리, SBOM 파싱, 대량 계획 및 속도 제한기 타이밍을 다루므로 어떤 환경에서도 안전하게 실행할 수 있습니다.

CVE 보강


GHSA 보강


주목할 만한 언급

카테고리