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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
aimp — 단편화되고 대역폭이 낮은 네트워크에서 자율 에이전트 간의 복원력 있는 상태 동기화를 위해 설계된 서버리스 네트워킹 프로토콜 | Kitploit
도구/GitHubGitHub/fabriziosalmi/aimp
Embedded Systems SecurityIoT SecurityNetwork SecurityCryptographyHardware SecurityThreat IntelligenceMachine LearningPapers & ResearchLearning & Education
GitHubfabriziosalmi/aimp

aimp

단편화되고 대역폭이 낮은 네트워크에서 자율 에이전트 간의 복원력 있는 상태 동기화를 위해 설계된 서버리스 네트워킹 프로토콜

51428일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

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

AIMP — AI 메시 프로토콜

CI License: MIT Rust ResearchGate ResearchHub

분열되고 저대역폭 네트워크에서 자율 에이전트 간의 탄력적인 상태 동기화를 위한 실험적 서버리스 네트워킹 프로토콜. Merkle-CRDT 및 **암호화 신원(identity)**을 기반으로 구축되었습니다. 중앙 권한이 없고, 글로벌 DNS가 필요 없으며, 항상 쓰기 가능합니다.


논문

#버전제목링크
1v0.1.0Merkle-CRDT 프로토콜 (L1/L2)ResearchGate
2v0.2.0인식 계층 (L3)ResearchGate
3v0.3.0상관 인식 집계 (L3)ResearchGate
4v0.4.0결정론적 의미 토폴로지 (L3)ResearchGate

저자 프로필: ResearchGate · ResearchHub


프로토콜 스택


새로운 기능

v0.4.0 — 결정론적 의미 토폴로지

L3 v0.3.0은 애플리케이션이 지식 그래프(Supports/Contradicts 에지)를 수동으로 구성해야 했습니다. v0.4.0은 자율 에지 생성을 통해 이 병목 현상을 제거합니다:

  • 클레임(claim)은 선택적 QuantizedEmbedding([u64; 4])를 전달합니다. 이는 애플리케이션 측에서 표준 임베딩 모델로 계산된 256비트 SimHash입니다.
  • 각 에포크(epoch) 경계에서 프로토콜은 쌍별 해밍 거리(Hamming distance, XOR + popcount, 쌍당 ~1ns)를 계산하고 가까운 쌍(d <= 30비트)에 대해 Supports 에지를, 먼 쌍(d >= 200비트)에 대해 Contradicts 에지를 생성합니다.
  • 에지 강도는 거리에 따라 기본 포인트(basis points, d=0 → 10000 bps, d=30 → 1000 bps) 단위로 선형적으로 조정됩니다.
  • max_k_nearest 상한은 에지 밀도를 O(N)으로 제한하여 신뢰 전파 폭발을 방지합니다.
  • embedding_version: u32는 프로토콜 수준 모델 업그레이드를 위해 서로 다른 잠재 공간을 격리합니다.
  • 자동 에지는 L2 가십(gossip)을 통해 구체화되며, 홀로그래픽 라우팅(Holographic Routing)을 통해 GC에서도 유지됩니다.
  • 데드 존(Dead zone, 31-199비트)은 모호한 클레임을 고립시킵니다. 이는 인식론적으로 올바른 격리입니다.
root@kitploit:~
// 자율 진리 발견: 10,000개 클레임 → 50ms 스캔, O(N) 에지
// 부동소수점 없음. 조정 없음. 중앙 권한 없음.
let edges = auto_edge_generator.generate_edges(&epoch_claims);

v0.3.0 — 상관 인식 신념 집계

L3 v0.2.0은 모든 증거 소스가 통계적으로 독립적이라고 가정합니다(Naive Bayes). 이는 물리적으로 상관된 센서(예: 같은 옥상에 있는 100개의 IoT 기기) 또는 의미적으로 상관된 에이전트(예: 동일한 데이터셋으로 미세 조정된 LLM)가 일치하는 관측을 보고할 때 병리적인 과신을 초래합니다.

v0.3.0은 **그리드 셀 상관 할인(Grid-Cell Correlation Discounting)**을 도입합니다:

  • 각 클레임은 선택적 CorrelationCell(u64)를 전달합니다. 이는 공간적, 의미적 또는 시간적 근접성을 위한 이산 좌표입니다.
  • 각 셀 내에서 증거는 강도에 따라 순위가 매겨지고 기하학적으로 할인됩니다: 가장 강력한 소스는 100% 가중치를 유지하고, 각 후속 소스는 discount_bps^rank / 10000^rank(기본 30%)를 받습니다.
  • 30% 할인 시 N개의 상관 센서는 단일 센서 증거의 약 1.42배로 수렴합니다. N에 관계없이 동일합니다. 순진한 접근 방식은 N배 증폭을 생성합니다.
  • CRDT 결합성 문제(기하 감쇠는 부분 병합에서 비결합적)는 에포크 감소 버킷화를 통해 아키텍처적으로 해결됩니다: (temporal_grid, fingerprint, correlation_cell)로 버킷화하여 완전한 집합에 대한 원자적 계산을 보장합니다.
  • correlation_cell: None인 클레임은 v0.2.0과 동일하게 동작합니다(제로 회귀).
  • 모든 연산은 정수 전용(i32/i64, 기본 포인트)입니다. 부동소수점 없음. ZK 준비 완료.
root@kitploit:~
// 동일 위치에 있는 100개 센서, 각각 70% 신뢰도:
// v0.2.0 (순진):  100 × 847 = 84,700 밀리-로그-오즈 → ~100% (과신)
// v0.3.0 (30%):    847 × Σ(0.3^i) ≈ 1,207 밀리-로그-오즈 → ~77% (현실적)

아키텍처

root@kitploit:~
aimp_node/          Rust 참조 구현 (Cargo 워크스페이스 멤버)
  src/
    crdt/           Merkle-DAG 엔진, 액터 모델, 아레나 할당자, 쿼럼 합의
    crypto/         Ed25519 신원, BLAKE3 해싱, 제로 트러스트 방화벽
    network/        UDP 가십, Noise Protocol XX 세션, 피어별 속도 제한
    protocol/       와이어 형식 (MessagePack), 타입화된 페이로드 열거형
    epistemic.rs    L3 인식 계층 (v0.3.0): 로그-오즈, 신뢰 전파, 상관 할인
    semantic_topology.rs  L3 의미 토폴로지 (v0.4.0): SimHash 임베딩, 자동 에지 생성
    decision_engine.rs  플러그 가능한 결정론적 결정 엔진 (트레이트 + 규칙 엔진 + 핫 리로드)
    error.rs        통합 AimpError 타입 계층
    dashboard/      Ratatui TUI
    config.rs       검증 기능이 있는 동적 설정
    event/          구조화된 로깅 + Prometheus 메트릭 (카운터 + 히스토그램)
  tests/            통합 테스트
  benches/          Criterion 벤치마크
aimp_testbed/       Python SDK (aimp-client) + CLI 도구 + 카오스 테스트
deploy/             Systemd 서비스, Firecracker 마이크로VM, 설치 스크립트
formal/             TLA+ 수렴 + 쿼럼 안전성 + 신념 수렴 명세
docs/               논문 1 (Typst 소스 + PDF)
v0.2.0/             논문 2: 인식 계층 (Typst 소스 + PDF)
v0.3.0/             논문 3: 상관 인식 집계 (Typst 소스 + PDF)

전략적 이점


주요 기능

코어 엔진 (v0.1.0)

  • tokio::mpsc를 통한 제로 공유 상태 CRDT의 액터 모델
  • O(1) 삽입 및 SoA 레이아웃을 갖춘 슬랩/아레나 할당
  • ChaCha20Poly1305를 사용한 저장 데이터 암호화가 적용된 redb를 통한 내구성 있는 지속성
  • 도메인 분리가 있는 HKDF-SHA256 키 유도
  • 쓰기 시 무효화가 있는 캐시된 머클 루트
  • 실제 mark-and-sweep GC와 슬랩 메모리 회수
  • CRDT 액터에 통합된 에포크 기반 GC 추적

인식 계층 (v0.2.0 — v0.4.0)

  • 정수 로그-오즈 산술 (i32, 밀리-로그-오즈) — 부동소수점 없음, 100% 결정론적
  • 2-패스 마코프 신뢰 전파 (Supports → Contradictions, 진동 없음)
  • Sybil 내성 평판: 새 노드는 0에서 시작, 위임 필요, 평판 소비
  • 그리드 정렬 에포크 축소 및 구체화된 압축 (요약은 GC 이후에도 유지)
  • 사이클 감지 (정렬 DFS)로 신뢰 인플레이션 루프 방지
  • v0.3.0: 상관 인식 집계 — 동일 위치 센서/LLM을 위한 기하 할인
  • v0.3.0: 원자적 셀 축소 — (epoch, fingerprint, cell)로 버킷화하여 CRDT 안전성 보장
  • v0.4.0: 결정론적 의미 토폴로지 — SimHash 임베딩, 자율 에지 생성
  • 주관적 논리/뎀스터-샤퍼보다 98-142배 빠름 (아키텍처 간 비트 동일)

네트워킹 및 보안

  • Noise Protocol XX 암호화 세션 (기본 켜짐)
  • 피어별 토큰 버킷 속도 제한 (정수 연산)
  • HashSet + VecDeque를 통한 O(1) 가십 중복 제거
  • TTL 재생 공격 탐지 및 회로 차단기
  • 세션 LRU 제거 (TTL + 최대 개수)
  • 롤링 업그레이드를 위한 프로토콜 버전 범위 협상

결정 엔진 및 합의

  • RuleEngine 구현이 포함된 플러그 가능한 DecisionEngine 트레이트
  • aimp_rules.json에서 핫 리로드 규칙 (재시작 불필요)
  • 지속적인 검증된 결정이 있는 BFT 쿼럼 투표
  • 작동 코드(opcode)별 타입화된 Payload 열거형 (컴파일 타임 안전성)

관찰 가능성

  • Prometheus 카운터, 게이지, 지연 히스토그램
  • 하위 검사 및 HTTP 상태 코드가 포함된 복합 /health 엔드포인트
  • TUI 대시보드가 있는 구조화된 SystemEvent 로깅

운영

  • 통합 AimpError 타입 계층 (더 이상 Box<dyn Error> 없음)
  • 설정 검증 (잘못된 매개변수 조합 거부)
  • 5초 타임아웃으로 정상 종료
  • Systemd 강화 서비스 파일
  • CI/CD: 린트, 테스트, 보안 감사, 문서, 크로스 컴파일 릴리스

벤치마크

Apple Silicon (M-시리즈)에서 Criterion으로 측정, 단일 스레드, fast-crypto 모드:

시스템 수준

5-노드 클러스터 시뮬레이션, 안티-엔트로피 동기화 (프로세스 내, Apple Silicon):

네트워크 손상 (netem 시뮬레이션)

시뮬레이션된 패킷 손실, 지연, 파티션 하에서 수렴 (5 노드, 노드당 50 변이):

AIMP는 약 80% 패킷 손실까지 몇 번의 안티-엔트로피 라운드 내에 수렴하며, 정상적으로 성능이 저하됩니다.

크로스 플랫폼 (ARM64 리소스 제약)

Docker ARM64 Linux, RPi-급 리소스 제한:

RPi Zero급 하드웨어에서도 처리량은 속도 제한보다 3배 더 높습니다.

Automerge v0.7과 비교

동일 하드웨어, 동일 작업, 단일 스레드, target-cpu=native:

ring을 사용한 AIMP는 변이에서 Automerge보다 1.37배(Ed25519 쓰기당 포함), 병합에서 2.4배 빠릅니다. Yrs는 변이에서 가장 빠르지만(암호 없음), AIMP 병합은 Yrs의 26% 이내입니다.

root@kitploit:~
# 최대 처리량을 위해 ring 백엔드 활성화
RUSTFLAGS="-C target-cpu=native" cargo run --release --features fast-crypto,fast-alloc

로컬에서 벤치마크 실행:

root@kitploit:~
cargo bench --manifest-path aimp_node/Cargo.toml             # 마이크로-벤치마크
cargo run --release -p aimp_node --example bench_convergence  # 시스템 벤치마크
cargo run --release -p aimp_node --example bench_netem        # 네트워크 손상
docker build -f Dockerfile.bench -t aimp-bench . && \
  docker run --rm --memory=1g --cpus=1 aimp-bench             # ARM64 제약

형식 검증 (TLA+)

L2 — CRDT 수렴

속성설명상태
수렴두 노드가 동일한 저장소를 가지면 동일한 머클 헤드를 계산합니다검증됨

TLC는 10개의 병렬 워커로 16 깊이까지 46,063개 상태(9,558개 고유)를 1초 미만으로 탐색했으며 위반 사항이 없었습니다. 발견된 버그: 2개의 정확성 버그 (순서 없는 헤드, 쿼럼 이중 투표). 두 버그 모두 수정되었습니다.

L3 — 신념 수렴

속성설명상태
BeliefDeterminism동일한 클레임 + 그래프 → 모든 노드에서 동일한 BeliefState

완전 경계 검증: 199,902개 구성 (5개 속성, 최대 N=6 노드). 발견된 버그: 1개의 신뢰 전파 공식 버그 (t_{k+1} = t_k + At_k 대 올바른 t_{k+1} = t_0 + At_k). 수정됨.


빠른 시작

1. 노드 실행

root@kitploit:~
cargo run -- --port 1337 --name node1

2. Python CLI

root@kitploit:~
cd aimp_testbed
pip install -e .
aimp-cli health --target 127.0.0.1 --metrics-port 9090
aimp-cli infer "Check valve pressure in sector north"

3. 테스트 및 벤치마크 실행

root@kitploit:~
make test                     # 속성 기반 + 통합 테스트
make bench                    # Criterion 벤치마크
make lint                     # 서식 + clippy
make docs                     # rustdoc 생성

엣지 배포

AIMP는 제로 런타임 종속성을 가진 단일 정적 바이너리로 실행되도록 설계되었습니다. Docker, 컨테이너 런타임, JVM이 필요하지 않습니다.

빠른 배포 (베어 메탈)

root@kitploit:~
# 아키텍처에 맞는 바이너리 다운로드
curl -LO https://github.com/fabriziosalmi/aimp/releases/latest/download/aimp_node-aarch64-linux
chmod +x aimp_node-aarch64-linux

# systemd 서비스로 설치
sudo deploy/install.sh ./aimp_node-aarch64-linux

# 시작
sudo systemctl start aimp-node
curl localhost:9090/health

소스에서 크로스 컴파일

root@kitploit:~
make install-cross-targets   # 일회성: musl 타겟 설치
make edge-arm64              # ARM64 (RPi 4/5, Jetson, Graviton)
make edge-armv7              # ARMv7 (RPi 2/3, 산업용 PLC)
make edge-x86                # x86_64 (엣지 게이트웨이)
make edge-all                # 세 가지 모두

Firecracker 마이크로VM (멀티-테넌트 격리)

여러 신뢰할 수 없는 워크로드를 실행하는 엣지 게이트웨이용:

root@kitploit:~
sudo make microvm-rootfs     # AIMP가 포함된 ~15MB Alpine rootfs 빌드
firecracker --no-api --config-file deploy/firecracker/vm-config.json

부팅 시간: ~125ms. 메모리: 64MB. vCPU: 1.

Systemd 서비스

포함된 서비스 파일 (deploy/systemd/aimp-node.service)은 다음을 제공합니다:


설정

설정은 (우선순위가 높은 순서로) 다음 위치에서 로드됩니다:

  1. CLI 인수 (--port, --name)
  2. 환경 변수 (AIMP_PORT, AIMP_NOISE_REQUIRED, AIMP_PEER_RATE_LIMIT, ...)
  3. aimp.toml 파일 (선택 사항)
  4. 하드코딩된 기본값

데이터 흐름

root@kitploit:~
graph TD
    UDP[UDP 소켓] -->|봉투| RL[속도 제한기]
    RL -->|허용| NP[Noise Protocol]
    NP -->|복호화| FW[보안 방화벽]
    FW -->|유효| BP[백프레셔 세마포어]
    BP -->|허가| Parser[프로토콜 파서]
    Parser -->|AimpData| CRDT[CRDT 액터]
    CRDT -->|변이| DAG[Merkle-DAG + redb]
    DAG -->|가지치기| GC[에포크 GC]
    CRDT -->|평가 요청| DE[결정 엔진]
    DE -->|결정 + 증거| CRDT
    CRDT -->|쿼럼 투표| QM[QuorumManager]

관련 연구

AIMP는 분산 시스템 연구의 다음 영역에서 개념을 기반으로 합니다:

  • CRDT — Shapiro et al., "A Comprehensive Study of Convergent and Commutative Replicated Data Types" (INRIA, 2011)
  • Merkle-CRDT — Kleppmann & Howard, "Byzantine Eventual Consistency and the Fundamental Limits of Peer-to-Peer Databases" (2022)
  • BFT 합의 — Castro & Liskov, "Practical Byzantine Fault Tolerance" (OSDI, 1999)
  • 베이지안 집계 — Jaynes, "Probability Theory: The Logic of Science" (2003); 신념 융합을 위한 로그-오즈 산술
  • 신뢰 네트워크 — Kamvar et al., "The EigenTrust Algorithm for Reputation Management in P2P Networks" (WWW, 2003)
  • 주관적 논리 — Jøsang, "Subjective Logic: A Formalism for Reasoning Under Uncertainty" (Springer, 2016)
  • 코풀라 — Nelsen, "An Introduction to Copulas" (Springer, 2006); 종속 증거를 위한 상관 모델링
  • Noise Protocol — Perrin, "The Noise Protocol Framework" (2018); XX 핸드셰이크 패턴을 위해 snow 크레이트를 통해 사용
  • 가십 프로토콜 — Demers et al., "Epidemic Algorithms for Replicated Database Maintenance" (1987)
  • 머클 트리 — Merkle, "A Digital Signature Based on a Conventional Encryption Function" (CRYPTO, 1987)
  • 벡터 클록 — Mattern, "Virtual Time and Global States of Distributed Systems" (1988)

라이선스

MIT — Fabrizio Salmi, 2026.

도구 다운로드
계층버전목적
L1/L2v0.1.0Merkle-DAG CRDT, Ed25519 서명, Noise 프로토콜 전송, BFT 쿼럼
L3v0.2.0인식 계층: 정수 로그-오즈, 2-패스 신뢰 전파, Sybil 내성 평판
L3v0.3.0상관 인식 집계: 상관 센서/LLM을 위한 기하 할인
L3v0.4.0결정론적 의미 토폴로지: 256비트 SimHash를 통한 자율 에지 생성
기능AIMP (Merkle-CRDT)전통적 (Raft/Paxos)
토폴로지P2P 메시 / 분산리더 / 쿼럼
가용성AP (항상 쓰기 가능)CP (과반수 필요)
순서화인과적 (벡터 클록)전체 (순차)
무결성암호화 (Merkle-DAG)로그 기반
하드웨어엣지/IoT 최적화데이터센터 등급
작업시간처리량
append_mutation (100 ops)41.8 µs~2.4M 변이/초
get_merkle_root (캐시됨)4.8 nsO(1)
BLAKE3 해시 (1 KB)925 ns~1.08 GB/s
MessagePack 직렬화/역직렬화204 / 210 ns—
Ed25519 서명 (ring)9.3 µs~108K ops/초
Ed25519 검증25.0 µs~40K ops/초
시나리오결과
처리량 (5 노드 x 1000 변이, Ed25519 서명 포함)96,289 변이/초
수렴 (5개 분기 노드, 각각 250 DAG)0.68 ms (1 동기화 라운드)
파티션/병합 (2 그룹, 그룹당 30 변이, 전체 병합)0.21 ms
암호 핫 경로 (메시지당 서명 + 검증)45.0 µs → 22K msg/초 최대
rate_limit=50/초에서 암호 예산0.23% 사용률
조건수렴됨라운드
기준 (0% 손실)예1
10% 패킷 손실예2
30% 패킷 손실예2
50% 패킷 손실예2
20% 손실 + 100ms 지연 + 30ms 지터예2
파티션 (10 라운드) 후 병합예1
파티션 (50 라운드) 후 20% 손실로 병합예1
80% 패킷 손실 (스트레스)예4
메트릭macOS ARM64Linux 1C/1GB (RPi 4)Linux 1C/256MB (RPi Zero)
처리량96,289 변이/초24,802 변이/초29,709 변이/초
수렴0.68 ms3.06 ms1.30 ms
Ed25519 서명8.7 µs16.2 µs15.1 µs
Ed25519 검증20.5 µs34.6 µs45.2 µs
최대 msg/초34,32919,69516,573
@50/s 암호 예산0.15%0.25%0.30%
벤치마크AIMP (ring)AutomergeYrs (Yjs)
변이 (1000 ops)129K ops/초94K ops/초632K ops/초
2-레플리카 병합0.48 ms1.17 ms0.38 ms
5-레플리카 병합2.16 ms3.89 ms—
상태 크기 (1000 ops)~18 KB4 KB—
QuorumSafety
프롬프트에 대해 쿼럼에 도달하면 결정은 고유합니다 (충돌하는 결정 없음)
검증됨
QuorumLiveness모든 노드가 동일한 결정에 투표하면 결국 쿼럼 임계값에 도달합니다검증됨
검증됨
NoOscillation신뢰 값이 단조롭게 수렴 (패스 2 -> 패스 1 피드백 없음)검증됨
ContradictionSafety단일 모순이 한 단계에서 Accepted -> Rejected로 전환할 수 없음검증됨
강화값
사용자 격리전용 aimp 사용자, 로그인 쉘 없음
파일시스템ProtectSystem=strict, ProtectHome=yes
메모리 제한MemoryMax=128M
CPU 제한CPUQuota=80%
권한NoNewPrivileges=yes, MemoryDenyWriteExecute=yes
시스템콜 필터@system-service 허용 목록
재시작지수 백오프로 실패 시
종료SIGTERM → 10초 유예 → SIGKILL
매개변수기본값설명
port1337UDP 수신 포트
metrics_port9090Prometheus HTTP 포트
noise_requiredtrueNoise Protocol 암호화 강제
peer_rate_limit50피어당 최대 메시지/초
peer_rate_burst100토큰 버킷 버스트 용량
gc_mutation_threshold1000GC 스윕 전 변이 수
quorum_threshold2BFT 합의에 필요한 노드 수
dag_history_depth100GC 후 유지되는 최대 DAG 깊이