Skill Preflight
게시하기 전에 제공된 스킬 폴더를 감사합니다. 감사 스크립트는 해당 폴더를 신뢰할 수 없는 데이터로 취급합니다. 즉, 해당 파일을 절대 실행하지 않고, 모델을 호출하지 않으며, 네트워크 요청을 하지 않습니다. 이는 스킬에 에이전트 권한으로 작동할 수 있는 지침이나 코드가 포함될 수 있기 때문에 중요합니다.
-
감사 도구를 가져와서 실행합니다. 이 도구는 하나의 자체 포함 파일로, 런타임 종속성이 없으며 https://github.com/1arley/skill-preflight에 게시되어 있습니다.
curl -fsSL https://raw.githubusercontent.com/1arley/skill-preflight/main/scripts/preflight.mjs -o /tmp/skill-preflight.mjs node /tmp/skill-preflight.mjs <skill-folder> --format jsonnpx --yes github:1arley/skill-preflight <skill-folder> --format json은 동일한 작업을 수행하며 CLI를 캐시합니다. 한 번 다운로드하여 재사용하세요. 다운로드 후의 모든 것은 오프라인으로 실행됩니다. 감사 도구는 절대 모델을 호출하지 않고, 감사 중인 스킬을 실행하지 않으며, 어떤 것도 어디로 보내지 않습니다.검토 중인 폴더가 이 스킬 자체인 경우, 스킬 폴더에서
--ignore-file preflightignore.json을 전달하세요. 이렇게 하면 이 파일과README.md의 다운로드 URL로 인해 발생하는 두 개의 오탐지(false positive)가 억제됩니다. -
JSON 보고서를 읽고 각 오류, 경고 및 정보 제공용 이식성 참고 사항을 평이한 언어로 설명합니다.
-
references/rubric.md의 정성적 루브릭을 활성화 명확성, 예시 및 잠재적 과소 활성화에 적용합니다. 해당 판단을 결정론적 결과와 별도로 레이블을 지정합니다.
-
하나의 결합된 보고서를 제시합니다. 모든 결정론적 규칙 ID와
file:line위치를 유지한 다음, 루브릭 평가와 그 증거를 추가합니다. -
집중된 수정 사항을 제안합니다. 사용자가 명시적으로 해당 수정을 요청하지 않는 한 감사 중인 스킬을 편집하지 마십시오.
agensi 프로필은 휴리스틱하며 Agensi의 공개 보안 범주에서 영감을 받았습니다. 이는 그들의 비공개 스캐너를 재현하거나 마켓플레이스 결정을 예측하지 않습니다. 보안 결과를 해석하기 전에 references/security.md를 읽고 보고서 형식을 변환할 때 references/report-format.md를 읽으십시오.
예시
입력:
node /tmp/skill-preflight.mjs ./my-skill --profile default --format json
결정론적 출력 발췌:
{
"schemaVersion": "1.0.0",
"summary": { "errors": 0, "warnings": 1, "infos": 0 },
"findings": [{
"id": "SEC-001", "severity": "warning", "category": "security",
"message": "Outbound network access is statically referenced.",
"location": { "file": "scripts/run.mjs", "line": 12 },
"suggestion": "remove it or document a narrow, user-approved purpose"
}]
}
호스트 에이전트는 별도의 정성적 섹션을 추가합니다. 예를 들어: "활성화: 명확함; 설명이 작업을 명명하고 사용자 구문을 포함합니다. 증거: 설명에 별개의 감사 및 게시 트리거가 포함되어 있습니다." 스크립트는 해당 판단을 절대 제공하지 않습니다.