「확인 필요」가 남는 이유
2026-10-09 마지막 수정
「확인 필요」는 실패가 아니라 이 사이트가 말을 아끼는 자리입니다. 코드를 다 읽지 못했거나, 읽은 코드에서 어디로 이어지는지 끝까지 따라가지 못했을 때, 외부 API 를 「부른다」고도 「발견 안 됨」이라고도 하지 않고 이 상태로 둡니다. 이 글은 그 사유가 무엇이고, 이 상태를 만났을 때 무엇을 보면 되는지 정리합니다.
사유는 여섯 가지
결과 페이지의 점검 범위 줄에는 아래 사유가 그대로 적힙니다. 한 저장소에 사유가 여럿 붙을 수 있습니다.
- 읽지 않는 언어로 된 소스가 코드의 큰 몫이다.
- 코드가 불러오는 경로 일부를 해석하지 못했다.
- 서브모듈이 있다.
- 읽기 상한(파일 수·용량)에 걸렸다.
- GitHub 가 파일 목록을 잘라서 보냈다.
- 먼저 읽어야 할 파일(매니페스트·설정·진입점)을 읽지 못했다.
흔한 네 가지를 차례로 봅니다.
1. 읽지 않는 언어
이 사이트는 정해진 언어의 소스만 읽습니다(목록은 방법론). C·C++·Zig 처럼 그 밖의 언어로 된 소스가 코드의 큰 몫이면 「발견 안 됨」이라고 하지 않습니다. 소스를 거의 읽지 않고 「찾지 못했다」고 적으면, 읽지 않은 것과 없는 것을 구분하지 못하는 표시가 되기 때문입니다. C·C++ 로 짠 디버거 EpicGames/raddebugger, Zig 로 짠 브라우저 lightpanda-io/browser 같은 저장소가 이 사유로 남습니다. 결과 페이지의 점검 범위 줄에 「읽지 않는 언어 파일 N개」로 적힙니다.
이런 저장소는 다른 방법으로 확인하는 편이 빠릅니다. 빌드 설정(CMakeLists.txt, build.zig 등)에 HTTP 라이브러리(libcurl 등)가 들어 있는지, 소스에서 https:// 로 시작하는 문자열이 어디에 나오는지 찾아보세요. 둘 다 없으면 외부 서비스를 부르는 코드가 있을 가능성은 낮습니다. 다만 이것은 사람이 하는 확인이고, 이 사이트는 읽지 않은 언어에 대해서는 판정하지 않습니다.
2. 해석 못 한 import 경로
코드가 import 하는 파일을 찾지 못하면 그 너머에서 무엇을 부르는지 알 수 없습니다. 실행할 때 이름을 만들어 불러오는 동적 import, 플러그인을 찾아 불러오는 구조, 패키지 설정에만 있는 모듈 이름이 흔한 원인입니다. 결과 페이지의 「점검 범위 상세」에 경로와 이유가 나옵니다.
3. 서브모듈
Git 서브모듈은 다른 저장소를 가리키는 링크라서 따라가 읽지 않습니다. leejet/stable-diffusion.cpp 처럼 핵심 코드가 서브모듈에 있으면 그 부분은 비어 있는 셈입니다.
4. 읽기 상한과 잘린 목록
한 번의 점검이 읽는 파일 수와 용량에는 상한이 있고, 상한에 걸리면 같은 커밋을 더 넓게 한 번 더 읽습니다(상한 값은 방법론). django/django 처럼 파일이 수천 개인 저장소는 두 번째 읽기로도 다 읽지 못합니다. 파일이 아주 많으면 GitHub 가 파일 목록부터 잘라서 보내기도 합니다. 파일이 5만 개가 넘는 openai/math 가 그런 경우입니다.
큰 저장소에서는 결과 페이지의 「부분 점검 — 읽은 파일/전체 파일」 비율을 함께 보세요. 읽은 쪽에서 외부 호출이 이미 나왔다면 그 호출은 표에 그대로 있습니다. 「확인 필요」는 나머지에 무엇이 더 있는지 모른다는 뜻입니다.
「확인 필요」를 만났을 때
- 결과 페이지의 사유 문장과 점검 범위 줄을 보면 무엇을 못 읽었는지 알 수 있습니다. 읽은 부분에서 나온 호출은 그대로 표에 있습니다.
- 저장소가 바뀌었다면 「최신 커밋으로 다시 점검」으로 새로 읽을 수 있습니다.
- 사유가 틀렸다고 보이면 「이 결과가 틀렸어요」로 알려 주세요.
「확인 필요」는 이 사이트가 모르는 것을 아는 척하지 않으려고 두는 상태입니다. 읽는 언어와 해석하는 경로가 늘면 이 상태로 남는 저장소는 줄어듭니다.