원문 캡처 · signalscorps.com
원문 캡처 · signalscorps.com

Signals Corps가 Common Crawl의 2026년 9월 크롤링 자료를 분석한 결과, 실제 llms.txt 파일 62,751개 가운데 역할을 바꾸려는 프롬프트 인젝션은 2개뿐이었다. 반면 플랫폼이 작성한 파일은 에이전트에 설치·서버 연결·사이트 우대 등을 요청하기도 했다. 자료를 읽는 것보다 에이전트가 그 지시에 따라 행동할 수 있는지가 주요 위험이다.

조사 표본은 전체 사이트 20,441,563곳 중 Common Crawl이 /llms.txt를 요청한 113,457곳이다. 이 중 62,751곳이 실제 텍스트 파일을 제공했고, 40,672곳(36%)은 HTML 페이지를 반환했다. HTML을 그대로 모델에 전달하면 메뉴나 스크립트가 문맥을 차지할 수 있어, 응답 형식과 첫 줄을 확인한 뒤 모델에 넣으라고 권고한다. 실제 파일의 5.3%인 3,340개에는 AI를 향한 문구가 있었다. 나머지 59,411개는 링크 목록이었다.

파일 2개는 가짜 ‘System Prompt’ 문구로 AI에 특정 역할을 부여하려 했다. 2,035개는 설치·연결·가입·API 호출을 요청했고, 262개는 답변에서 해당 사이트를 우대하라고 했다. 839개는 사용할 페이지나 인용 방법을 안내했고, 202개는 AI 학습·라이선스 정책을 담았다. 조사팀은 규칙으로 후보를 추린 뒤 Claude 하위 에이전트가 사전에 정한 기준에 따라 분류했다. 지침·정책 분류는 별도 재검토하지 않았다고 밝혔다.

플랫폼이 기본 제공하는 문구도 에이전트의 행동을 유도할 수 있다. Shopify 매장 1,992곳의 파일에는 에이전트가 사용자에게 Shop 스킬 설치를 권하도록 하는 기본 문구가 있었다. 1,991곳은 기본 템플릿을 그대로 제공했고 한 곳은 수정했다. 따라서 이 수치는 해당 문구가 나타난 매장 수이지, 각 판매자가 직접 선택한 수는 아니다. Discourse 포럼 24곳은 로컬 MCP 서버 설치를 안내했으며, 같은 파일에서 사람을 사칭하거나 계정을 자율적으로 만들지 말라는 제한도 뒀다. Wix 사이트 18,796곳은 예약이나 구매 절차를 시작할 수 있는 내장 MCP 서버를 가리켰다.

조사팀은 파일에 사용자 가입을 지시하는 내용을 담은 가상의 API를 만들어 Claude Opus·Sonnet·Haiku를 Claude Code에서 시험했다. 세 모델에 각각 세 가지 프롬프트를 줬고, 행동을 요청한 조건에서는 6회 중 4회 사용자의 이름과 이메일이 파일에 적힌 서버로 전송됐다. 한 번은 가입 시도가 권한 확인에 막혔다. 가입한 에이전트는 모두 사용자에게 이를 알렸지만, 서버에 정보가 전송된 뒤의 설명은 사전 동의를 대신하지 못한다. 모델과 프롬프트 조합마다 한 번씩만 실행한 시험이므로 다른 에이전트나 버전의 결과를 대표하지 않는다.

조사팀은 llms.txt를 신뢰할 수 없는 외부 입력으로 취급하고 시스템 프롬프트와 분리하라고 권고한다. HTML·빈 응답·robots.txt를 모델에 넘기지 말고, 파일의 지시로 스킬을 설치하거나 MCP 서버에 연결하거나 계정을 만들고 구매를 준비할 때는 실행 전에 사용자 승인을 받도록 해야 한다. 파일이 연 링크의 범위를 제한하고, 각 세션에서 읽은 파일과 뒤이은 도구 호출을 기록하는 방안도 제시했다.

llms.txt는 사이트가 언어 모델에 정보를 제공하려고 루트 경로에 게시하는 마크다운 파일이다. 조사에 따르면 주요 AI 업체의 크롤러·답변 엔진이 이를 입력으로 사용한다고 밝힌 사례는 없지만, 개발 도구와 요청에 따라 웹 파일을 가져오는 에이전트는 읽을 수 있다. 따라서 파일이 모델에 전달되는지, 그리고 해당 에이전트에 설치·네트워크·구매 권한이 있는지가 위험을 가르는 조건이다.

관련 자료: HTTP 헤더에 담긴 AI 에이전트 지시 조사