{ "inventory_date": "2025-07-13", "analyzer": "Legacy C Cartographer", "total_files": 18, "total_modules": 5, "modules": { "auth": { "files": ["auth_validate.c", "auth_hash.c", "auth_token.c"], "entry_points": { "auth_validate.c": "auth_validate_user(char* uid, char* token)", "auth_hash.c": "compute_hash(char* input, char* salt)", "auth_token.c": "issue_token(char* uid, int expires)" }, "uncaptured": [ {"id": "U-01", "file": "auth_validate.c", "content": "세션 만료 시각 계산 로직"}, {"id": "U-02", "file": "auth_hash.c", "content": "랜덤 salt 생성 시드"}, {"id": "U-03", "file": "auth_token.c", "content": "토큰 갱신 주기 로직"} ], "ocr_risk": { "High": ["auth_hash.c:42-58"], "Medium": ["auth_validate.c:33-50"], "Low": ["auth_token.c"] }, "transition_priority": "P1" }, "net": { "files": ["net_connect.c", "net_recv.c", "net_send.c", "net_pool.c"], "entry_points": { "net_connect.c": "net_establish(char* host, int port)", "net_recv.c": "recv_packet(int fd, char* buf, int len)", "net_send.c": "send_packet(int fd, char* buf, int len)", "net_pool.c": "pool_acquire(pool_t* p)" }, "uncaptured": [ {"id": "U-04", "file": "net_recv.c", "content": "최대 패킷 크기 검증"}, {"id": "U-05", "file": "net_pool.c", "content": "풀 고갈 시 fallback 정책"} ], "ocr_risk": { "High": ["net_connect.c:70-85", "net_recv.c:15-30"], "Medium": ["net_send.c:41-55"], "Low": ["net_pool.c"] }, "transition_priority": "P1" }, "data": { "files": ["data_parse.c", "data_encode.c", "data_cache.c"], "entry_points": { "data_parse.c": "parse_payload(char* raw, payload_t* out)", "data_encode.c": "encode_record(record_t* rec, char* out)", "data_cache.c": "cache_lookup(cache_t* c, char* key)" }, "uncaptured": [ {"id": "U-06", "file": "data_parse.c", "content": "인코딩 변환 손실 가능성"}, {"id": "U-07", "file": "data_encode.c", "content": "스키마 버전 간 변환 규칙"}, {"id": "U-08", "file": "data_cache.c", "content": "동시 접근 락 해제 타이밍 race condition"} ], "ocr_risk": { "High": ["data_cache.c:88-102"], "Medium": ["data_parse.c:20-35", "data_encode.c:45-60"], "Low": [] }, "transition_priority": "P1" }, "log": { "files": ["log_write.c", "log_format.c", "log_flush.c"], "entry_points": { "log_write.c": "log_commit(log_t* lg, char* msg)", "log_format.c": "format_entry(log_t* lg, level_t lvl)", "log_flush.c": "flush_buffer(log_t* lg)" }, "uncaptured": [ {"id": "U-09", "file": "log_write.c", "content": "로그 로테이션 시점 결정 로직"}, {"id": "U-10", "file": "log_flush.c", "content": "비동기 flush 정합성 보장 조건"} ], "ocr_risk": { "High": [], "Medium": ["log_format.c:21-40"], "Low": ["log_write.c", "log_flush.c"] }, "transition_priority": "P3" }, "util": { "files": ["util_str.c", "util_mem.c", "util_time.c", "util_base64.c", "util_hex.c"], "entry_points": { "util_str.c": "str_trim(char* s)", "util_mem.c": "mem_copy(void* dst, void* src, int n)", "util_time.c": "get_timestamp()", "util_base64.c": "b64_encode(char* in, int len, char* out)", "util_hex.c": "hex_dump(char* buf, int len, char* out)" }, "uncaptured": [ {"id": "U-11", "file": "util_str.c", "content": "UTF-8 BOM 처리 규칙"}, {"id": "U-12", "file": "util_mem.c", "content": "오버플로우 시 복구 정책"}, {"id": "U-13", "file": "util_time.c", "content": "NTP 보정 시 시계 역행 처리"}, {"id": "U-14", "file": "util_base64.c", "content": "패딩 불일치 가능성"} ], "ocr_risk": { "High": ["util_mem.c:21-40"], "Medium": ["util_str.c:10-25", "util_base64.c:30-45", "util_hex.c:41-55"], "Low": ["util_time.c"] }, "transition_priority": "P1" } }, "transition_priority_summary": { "P1": ["auth_hash.c", "net_connect.c", "net_recv.c", "data_cache.c", "util_mem.c"], "P2": ["auth_validate.c", "net_send.c", "data_parse.c", "data_encode.c", "util_str.c", "util_base64.c"], "P3": ["auth_token.c", "net_pool.c", "log_write.c", "log_format.c", "log_flush.c", "util_time.c", "util_hex.c"] }, "ocr_risk_summary": { "High": [ {"file": "auth_hash.c", "lines": "42-58", "risk": "salt 생성 — 0/O 혼동"}, {"file": "net_recv.c", "lines": "15-30", "risk": "memset 오인식"}, {"file": "net_connect.c", "lines": "70-85", "risk": "소켓 옵션 — 0/O 혼동"}, {"file": "data_cache.c", "lines": "88-102", "risk": "TTL 부등호 방향"}, {"file": "util_mem.c", "lines": "21-40", "risk": "길이 파라미터 OCR 불안정"} ], "Medium": 7, "Low": 7 }, "uncaptured_total": 14, "md_mapping_verified": true }