데일리 · 기사 01 · 5 분 읽기
- 보안
- 오픈소스
AI의 보안 경고, Cloudflare 스킬은 어떻게 검증할까
주간 관심 오픈소스 해설 · 10월 26일 원문·주간 지표 확인
요약·개요
Cloudflare의 공개 보안 점검 스킬은 AI에게 일을 시키는 작업 매뉴얼입니다. 다른 사람의 청구서가 보이는지 살피는 가상 사례로, AI의 의심을 검증할 때 필요한 근거를 설명합니다.
AI가 코드에서 ‘심각한 보안 문제’를 찾았다고 합니다. 담당자가 바로 고쳐야 할까요? 실제로 허용되지 않은 정보나 기능에 닿는지, 어느 조건에서 확인했는지가 먼저 필요합니다.
핵심 팩트
스킬은 AI에게 특정 일을 맡길 때 쓰는 작업 매뉴얼입니다. 인터넷 인프라·보안 업체 Cloudflare의 security-audit-skill은 코드를 읽는 AI가 보안 문제를 찾고, 검증하고, 기록하는 절차를 제공합니다. 개발팀 설명
먼저 한 AI가 의심스러운 부분을 찾습니다. 별도의 검증자는 실제 요청이 그 부분에 도달하는지, 권한 확인이 막는지, 어떤 결과가 나오는지를 대조합니다. 기존 Agent Skills 기사에서 소개한 업무 매뉴얼을 보안 점검에 쓰는 후속 해설입니다.

1. ‘다른 사람의 자료에 닿는가’부터 묻기
보안에서 권한의 경계는 ‘이 사람에게 이 자료를 보여 줘도 되는가’를 가르는 선입니다. 파일 이름이나 함수가 수상해 보여도, 실제 요청 경로에서 권한 확인이 막는다면 그 관측만으로 정보 유출이라고 할 수 없습니다.
아래는 동작을 설명하는 가상의 청구서 서비스입니다. 이용자 B가 A의 청구서를 요구했다고 가정합니다. 실서비스에서 실행한 결과가 아니라, 차단·미확인·노출을 구분하는 예시입니다.
소유자를 확인하는 절차가 있음
B에게 A의 자료를 보여 주지 않음
이 요청 경로는 차단됨실제 설정과 응답을 아직 못 봄
다른 사람의 자료가 보이는지 아직 모름
추가 확인이 필요함격리한 시험에서 소유자 확인 절차가 빠짐
B에게 A의 시험용 청구서가 보임
이 조건에서 문제를 확인함세 번째 경우도 시험용 청구서가 보였다는 범위까지입니다. 전체 고객 정보가 빠져나갔다거나 서버 전체를 장악했다고 확대해서 쓰면 안 됩니다. 첫 번째 경우 역시 이 경로가 막혔다는 뜻이지, 서비스 전체에 결함이 없다는 인증은 아닙니다.
고양이와 풀어보기 Q&A
- 고양이 연구원
‘권한 확인이 없어 보인다’는 코드만 찾으면 부족해?
포켓 노트그 요청이 실제로 그 코드에 도달하는지와 앞에서 막는 장치가 있는지도 봐야 해. Cloudflare 지침도 실제 경계가 깨진 근거를 확인하도록 요구해. 검토 기준
2. 찾은 AI와 확인하는 AI의 역할
한 사람이 자기 추측에 맞는 자료만 고를 수 있듯, AI도 처음 만든 설명을 그대로 반복할 수 있습니다. 이 도구는 후보를 찾은 주체와 별개의 검증자가 근거를 다시 읽고 반박하도록 설계했습니다. 검증 절차
가상 청구서 사례라면 첫 AI가 ‘A의 자료가 나올 수 있다’고 적었을 때, 검증자는 요청자 신원·청구서 소유자 확인·실제 반환 내용을 차례로 봅니다. 권한 확인이 앞에서 차단한다는 증거가 나오면 후보를 반박하고, 실행 환경이 없어 결론을 낼 수 없으면 무엇이 비어 있는지 남기는 식입니다.
| 확인 기록 | 독자가 판단할 수 있는 것 |
|---|---|
| 검사한 코드의 버전과 위치 | 어느 시점의 어떤 경로를 봤는가 |
| 이용자·설정·입력 조건 | 같은 결론이 적용되는 범위는 어디인가 |
| 실제 관측과 남은 빈칸 | 재현했는가, 아직 확인이 필요한가 |
- 확인 기록
검사한 코드의 버전과 위치
- 독자가 판단할 수 있는 것
- 어느 시점의 어떤 경로를 봤는가
- 확인 기록
이용자·설정·입력 조건
- 독자가 판단할 수 있는 것
- 같은 결론이 적용되는 범위는 어디인가
- 확인 기록
실제 관측과 남은 빈칸
- 독자가 판단할 수 있는 것
- 재현했는가, 아직 확인이 필요한가
고양이와 풀어보기 Q&A
- 고양이 연구원
AI 둘이 같은 말을 하면 확정이야?
포켓 노트둘의 동의보다 다시 확인할 수 있는 근거가 중요해. 같은 추측을 두 번 쓰는 것과, 별도의 검증자가 현재 코드와 관측을 대조하는 것은 다른 작업이야.
3. 결과는 세 갈래로 남기기
보고서는 ‘문제 확인’, ‘추가 확인’, ‘이 의심은 성립하지 않음’을 나눠 기록합니다. 결론에 필요한 사실이 빠진 ‘추가 확인’에는 심각도 점수도 붙이지 않습니다. 보고서 스키마
| 상태 | 뜻 | 다음에 필요한 일 |
|---|---|---|
| 문제 확인 | 해당 조건에서 근거와 관측이 확인됨 | 영향 범위에 맞춰 수정·재검토 |
| 추가 확인 | 결정적인 사실이 아직 미확인 | 빠진 조건이나 관측을 확인 |
| 이 의심은 성립하지 않음 | 제기한 문제가 근거상 성립하지 않음 | 이유를 남겨 같은 의심의 반복 검토 방지 |
- 상태
문제 확인
- 뜻
- 해당 조건에서 근거와 관측이 확인됨
- 다음에 필요한 일
- 영향 범위에 맞춰 수정·재검토
- 상태
추가 확인
- 뜻
- 결정적인 사실이 아직 미확인
- 다음에 필요한 일
- 빠진 조건이나 관측을 확인
- 상태
이 의심은 성립하지 않음
- 뜻
- 제기한 문제가 근거상 성립하지 않음
- 다음에 필요한 일
- 이유를 남겨 같은 의심의 반복 검토 방지
항목을 정해 파일로 저장하면 다른 프로그램도 결과를 읽기 쉽습니다. 그러나 양식이 맞다는 검사만으로 내용까지 사실이 되지는 않습니다. 영수증의 칸을 빠짐없이 채웠다고 실제 결제까지 증명되는 것은 아닌 것과 같습니다.
고양이와 풀어보기 Q&A
- 고양이 연구원
추가 확인은 ‘문제가 없었다’로 읽으면 돼?
포켓 노트결론이 남아 있다는 뜻이야. 어떤 설정이나 관측이 빠졌는지 읽고 그 사실을 확인해야 해.
4. 내 코드에 써 보기 전에 필요한 환경
공식 요구 조건에는 도구를 사용하고 여러 AI가 일을 나눌 수 있는 개발용 AI, 검증 프로그램을 실행할 Node.js 환경, 실행을 제한하는 운영체제 수준의 샌드박스가 있습니다. 샌드박스는 시험할 프로그램이 실제 계정·파일·외부 서비스에 손대지 못하도록 격리하는 환경입니다. 실행 경계
읽기만 하는 검토와 코드를 실제 실행하는 확인은 구분해야 합니다. 지침은 외부 통신 차단, 제한된 쓰기 경로, 자원·시간 제한 등을 갖추지 못하면 대상 코드를 실행하지 말고 미확인으로 남기도록 합니다. 이 기사에서는 스킬 설치나 보안 점검을 실행하지 않았습니다.
고양이와 풀어보기 Q&A
- 고양이 연구원
운영 중인 회사 서버에 바로 돌려도 돼?
포켓 노트먼저 소유·승인 범위와 분리된 시험 환경을 정해야 해. 담당 개발자에게 대상 코드의 버전, 검사 범위, 시험 자료, 보고서에 남길 관측을 함께 정해 달라고 요청하는 것부터 시작할 수 있어.
마무리
문제의 이름보다 확인한 범위를 읽기
이 스킬에서 볼 점은 AI가 ‘취약점’이라는 단어를 얼마나 많이 쓰느냐가 아닙니다. 어떤 자료와 권한에 실제로 닿았는지, 누가 다시 검증했는지, 무엇이 미확정인지가 기록으로 남는가입니다. 공개된 절차를 참고할 때도 그 범위부터 읽어야 수정할 일과 더 확인할 일이 갈립니다.
공개일과 이용 조건
배경이 되는 Cloudflare 설명글은 6월 18일 공개됐습니다. 이번 기사는 신규 출시 소식이 아닌 활용 해설입니다. 라이선스는 MIT이고, 확인한 Releases 페이지에는 정식 릴리스가 없었습니다.
10월 26일 00:03 JST의 GitHub 주간 화면은 이 저장소에 ‘이번 주 별 12,680개’를 표시했습니다. GitHub가 표시한 주간의 관심 지표이며, 10월 19~25일의 정확한 증가량·도입 수·성능 점수가 아닙니다.
출처
- 개발팀 설명github.com
- 실행 경계github.com
- 검증 절차github.com
- 보고서 스키마github.com
- Cloudflare 설명글blog.cloudflare.com
- MITgithub.com
- Releases 페이지github.com
- GitHub 주간 화면github.com