무엇을 검사하고, 무엇을 검사하지 않는가
검사하는 것
카탈로그에 올리기 전에, 항목 파일이 AI에게 명령을 자동으로 실행시키는 구문을 담고 있는지 검사합니다.
- 미리 정해둔 설정 항목 9개 외의 설정이 들어 있으면 올리지 않습니다.
- 명령을 자동으로 실행시키는 구문은 본문이든 코드블록 안이든, 설정값이든 딸린 파일이든 어디에 있어도 거부합니다. 코드블록으로 감싸도 예외가 아닙니다.
- 파일 형식은 문서 파일만 허용합니다.
검사기 이름과 정확한 규칙
validateCanonical() — 허용 설정 키: schema_version, id, title, category, tags, summary, source, structure, license. 거부 구문: !`cmd`, ```! (본문·코드블록 내부·frontmatter 값·references/** 전체). 허용 확장자: .md, .txt, .yaml.
산출물을 만든 뒤에 한 번 더 검사합니다. 원본이 깨끗해도 파일을 조립하는 과정에서 위험한 구문이 다시 섞여들 수 있기 때문입니다.
- 만들어진 파일의 설정 항목이 정해둔 범위를 벗어나면 내보내지 않습니다.
- 본문·설정값·딸린 파일에 같은 검사를 다시 적용합니다.
검사기 이름과 정확한 규칙
validateGeneratedSkill() — 허용 설정 키: name, description, when_to_use, paths. 렌더 후 문자열에 동일한 shell 실행 구문 검사를 재적용합니다.
이 검사를 통과하지 못한 항목은 빌드가 실패해 카탈로그에 올라가지 않습니다.
검사하지 않는 것
AI가 항목 내용을 읽다가 그 안의 문장을 지시로 잘못 받아들이는 경우입니다. 이걸 확실히 막는 방법은 아직 없고, 이 검사도 걸러내지 못합니다.
관련 표준
프롬프트 주입(prompt injection). OWASP LLM01:2025는 확실한 예방 수단이 확립되지 않았다고 기술합니다.
산출물을 받은 뒤에 내용이 바뀌었는지는 알 수 없습니다. 파일이 이미 여러분의 컴퓨터나 계정 안에 있어서 저희가 확인할 방법이 없습니다.
규칙이나 서식이 실제 업무에 맞는지, 적힌 내용이 사실인지는 검사하지 않습니다. 넣기 전에 원문을 직접 읽어보시는 편이 좋습니다.