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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
iocx — PE 바이너리와 텍스트에서 고신호 IOC를 추출하는 확장 가능하고 결정론적인 정적 분석 엔진으로, SOC 자동화 및 현대 위협 분석 파이프라인을 위해 구축되었습니다. | Kitploit
도구/GitHubGitHub/iocx-dev/iocx
Indicator of Compromise (IOC) ManagementStatic AnalysisVulnerability AnalysisForensicsMalware AnalysisDevSecOpsBinary AnalysisThreat IntelligenceIncident Response
GitHubiocx-dev/iocx

iocx

PE 바이너리와 텍스트에서 고신호 IOC를 추출하는 확장 가능하고 결정론적인 정적 분석 엔진으로, SOC 자동화 및 현대 위협 분석 파이프라인을 위해 구축되었습니다.

2861414시간 22분 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기웹사이트

IOCX

현대 보안 파이프라인을 위한 결정적(Deterministic), 무위험 IOC 추출

IOCX Demo

IOCX CLI를 사용한 PE 파일의 정적 IOC 추출

공식 IOCX 프로젝트

이 프로젝트는 결정적 정적 IOC 추출 및 PE 분석을 위한 원본 IOCX 엔진입니다. "iocx"라는 이름을 사용하는 다른 모든 저장소는 이 프로젝트와 관련이 없습니다.

공식 링크:

  • PyPI: https://pypi.org/project/iocx/
  • Github: https://github.com/iocx-dev/iocx
  • 웹사이트: https://iocx.dev/

IOCX가 중요한 이유

현대 악성코드는 기본적으로 적대적(adversarial) 입니다 — 변형되고, 회피적이며, 단순한 추출기를 무너뜨리도록 설계되었습니다.

  • 바이너리를 인식하지 못하는 도구는 변형된 PE에서 붕괴됩니다
  • 샌드박스는 안전하지 않으며 CI/CD에서 사용할 수 없습니다
  • 재현성은 자동화된 파이프라인에 필수적입니다

IOCX는 정확성과 결정성이 실제로 중요한 환경을 위해 구축되었습니다.


IOCX 엔진

IOCX는 공식 정적 IOC 추출 엔진입니다 — DFIR, SOC 자동화, CI/CD 보안, 대규모 위협 인텔리전스 파이프라인을 위해 구축된 결정적이고 바이너리를 인식하는 시스템입니다.

정규식 전용 추출기나 샌드박스 의존 도구와 달리 IOCX는 다음을 수행합니다:

  • 순수 정적 분석
  • 실행 위험 제로
  • 안정적이고 결정적인 출력
  • 적대적 테스트를 거친 휴리스틱

확장 가능한 현대 위협 분석을 위한 MalX Labs 생태계의 핵심 구성 요소입니다.


10초 만에 IOCX 사용해보기

root@kitploit:~
echo "http://malicious.example" | iocx -

또는 PE 파일을 안전하게 스캔:

root@kitploit:~
iocx suspicious.exe -a deep

IOCX가 존재하는 이유

보안 팀은 세 가지 지속적인 문제에 직면합니다:

  1. 정규식 추출기는 적대적 입력에서 붕괴됩니다
  2. 샌드박싱은 안전하지 않고 느리며 자동화에 부적합합니다
  3. 대부분의 IOC 도구는 일관성이 없거나 느리거나 실행 간에 미묘하게 다른 출력을 생성합니다

IOCX는 자동화, 안전성, 확장성을 위해 설계된 결정적이고 정적 전용 엔진으로 이 문제를 해결합니다.


IOCX가 아닌 것

IOCX는 의도적으로 다음이 아닙니다:

  • 샌드박스
  • 행동 분석 도구
  • 에뮬레이터
  • 강화(enrichment) 엔진

신뢰할 수 없는 코드를 절대 실행하지 않습니다. 동적 분석을 절대 수행하지 않습니다. 안전성, 결정성, CI/CD 호환성을 위해 설계상 정적 전용입니다.


설계 철학

IOCX는 레거시 도구의 가정이 아닌 현대 악성코드의 현실을 위해 설계되었습니다.

1. 모호성보다 결정성

안정적이고 재현 가능한 출력 — 무작위성 없음, 변동성 없음.

2. 동적보다 정적

실행은 안전하지 않습니다. 정적 분석은 예측 가능하고 확장 가능하며 CI 친화적입니다.

3. 적대적 우선 엔지니어링

변형된 PE, 손상된 RVA, 적대적 문자열 — IOCX는 이를 정상 입력으로 취급합니다.

4. 계약으로서의 스키마 안정성

다운스트림 시스템은 업그레이드 시 절대 중단되지 않아야 합니다.

5. 타협 없는 성능

원시 텍스트에서 150–300 MB/s. 일반적인 PE에서 6–15 MB/s. 최악의 적대적 부하에서도 예측 가능.


이러한 약속은 PE 구조 분석에 대한 발표된 연구 방법론 — 결정적 픽스처 구성, 단일 이상 징후 규율, 정확성의 기준으로서의 Windows 로더 동작 — 에서 파생되었습니다. 전체 방법론은 docs/methodology.md를 참조하고, 더 넓은 적대적 PE 분류 체계와 상업용 픽스처 제품군은 paax.dev를 참조하십시오.

IOCX의 차별점

요약: IOCX는 이상적인 입력이 아닌 실제 적대적 현실을 위해 구축되었습니다.


사용 사례

CI/CD 및 DevSecOps

  • 릴리스 전 바이너리 스캔
  • 빌드 내 우발적 URL, IP 또는 비밀번호 감지
  • 실행 위험 제로로 보안 게이트 적용

SOC 및 침해 대응

  • 알림 또는 분석가 클립보드 텍스트에서 지표 추출
  • 실행 없이 악성코드 샘플 안전하게 검사
  • IOC를 구조화된 JSON으로 정규화

위협 인텔리전스

  • 대규모 피드 처리
  • 비구조화된 보고서 파싱
  • 결정적 출력 기반 강화 파이프라인 구축

자동화 및 스크립팅

  • 로그 또는 아티팩트를 IOCX에 파이프
  • ETL 또는 배치 워크플로우에 Python API 사용
  • 사용자 정의 감지기로 확장

성능 프로필

1. 원시 IOC 추출 (텍스트, 로그, 버퍼)

150–300 MB/s 지속 처리량 빠른 경로 — PE 파싱 없음.

감지기1 MB 시간

2. 일반적인 PE 파일 (~39 KB)

  • 0.0122 s (일반)
  • 0.0145 s (휴리스틱 포함)
  • 6–15 MB/s 처리량

3. 적대적 고밀도 PE (1.5 MB)

  • 0.192 s
  • ~7.6 MB/s 처리량
  • TLS 이상 징후, 구조적 이상 징후, 안티디버그 패턴 트리거

4. 전체 엔진 (비-PE)

  • 1 MB: 0.038 s

버전 주요 사항

버전 기록 보기

v0.7.6.2 — Import 테이블 검증기

  • 새로운 결정적 import 테이블 구조 검증기 (IMPORT_* 사유 코드).
  • version_info가 이제 제한된 공개 프로젝션을 통해 모든 분석 수준에서 파싱되어 표시됩니다 (-a full뿐만 아니라).
  • CLI 재구축: 브랜드화된 --version 출력, 더 명확한 --help 텍스트, 인수 그룹 재구성.
  • 모든 항목에서 도달 가능한 리로케이션 파서 충돌, PE32+ 데이터 디렉토리 오프셋 버그, 여러 가지 조용한 export/resource 오류 누락 수정.
  • 파서 오류 태그가 검증기에 의해 조용히 소비되지 않도록 방지하는 새로운 정적 CI 검사.
  • 테스트 스위트: 2,136 → 2,802 테스트.

v0.7.6.1 — 예외 디렉토리 검증기

  • PE 예외 (.pdata) 디렉토리의 심층 의미론적 검증 추가; 14개의 새로운 사유 코드; 총 15개의 검증기.
  • 엔진 전반에 걸쳐 구조적 발견 사항을 억제하던 결함 수정.
  • 프로덕션에서 죽은 것으로 확인된 추가 검사 4개: 디렉토리 배치 2개, 섹션 매핑 1개, 리소스 디렉토리 경계 검사 1개.
  • 출력에 표시됨: 이전에 억제되거나 잘못 레이블링된 발견 사항이 이제 표시됩니다.
  • 테스트: 1620 → 2136. 커버리지: 100%.


빠른 시작

설치

root@kitploit:~
pip install iocx

파일에서 IOC 추출

root@kitploit:~
iocx suspicious.exe

텍스트에서 추출

root@kitploit:~
echo "Visit http://bad.example.com" | iocx -

PE 분석 활성화

root@kitploit:~
iocx suspicious.exe -a

Python API

root@kitploit:~
from iocx.engine import Engine

engine = Engine()
results = engine.extract("suspicious.exe")
print(results)

출력 예시

IOCX는 IOC, PE 메타데이터, 섹션 분석, 휴리스틱 및 난독화 지표를 포함하는 구조화되고 결정적인 JSON을 생성합니다.

아래 예시는 실제 적대적 PE 샘플의 축약된 출력입니다. 문서화 목적으로 크기를 관리 가능하게 유지하면서 스키마의 형태와 깊이를 보여줍니다.

예시 JSON 출력 보기
root@kitploit:~
{
    "file": "heuristic_rich.full.exe",
    "type": "PE",
    "iocs": {
        "urls": ["http://not-a-real-domain.test/payload"],
        "domains": ["example-malware.com"],
        "ips": ["192.0.2.123"],
        "hashes": [
            "abcd1234ef567890abcd1234ef567890",
            "1234567890",
            "3333333333333333"
        ],
        "filepaths": [
            "/usr/src/mingw-w64-11.0.1-3build1/mingw-w64-crt/crt/crtexe.c",
            "/usr/x86_64-w64-mingw32/include",
            "/usr/src/mingw-w64-11.0.1-3build1/mingw-w64-crt/crt/pseudo-reloc.c"
        ]
    },
    "metadata": {
        "file_type": "PE",
        "imports": ["KERNEL32.dll", "msvcrt.dll", "USER32.dll"],
        "sections": [
            ".text", ".data", ".rwx", ".rdata",
            "UPX0", ".pdata", ".xdata", ".tls"
        ],
        "resources": [],
        "resource_strings": [],
        "delayed_imports": [],
        "bound_imports": [],
        "exports": [],
        "signatures": [],
        "has_signature": false,
        "tls": {
            "start_address": 5368758272,
            "end_address": 5368758280,
            "callbacks": 5368754232
        },
        "header": {
            "entry_point": 5088,
            "image_base": 5368709120,
            "machine": "AMD64",
            "subsystem": "Windows GUI"
        },
        "optional_header": {
            "section_alignment": 4096,
            "file_alignment": 512,
            "size_of_image": 155648
        }
    },
    "analysis": {
        "sections": [
            { "name": ".text", "entropy": 5.92 },
            { "name": ".rwx", "entropy": 0 },
            { "name": "UPX0", "entropy": 0.34 },
            { "name": ".rdata", "entropy": 4.03 }
        ],
        "obfuscation": [
            {
                "value": "abnormal_section_layout_virtual_only",
                "category": "obfuscation_hint",
                "metadata": {
                    "section": ".bss",
                    "raw_size": 0,
                    "virtual_size": 384
                }
            }
        ],
        "extended": [
            {
                "value": "summary",
                "category": "pe_metadata",
                "metadata": {
                    "dll_count": 3,
                    "import_count": 45,
                    "resource_count": 0,
                    "has_tls": true,
                    "has_signature": false
                }
            }
        ],
        "heuristics": [
            {
                "value": "packer_suspected",
                "metadata": {
                    "reason": "packer_section_name",
                    "section": "UPX0"
                }
            },
            {
                "value": "anti_debug_heuristic",
                "metadata": {
                    "reason": "anti_debug_api_import",
                    "dll": "kernel32.dll",
                    "function": "CheckRemoteDebuggerPresent"
                }
            },
            {
                "value": "anti_debug_heuristic",
                "metadata": {
                    "reason": "timing_api_import",
                    "dll": "kernel32.dll",
                    "function": "GetTickCount"
                }
            },
            {
                "value": "pe_structure_anomaly",
                "metadata": {
                    "reason": "section_overlaps_headers",
                    "section": ".bss",
                    "raw_address": 0,
                    "size_of_headers": 1536
                }
            },
            {
                "value": "pe_structure_anomaly",
                "metadata": {
                    "reason": "data_directory_overlap",
                    "directory_a": "IMAGE_DIRECTORY_ENTRY_IMPORT",
                    "directory_b": "IMAGE_DIRECTORY_ENTRY_IAT"
                }
            }
        ]
    }
}

아키텍처

root@kitploit:~
iocx/
├── examples/
├── docs/
├── tests/
└── iocx
    ├── detectors/
    ├── parsers/
    ├── plugins/
    ├── cli/
    └── analysis/

플러그인 생태계 및 확장성

IOCX는 안전하고 예측 가능하게 확장되도록 설계되었습니다. 플러그인은 일급 시민이며, 코어 엔진과 동일한 결정적 스냅샷 테스트로 검증됩니다.

다음을 구축할 수 있습니다:

  • 사용자 정의 IOC 감지기
  • 사용자 정의 정규식 규칙
  • 바이너리 인식 플러그인
  • 내부 휴리스틱
  • 파이프라인별 추출기

참조:

  • docs/specs/overlap-suppression.md
  • docs/specs/plugin-authoring-guidelines.md

생태계 개요

IOCX는 단일 바이너리 그 이상입니다 — 모듈식 생태계입니다:

  • 코어 엔진 — 결정적 IOC 추출 + PE 분석
  • 플러그인 시스템 — 사용자 정의 감지기 및 분석 모듈
  • 적대적 코퍼스 — 변형된 PE, 적대적 문자열, 퍼즈 샘플
  • 스냅샷 테스트 프레임워크 — 결정적 출력 보장
  • 성능 벤치마크 — CI에서 강제됨
  • 문서 스위트 — 사양, 계약 및 플러그인 가이드

IOCX 사용자

IOCX는 다음 분야에서 사용됩니다:

  • DFIR 팀
  • SOC 자동화 파이프라인
  • CI/CD 보안 게이트
  • 위협 인텔리전스 플랫폼
  • 악성코드 연구소
  • 보안 엔지니어링 팀

지표를 안전하게, 결정적으로, 대규모로 추출해야 하는 모든 곳에서 IOCX가 적합합니다.


안전한 테스트 (악성코드 불필요)

모든 테스트 샘플은:

  • 합성
  • 무해
  • 공개적으로 안전 (EICAR, GTUBE)
  • 우발적 악성코드 취급을 피하도록 설계됨

성능 보장

IOCX는 CI에서 엄격한 성능 임계값을 적용하여 다음을 보장합니다:

  • 정규식 역추적 중단 없음
  • 병리적 속도 저하 없음
  • 릴리스 전반에 걸친 안정적인 성능

참조:

  • docs/performance.md

프로젝트 정체성 및 명명

IOCX라는 이름은 다음에 게시된 공식 엔진만을 지칭합니다:

  • PyPI: https://pypi.org/project/iocx/
  • GitHub: https://github.com/iocx-dev/iocx

허용되지 않음

  • iocx라는 이름의 저장소
  • 이 프로젝트의 일부가 아닌 "iocx"라는 도구
  • 허가 없이 제휴를 암시하는 행위

허용됨

  • iocx-<plugin>
  • iocx-extension-<name>
  • iocx-detector-<feature>

공식 IOCX 저장소

  • 코어 엔진: https://github.com/iocx-dev/iocx
  • 플러그인 메타 저장소: https://github.com/iocx-dev/iocx-plugins
  • 문서: https://github.com/iocx-dev/iocx/tree/main/docs/specs
  • PyPI 패키지: https://pypi.org/project/iocx/

로드맵

IOCX 개발은 안정성, 확장성 및 더 깊은 정적 분석 범위에 중점을 둡니다. 아래 항목은 진행 중인 작업 및 탐구 영역을 나타냅니다.

  • 확장된 PE 휴리스틱 (delay-load 동작, 구조적 이상 징후, 리로케이션 패턴)
  • OSINT, DFIR 및 위협 인텔리전스 워크플로우를 위한 선택적 억제 규칙
  • ELF 및 Mach-O 메타데이터 추출
  • 다중 아티팩트 워크플로우를 위한 배치 분석 모드
  • YARA 스타일 출력 모드 및 강화 훅
  • 바이너리 무관 정적 분석
  • 크로스 플랫폼 플러그인 생태계
  • Rust, Go 및 Node.js용 언어 바인딩

기여

다음을 환영합니다:

  • 새로운 감지기
  • 파서 개선
  • 문서 업데이트
  • 합성 적대적 샘플

지침은 CONTRIBUTING.md를 참조하십시오.


보안

보안 문제를 발견한 경우 GitHub 이슈를 열지 마십시오. SECURITY.md의 지침을 따르십시오.


라이선스

MPL‑2.0 라이선스 — LICENSE 참조.

도구 다운로드
기능IOCX일반적인 IOC 추출기샌드박스 / 동적 도구
안전성무실행, 정적 전용정규식 전용, 바이너리 안전성 없음신뢰할 수 없는 코드 실행 (고위험)
결정성완전히 결정적인 출력노이즈에서 비결정적설계상 비결정적
바이너리 인식전체 PE 파싱, 휴리스틱바이너리 지원 없음가능하지만 안전하지 않고 느림
적대적 복원력변형된 PE, 적대적 문자열에 대해 테스트됨쉽게 우회됨종종 충돌하거나 오분류
성능150–300 MB/s (텍스트), 6–15 MB/s (PE)매우 가변적극도로 느림
CI/CD 친화성예 — 안전, 결정적, 빠름부분적아니요 — 파이프라인에 안전하지 않음
스키마 안정성보장됨드묾없음
처리량
Crypto0.0037 s~270 MB/s
Filepaths0.0041 s~250 MB/s
IP0.0065 s~156 MB/s
Domains0.0035 s~300 MB/s
v0.7.6 — 구조 검증기 확장: Debug 및 리로케이션 디렉토리
  • 두 개의 새로운 PE 구조 검증기 — 리로케이션 및 디버그
  • WIN_CERTIFICATE 및 tls 검증기는 이제 pefile과 독립적인 전용 구조 파서에서 구조적 진실을 소싱
  • 우선순위 해결 하위 사유 분류 체계를 갖춘 12개의 새로운 사유 코드
  • 결정적 바이트 수준 파싱 — pefile의 지연 해석에 의존하지 않음
  • 100% 커버리지의 1620 테스트

v0.7.5 — 구조 검증기 확장

  • 네 개의 새로운 PE 구조 검증기 — exports, delay-load imports, VS_VERSIONINFO, 리소스 계층 구조
  • 우선순위 해결 하위 사유 분류 체계를 갖춘 24개의 새로운 사유 코드
  • 결정적 바이트 수준 파싱 — pefile의 지연 해석에 의존하지 않음
  • 보안 관련 메타데이터 — DLL 특성, 하위 시스템/머신 이름 디코딩, 리소스별 엔트로피
  • 100% 커버리지의 1370 테스트 — 실제 바이너리에서 dumpbin에 대해 종단 간 검증됨

v0.7.4.1 — Windows 호환성 핫픽스

  • Windows 시스템에서 import 실패를 유발한 python-magic 의존성 제거
  • 완전한 크로스 플랫폼 이식성을 위한 순수 Python 파일 유형 감지기 추가
  • 엄격한 Windows 호환 PE 검증을 적용하여 PE 감지 로직 개선
  • IOC 추출에 대한 동작 변경 없음
  • --min-length 일관성 수정은 v0.7.5에서 계획됨

v0.7.4 — 고급 디렉토리 파싱

  • 전체 Load Config 디렉토리 파싱 및 검증
  • 다운스트림 휴리스틱을 위한 확장된 Optional Header 메타데이터
  • 새로운 GuardCF, cookie, 이상 징후 휴리스틱
  • 더 빠른 PE 분석
  • 테스트 스위트의 99개 PE 픽스처; 45개 완전히 사양 검증됨

v0.7.3 — 구조적 정확성 및 결정적 휴리스틱

  • 모든 PE 구조 검증기의 주요 강화
  • 결정적이고 스냅샷 안정적인 동작
  • 명확하고 일관된 ReasonCodes
  • 구조적 진실에 기반한 더 강력한 휴리스틱

v0.7.2 — 의존성 수정

  • 누락된 idna 의존성 추가
  • 동작 또는 스키마 변경 없음

v0.7.1 — 적대적 휴리스틱 확장 및 파서 강화

  • 여섯 개의 새로운 PE 휴리스틱
  • 확장된 적대적 PE 코퍼스
  • 강화된 도메인/URL/crypto/hash 추출기
  • 결정적 스냅샷 검증 출력

v0.7.0 — 결정적 휴리스틱 및 적대적 테스트 기반

  • 결정적 휴리스틱
  • 레이어-3 적대적 샘플
  • 스냅샷 계약 테스트
  • Rich Header 충돌 수정

v0.6.0 — 안정적인 출력 스키마 및 결정적 메타데이터

  • 완전히 안정적인 JSON 스키마
  • 정규화된 PE 메타데이터
  • 공식화된 분석 수준

v0.5.0 — 분석 수준, PE 섹션 분석, 난독화 힌트

  • 새로운 분석 수준 시스템
  • PE 구조 분석
  • 난독화 휴리스틱

v0.4.0 — 플러그인 아키텍처

  • 플러그인 준비 규칙 엔진
  • 통합 감지 흐름

v0.3.0 — Crypto IOC 감지

  • Ethereum 및 Bitcoin 지갑 감지

v0.2.0 — 고신뢰성 IP 감지

  • 주요 IPv4/IPv6 개선