cisco-ai-defense/skill-scanner
Security Scanner for Agent Skills
Skill Scanner – AI 에이전트 스킬용 보안 스캐너
정의 – AI 에이전트의 스킬 패키지(예: OpenAI Codex, Cursor, Claude)를 정적으로 분석하여 프롬프트 주입, 데이터 유출 또는 악성 코드와 같은 위험한 패턴을 찾는 오픈소스 명령줄 도구(및 Python SDK)입니다. 여러 탐지 엔진(YAML/YARA 서명, AST 기반 데이터 흐름 분석, 선택적 LLM-as-a-judge, CEL 기반 결정 계층)을 결합하며 CI/CD 파이프라인에 연결할 수 있습니다.
핵심 기능
| 기능 | 작동 방식 | 탐지 대상 |
|---|---|---|
| 정적 서명 스캔 | YAML 규칙 파일 + YARA-X 패턴 | 알려진 악성 문자열, 안전하지 않은 명령, 의심스러운 API 호출 |
| 바이트코드 무결성 | 컴파일된 .pyc 파일 검사 |
변조 또는 주입된 바이트코드 |
| 파이프라인 오염 분석 | 셸 파이프라인의 소스-싱크 흐름 구문 분석 | 명령 주입 벡터 |
| 동작 / AST 분석 | 추상 구문 트리를 구축하고 데이터 흐름 추적 | 프롬프트 주입, 안전하지 않은 데이터 처리 |
| LLM 의미 분석(선택 사항) | 스킬 설명과 코드를 LLM(Anthropic 또는 OpenAI)에 보내고 응답을 발견 사항으로 해석 | 서명이 놓치는 상황 인식 악의적 의도 |
| 메타 분석기(선택 사항) | 발견 사항 상관 관계, 오탐 필터링, 심각도 순위 지정 | 중복 규칙의 노이즈 감소 |
| 클라우드 기반 AI 방어 | 추가 검사를 위해 Cisco의 AI-Defense 서비스 호출 | 클라우드 호스팅 위협 인텔리전스 |
| VirusTotal 통합 | 해시 조회 / 선택적 파일 업로드 | 스킬에 번들된 알려진 악성코드 바이너리 |
| CEL 결정 계층 | 공식 cel-go 런타임을 사용하여 유형화된 사실을 평가하고 정책 적용(끄기 / 섀도우 / 강제) |
결정적이고 제한된 규칙 적용 |
스캐너는 단일 스킬 디렉토리 또는 스킬 리포지토리에서 재귀적으로 실행할 수 있으며 결과를 다양한 형식(JSON, SARIF, HTML, Markdown 등)으로 출력할 수 있습니다.
일반적인 워크플로우
- 설치 –
pip install cisco-ai-skill-scanner(또는uv사용). - 구성 – 사용하려는 LLM 또는 클라우드 API에 대한 환경 변수를 설정합니다.
- 실행 –
이 명령은 정적, 동작 및 선택적 LLM 엔진을 실행하고 CEL 정책을 적용하며 GitHub Code Scanning이 표시할 수 있는 SARIF 보고서를 작성합니다.skill‑scanner scan /path/to/skill \ --use-behavioral --use-llm --enable-meta \ --format sarif --output results.sarif - CI/CD – 재사용 가능한 GitHub-Actions 워크플로우 또는 pre-commit 훅을 추가하여 모든 풀 리퀘스트가 자동으로 스캔되도록 합니다.
- 검토 – HTML 또는 SARIF 보고서를 검토합니다. 발견 사항은 심각도(정보, 낮음, 중간, 높음, 심각)로 분류됩니다. "발견 사항 없음" 결과는 최선의 노력일 뿐이며 스킬이 안전하다는 것을 보장하지 않습니다.
사용 대상
- 재사용 가능한 스킬 패키지를 출시하고 게시 전에 자동화된 안전장치가 필요한 AI 에이전트 개발자.
- AI 스킬 스캔을 기존 CI 파이프라인에 통합하려는 보안 팀.
- 기여된 스킬에 기준 보안 정책을 적용해야 하는 플랫폼 운영자(예: 내부 AI 마켓플레이스).
제한 사항(README에 명시된 대로)
- 스캐너는 최선의 노력입니다. 새로운 또는 제로데이 공격 기술을 탐지할 수 없습니다.
- 오탐 및 미탐이 예상됩니다. 정책 조정과 수동 검토가 권장됩니다.
- 일부 고급 분석(LLM, 클라우드 AI-Defense)에는 외부 API 키가 필요하며 비용이 발생할 수 있습니다.
- CEL 규칙 세트는 현재 섀도우 모드에 있으며, 발견 사항은 보고되지만 자동으로 억제되지는 않습니다.
빠른 시작 치트 시트
# 설치
pip install cisco-ai-skill-scanner
# 간단한 스캔(정적만)
skill-scanner scan ./my-skill
# 동작 + LLM + 메타 필터링을 포함한 전체 스캔
skill-scanner scan ./my-skill \
--use-behavioral --use-llm --enable-meta \
--policy strict --format html --output report.html
# CI 통합(GitHub Actions)
# docs/github-actions.md에 표시된 재사용 가능한 워크플로우 추가
결론 – Skill Scanner는 AI 에이전트 스킬 패키지라는 새로운 영역을 대상으로 하는 진정하고 적극적으로 유지 관리되는 보안 분석 도구입니다. 기존의 정적 분석 기술과 선택적 LLM 기반 의미 검사 및 프로그래밍 가능한 CEL 정책 계층을 결합하여 로컬 개발자 사용과 자동화된 CI/CD 적용 모두에 적합합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트