{
  "schema": "tesign-radar/item/1",
  "generated_at": "2026-09-17T01:56:13.055Z",
  "lang": "ko",
  "slug": "openhunterai",
  "url": "https://tesign.com/item/openhunterai/",
  "alternates": {
    "ko": {
      "html": "https://tesign.com/item/openhunterai/",
      "json": "https://tesign.com/item/openhunterai/index.json",
      "markdown": "https://tesign.com/item/openhunterai/index.md"
    },
    "en": {
      "html": "https://tesign.com/en/item/openhunterai/",
      "json": "https://tesign.com/en/item/openhunterai/index.json",
      "markdown": "https://tesign.com/en/item/openhunterai/index.md"
    }
  },
  "name": "OpenHunterAI",
  "use_label": "로컬 AI 보안 점검",
  "one_liner": "내가 소유하거나 테스트 허가를 받은 웹·API 서비스만을 대상으로, 공격자 시각의 보안 점검을 로컬 워크스페이스에서 돌리는 알파 단계 도구입니다.",
  "text": {
    "why": "OpenHunterAI는 범위(scope)·스캔 기록·발견 사항·개선 가이드를 계정 가입 없이 하나의 로컬 워크스페이스에 모읍니다. 도메인 소유를 확인하고 스캔 계획에 사람이 승인한 뒤에만 진행되며, 브라우저 조사·정찰·ZAP·Nuclei 어댑터로 신호를 모아 AI가 가설을 검증합니다. README가 스스로 밝히듯 아직 알파 단계라 \"깨끗한 워크스페이스나 빈 리포트가 대상이 안전하다는 증거는 아니\"며, 파괴적 동작은 하지 않고 민감한 검증에는 별도 승인이 필요합니다.",
    "take": "스스로 \"알파\"라 부르고 \"빈 리포트가 안전의 증거는 아니다\"라고 먼저 말해 두는 보안 도구는 드물어서, 그 정직함이 오히려 신뢰를 줍니다.",
    "build": [
      "내가 운영하는 웹앱·API에 대해, 배포 전 공격자 관점의 점검 목록을 로컬에서 돌려보기",
      "코딩 에이전트(Codex·Claude Code·Gemini CLI 등)에 스킬로 연결해, 승인 후에만 점검이 시작되게 워크플로 짜기",
      "점검 결과를 사람이 다시 검증하는 리테스트 절차의 참고 템플릿으로 쓰기"
    ],
    "who": [
      {
        "role": "자기 서비스의 보안을 정기적으로 점검하고 싶은 소규모 팀",
        "situation": null
      },
      {
        "role": "코딩 에이전트에게 승인 기반으로 보안 점검을 맡겨 보고 싶은 개발자",
        "situation": null
      },
      {
        "role": "인가된 대상에 한해 정찰 도구를 직접 다뤄 보고 싶은 사람",
        "situation": null
      }
    ],
    "start": [
      {
        "command": false,
        "text": "요구사항: Git·Node.js 22 이상·Docker(Compose v2)"
      },
      {
        "command": true,
        "text": "git clone https://github.com/LumosLab-Innovation/OpenHunterAI.git"
      },
      {
        "command": true,
        "text": "cd OpenHunterAI"
      },
      {
        "command": true,
        "text": "node ops/local.mjs start"
      },
      {
        "command": false,
        "text": "→ http://localhost:3001 접속 후 .env.local에 모델 키 설정 → 프로젝트 생성 → 도메인 인증 → 범위 승인 후 스캔 시작"
      },
      {
        "command": false,
        "text": "(스캔 전에 Nuclei 템플릿 정책 이슈를 문서에서 먼저 확인해야 합니다)"
      }
    ],
    "caveat": [
      "PolyForm Noncommercial 1.0.0 — 소스공개이며 상업적 이용은 별도 라이선스가 필요합니다",
      "알파 단계이며, README가 직접 \"빈 리포트가 안전을 보장하지 않는다\"고 밝힙니다",
      "\"로컬에서 돈다\"는 것이 localhost나 사내망을 스캔해도 된다는 뜻은 아니라고 명시되어 있고, Nuclei 어댑터는 아직 검수된 템플릿 묶음이 제공되지 않습니다"
    ]
  },
  "cta": {
    "type": "self_host",
    "label": "SELF-HOST",
    "url": "https://lumoslab-innovation.github.io/OpenHunterAI"
  },
  "ready": "self-host",
  "categories": [
    "security",
    "ai"
  ],
  "categories_confirmed": true,
  "tags": [
    "security-testing",
    "ai-red-team",
    "local-first",
    "authorized-testing",
    "alpha"
  ],
  "platform": [
    "web",
    "cli"
  ],
  "license": {
    "spdx": null,
    "scope": "unknown",
    "scope_text": "미확인 — 쓰기 전에 살펴보세요.",
    "url": "https://github.com/lumoslab-innovation/openhunterai?tab=License-1-ov-file",
    "note": null,
    "open_source": null
  },
  "language": "TypeScript",
  "source_urls": {
    "canonical": "https://lumoslab-innovation.github.io/OpenHunterAI",
    "github": "https://github.com/lumoslab-innovation/openhunterai",
    "huggingface": null,
    "app_store": null,
    "sightings": [
      {
        "source": "github",
        "url": "https://github.com/lumoslab-innovation/openhunterai",
        "posted_at": "2026-09-14T16:00:00.000Z",
        "hn_url": null
      }
    ]
  },
  "numbers": {
    "as_of": "2026-09-16T21:00:00.000Z",
    "stars": 165,
    "stars_unit": "GitHub stars",
    "stars_checked_at": "2026-09-15T03:29:44.092Z",
    "stars_observed_since_check": 2,
    "star_delta_24h": null,
    "star_delta_7d": 15,
    "star_delta_30d": 15,
    "star_delta_unit": "GitHub stars gained in the window, GH Archive events summed to as_of",
    "spark_14d": [
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      11,
      4,
      null
    ],
    "hf_likes": null,
    "hf_likes_observed_at": null,
    "hn_points": null,
    "hn_points_observed_at": null,
    "store": null,
    "method": "별 총합 = GitHub에서 마지막으로 확인한 값(stars_checked_at) + 그 뒤 GH Archive에서 관측한 증가. 24h·7d·30d 증가는 GH Archive 시간별 이벤트를 기준 시각(as_of)까지 합한 값. 우리 점수는 없습니다."
  },
  "ranks": null,
  "activity": {
    "pushed_at": "2026-09-14T13:22:00.000Z",
    "owner_type": null,
    "open_issues": null,
    "contributors": null,
    "releases_count": null,
    "latest_release": null,
    "checked_at": null,
    "core_checked_at": "2026-09-15T03:29:44.092Z"
  },
  "signals": [],
  "images": {
    "og": "https://tesign.com/img/openhunterai-0f4f939d83.png",
    "cover": "https://tesign.com/img/openhunterai-0f4f939d83.png",
    "cover_width": 2400,
    "cover_height": 1260,
    "gallery": [
      "https://tesign.com/img/openhunterai-0f4f939d83.png"
    ],
    "alt": "OpenHunterAI 홈페이지. \"AUTHORIZED EXTERNAL SECURITY TESTING\"라는 표시와 함께 범위 확인부터 보고까지 5단계 절차가 나열되어 있습니다.",
    "tier": 1
  },
  "dates": {
    "first_seen_at": "2026-09-14T23:20:49.688Z",
    "source_created_at": "2026-05-25T17:58:49.000Z",
    "discovery_hours": 2693.3668577777776,
    "launch_signal_at": "2026-09-14T16:00:00.000Z",
    "kept_at": "2026-09-17T01:24:00.715Z",
    "first_published_at": "2026-09-17T01:24:00.858Z",
    "updated_at": "2026-09-17T01:26:30.197Z",
    "ingestion_mode": "live"
  },
  "notes": [
    "이 파일은 tesign.com 항목 페이지와 같은 빌드에서 같은 데이터로 만들어졌습니다. 소개 글은 편집자가 쓴 것이고, 숫자는 저장된 관측값입니다.",
    "JSON의 null은 관측하지 않았다는 뜻입니다 — 0이 아닙니다. 마크다운에서는 [확인 필요]로 적습니다.",
    "별 총합 = GitHub에서 마지막으로 확인한 값(stars_checked_at) + 그 뒤 GH Archive에서 관측한 증가. 24h·7d·30d 증가는 GH Archive 시간별 이벤트를 기준 시각(as_of)까지 합한 값. 우리 점수는 없습니다.",
    "요약이며 법적 조언이 아닙니다."
  ]
}
