curl -L -o text-replace.skill "https://aiskillstore.io/v1/agent/skills/fa1f9783-3844-425b-9ebe-346c229bfe90/download?platform=ClaudeCode"
{
"tool": "download_skill",
"arguments": {
"skill_id": "fa1f9783-3844-425b-9ebe-346c229bfe90",
"platform": "ClaudeCode"
}
}
{
"mcpServers": {
"skill-store": {
"url": "https://aiskillstore.io/mcp/"
}
}
}
跨文件批量替换 — 多文件批量查找替换(字面量/正则),默认统计命中不写盘 --apply 才改,改前自动 .bak 备份(零依赖) 适用场景:当需要跨文件批量替换能力时使用本技能;触发词:text-replace。
Compatible Platforms windows macos linux
Findings: ["USK v3 경고: input_schema.type이 'object'가 아닙니다", "USK v3 경고: output_schema.type이 'object'가 아닙니다", 'USK v3 경고: 이 스킬은 자동 변환 조건을 충족하지 않아 manual_install로 처리됩니다']
✅ No security risks found.
AI Review Stage
Issues Found
1. **선언된 permissions과 실제 코드 불일치:** 스킬 메타데이터의 `permissions.filesystem` 필드는 `false`로 명시되어 있습니다. 그러나 `scripts/text_replace.py` 코드는 `open()`, `shutil.copy2()`, `os.path.isfile()`, `glob.glob()` 등 파일 시스템에 대한 읽기 및 쓰기 작업을 명백히 수행합니다. 이는 스킬의 실제 동작과 선언된 권한 간의 중대한 불일치입니다. 2. **`allowed-tools` 필드와의 모순:** 메타데이터의 `allowed-tools` 필드에는 `Read`, `Write`, `Edit` 등이 포함되어 있어 파일 시스템 접근이 필요함을 암시합니다. 이는 `permissions.filesystem: false` 선언과 직접적으로 모순됩니다. 이러한 불일치는 자동화된 보안 검사 시스템이나 사용자에게 잘못된 보안 정보를 제공할 수 있습니다. 3. **악의적 목적 없음:** 코드 자체는 스킬의 설명에 따라 파일 내용을 찾아 바꾸는 기능을 충실히 구현하고 있으며, 변경 전 `.bak` 백업 파일을 생성하는 등 안전 장치를 포함하고 있습니다. 외부 네트워크 통신(`permissions.network: false` 일치)이나 서브프로세스 실행(`permissions.subprocess: false` 일치)은 발견되지 않았습니다. 난독화된 코드도 없습니다. 4. **코드 품질:** 스킬의 목적에 부합하며, 명확하고 이해하기 쉬운 코드입니다. **결론:** 코드 자체는 스킬의 목적에 부합하며 악의적인 의도는 보이지 않습니다. 그러나 메타데이터의 `permissions.filesystem` 선언이 실제 코드의 동작과 심각하게 불일치하여 `pending` 상태로 관리자 검토가 필요합니다. 개발자는 `permissions.filesystem`을 `true`로 수정해야 합니다. 스킬의 기능(파일 수정) 자체는 `medium` 위험 수준으로 평가될 수 있으며, 메타데이터의 `risk_tier`도 `medium`으로 설정되어 있어 이는 적절합니다.
No reviews yet. Be the first to leave one!