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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/knostic/openant
Vulnerability ScannersDynamic Analysis (Sandboxing)Static Code Analysis (SAST)Penetration TestingDevSecOpsSupply Chain SecurityAI Security
GitHubknostic/openant

OpenAnt

Knostic의 OpenAnt는 검증된 보안 결함을 사전에 찾아내고 오탐(false positive)과 미탐(false negative)을 모두 최소화하도록 방어자를 돕는 선도적인 오픈 소스 LLM 기반 취약점 발견 제품입니다. 1단계는 탐지합니다. 2단계는 공격합니다. 살아남는 것이 진짜입니다.

저장소 보기
718110294일 전Kitploit 검토 완료
웹사이트

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

OpenAnt

OpenAnt

Knostic의 OpenAnt는 최초의 오픈 소스 LLM 기반 취약점 발견 제품(현재는 하네스라고 부름)으로, 방어자가 오탐과 미탐을 모두 최소화하면서 검증된 보안 결함을 사전에 찾을 수 있도록 돕습니다. 1단계는 탐지합니다. 2단계는 공격합니다. 살아남는 것만이 진짜입니다.

이 프로젝트는 연구 프로젝트로 시작했으며, 새로운 기능을 개발할 때 종종 베타로 공개한다는 점을 유념해 주세요. 기여를 환영합니다.

논문

OpenAnt 구축에 관한 연구 논문은 arXiv에서 확인할 수 있습니다: OpenAnt: LLM-Powered Vulnerability Discovery Through Code Decomposition, Adversarial Verification, and Dynamic Testing, 저자 Nahum Korda 및 Gadi Evron.

왜 오픈 소스인가?

OpenAnt를 처음 공개했을 때 readme에서 제기된 관련 질문이었습니다. 그때도 이미 많은 다른 하네스가 공개되어 있었기 때문입니다. AI가 발견하는 취약점이 폭발적으로 늘어나는 상황에서 OpenAnt가 오픈 소스 메인테이너들이 직접 사용하여 공격자보다 앞서 나갈 수 있도록 돕기를 여전히 바랍니다. 또는 자신의 저장소를 무료로 스캔 요청할 수도 있습니다.

또한 Knostic의 초점은 취약점 연구나 애플리케이션 보안이 아니라 에이전트와 코딩 어시스턴트를 보호하는 데 있으며, 우리는 오픈 소스를 좋아하기 때문에 OpenAnt를 Apache 2 라이선스로 공개하기로 결정했습니다. 게다가 OpenAI의 Aardvark(현재 Codex Security)와 Anthropic의 Claude Code Security에 대해 들어보셨을 텐데, 우리는 그들과 경쟁할 의도가 전혀 없습니다.

기술적 세부 사항 및 오픈 소스 프로젝트를 위한 무료 스캔

기술적 세부 사항, 한계, 토큰 비용에 대해서는 이 블로그 글을 확인하세요: https://knostic.ai/blog/openant

저장소 스캔을 요청하려면: https://knostic.ai/blog/oss-scan

지원 언어

  • Go
  • Python
  • C/C++
  • JavaScript/TypeScript (베타)
  • PHP (베타)
  • Ruby (베타)
  • Zig (베타)
  • Swift (베타)
  • Rust (베타)

크레딧

메인테이너 및 연구: Gadi Evron

최초 연구, 아이디어 구상, 최초 프로토타입: Nahum Korda. 최초 제품화: Alex Raihelgaus, Daniel Geyshis.

감사 인사: Michal Kamensky, Imri Goldberg, Daniel Cuthbert. Josh Grossman, 그리고 Avi Douglen.

Knostic 살펴보기

우리 작업이 마음에 드신다면, Knostic에서 에이전트와 코딩 어시스턴트를 보호하고, 하드 드라이브와 코드를 삭제하지 못하도록 방지하며, MCP 서버, 확장 프로그램, 스킬과 같은 관련 공급망 위험을 제어하기 위해 우리가 하는 일을 확인해 보세요.

로컬 설정

CLI 바이너리 빌드 (Go 1.25+ 필요):

cd apps/openant-cli && make build

이 명령은 Go 소스를 컴파일하고 바이너리를 apps/openant-cli/bin/openant에 출력합니다.

PATH에 심볼릭 링크를 걸어 어디서든 openant를 실행할 수 있게 합니다:

ln -sf "$(pwd)/apps/openant-cli/bin/openant" /usr/local/bin/openant

참고: $(pwd)가 올바른 절대 경로로 해석되도록 저장소 루트에서 실행하세요.

LLM 설정

OpenAnt는 각 파이프라인 단계를 구성 가능한 (provider, model) 쌍을 통해 라우팅합니다. 가장 빠른 방법은 대화형 마법사입니다:

openant setup llm

구성 이름(예: my-llm)을 지정하고, 파이프라인 단계별로 provider를 선택하며(아래 제공되는 어댑터 중 아무거나), provider당 한 번 API 키를 입력하면(Bedrock은 대신 AWS 자격 증명 체인을 사용하므로 키를 비워 둠), 마법사가 ~/.config/openant/config.json을 작성하기 전에 각 고유한 provider+model 쌍을 1-토큰 요청으로 검사합니다. --llm-config로 해당 구성에 대해 스캔을 실행합니다:

openant scan /path/to/repo --llm-config my-llm

마법사의 기본값은 프로젝트의 단계별 권장 사항을 반영합니다(탐지/검증/도달 가능성 검토에는 더 강력한 추론 모델, 컨텍스트, 보고서, 테스트 생성에는 더 가벼운 모델) — 원하는 대로 모든 답변을 재정의할 수 있습니다.

제공되는 어댑터

Provider typeAPI key fromNotes
anthropicconsole.anthropic.com참조 어댑터. Claude Pro / Max 구독에 포함되지 않음 — 별도 청구.
openaiplatform.openai.comChatGPT / Codex 구독에 포함되지 않음 — 별도 청구.
googleaistudio.google.comGemini Advanced에 포함되지 않음 — 별도 청구.
bedrock— (AWS 자격 증명 체인)AWS Bedrock의 Claude. api_key 없음: 자격 증명은 AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY 환경 변수 또는 ~/.aws 프로필에서 가져오며, 리전은 AWS_REGION에서 가져옵니다. 모델 ID는 추론 프로필(us.anthropic.claude-sonnet-4-6, global.anthropic.claude-haiku-4-5-20251001-v1:0, ...)입니다 — Bedrock 콘솔의 "Model access"에서 활성화하고 aws bedrock list-inference-profiles로 나열하세요. openant setup llm에서 제공됩니다(API 키를 비워 두세요 — AWS 자격 증명 체인, 검사 건너뜀) — 전체 가이드: utilities/llm/providers/BEDROCK.md.
openrouteropenrouter.ai하나의 키와 하나의 선불 잔액으로 여러 provider에 접근하는 게이트웨이(OPENROUTER_API_KEY도 읽음). 모델 ID는 vendor/model 슬러그(anthropic/claude-sonnet-4.6, openai/gpt-4o-mini, ...)입니다 — openrouter.ai/models에서 살펴보세요. openant setup llm에서 제공됩니다(OpenRouter 기본값을 사용하려면 base URL을 비워 두세요) — 전체 가이드: utilities/llm/providers/OPENROUTER.md.
ollama— (로컬 서버)Ollama를 통한 로컬 모델. api_key 없음: 비워 두세요(자리 표시자가 자동으로 전송됨); base URL은 기본적으로 http://localhost:11434/v1입니다. 모델을 먼저 풀해야 하며(ollama pull <model>), 모델 ID는 ollama list에 표시되는 것과 정확히 같습니다. 로컬 추론은 무료입니다 — $0 비용 보고. openant setup llm에서 제공됩니다 — 전체 가이드: utilities/llm/providers/OLLAMA.md.

모두 도구 호출을 지원하므로, 에이전트 도구 사용 루프를 사용하는 enhance 및 verify 단계를 어느 것이든 구동할 수 있습니다. Ollama의 경우 해당 단계에 도구 지원 모델을 선택하세요 — 매우 작은 로컬 모델은 도구 호출을 안정적으로 처리하지 못할 수 있습니다.

Anthropic 전용 설정을 위한 빠른 경로

오늘날의 단계별 Claude 기본값만 원하고 다른 것은 필요 없다면 마법사를 건너뛰세요:

openant set-api-key sk-ant-...
openant scan /path/to/repo

이것은 내장된 openant-default 구성(바이너리에 컴파일되어 있으며 config.json 불필요)을 사용합니다 — 탐지 단계에는 Claude Opus 4.6, 나머지에는 Sonnet 4.

직접 작성한 구성

마법사가 ~/.config/openant/config.json을 대신 작성해 주지만, 직접 편집할 수도 있습니다. 모든 llm-config는 일곱 개의 파이프라인 단계를 모두 나열해야 합니다:

{
  "$schema_version": 2,
  "default_llm": "my-llm",
  "llm_providers": {
    "anthropic": {"type": "anthropic", "api_key": "sk-ant-..."},
    "openai":    {"type": "openai",    "api_key": "sk-proj-..."},
    "google":    {"type": "google",    "api_key": "AIza...", "request_timeout": 600}
  },
  "llm_configs": {
    "my-llm": {
      "app_context":  {"provider": "openai",    "model": "gpt-4o-mini"},
      "llm_reach":    {"provider": "anthropic", "model": "claude-opus-4-6"},
      "enhance":      {"provider": "openai",    "model": "gpt-4o-mini"},
      "analyze":      {"provider": "anthropic", "model": "claude-opus-4-6"},
      "verify":       {"provider": "anthropic", "model": "claude-opus-4-6"},
      "dynamic_test": {"provider": "google",    "model": "gemini-2.0-flash"},
      "report":       {"provider": "google",    "model": "gemini-2.0-flash"}
    }
  }
}

llm_providers[name].request_timeout(초, 양의 정수 또는 null)은 어댑터의 요청별 HTTP 타임아웃을 설정합니다 — google provider 유형에서 사용됩니다(SDK 기본값이 무제한인 유일한 유형); 다른 유형은 설정된 경우 시작 시 큰 소리로 경고합니다.

Provider는 OpenAI 호환 / Anthropic 호환 프록시(vLLM, Bedrock, 내부 게이트웨이)를 위한 사용자 정의 base_url을 허용합니다; OpenRouter는 자체적인 일급 openrouter provider 유형을 가지고 있습니다. openant-default 구성(모든 단계에 Claude)은 내장되어 있으며 파일 내용에 관계없이 항상 사용 가능합니다.

새 provider 어댑터 추가

OpenAnt의 어댑터 계층은 작은 Python 레시피입니다 — LLMAdapter Protocol을 구현하는 Python 파일 하나, 계약 테스트 하네스를 위한 팩토리 하나, 그리고 레지스트리 항목 하나 — 이것만으로 직접 작성한 구성에서 어댑터를 실행하기에 충분합니다. openant setup llm 마법사에서 제공되고 저장 전 검사를 통과하게 하려면 apps/openant-cli/cmd/setup.go에 몇 가지 Go 접점(지원 provider 목록, 검사 case, 단계별 기본 모델 맵)과 Go 검사 함수를 추가하세요. 어댑터가 연결되면 12개의 계약 테스트가 자동으로 실행됩니다. 전체 레시피는 docs/features/llm-providers/HOW_TO_ADD_AN_ADAPTER.md를 참조하세요.

Python 런타임

OpenAnt의 파싱, 강화, 분석, 보고 코드는 Python 3.11+입니다. Go CLI는 다음 순서로 인터프리터를 선택합니다:

  1. OPENANT_PYTHON 환경 변수(특정 인터프리터를 고정하려면 설정 — 예: OPENANT_PYTHON=python3.11).
  2. ~/.openant/venv/의 관리형 venv(최초 사용 시 자동 생성). CLI는 Linux/macOS에서 bin/python을, Windows에서 Scripts\python.exe를 사용합니다.
  3. PATH의 python3 / python.

어느 것도 Python 3.11+를 제공하지 않으면 명령은 python.org를 가리키는 오류와 함께 종료됩니다. 오래된 관리형 venv를 재빌드하려면(예: Python 업그레이드 후) ~/.openant/venv/를 삭제하고 아무 openant 명령이나 다시 실행하세요.

데이터 디렉터리

OpenAnt는 두 개의 디렉터리를 생성합니다:

도구 다운로드