{"_id":"@caidongyun/security-scanner","_rev":"6-f628e34ec1dec29accba21ad61d635f5","name":"@caidongyun/security-scanner","dist-tags":{"latest":"6.2.0"},"versions":{"6.1.3":{"name":"@caidongyun/security-scanner","version":"6.1.3","keywords":["security","scanner","ai","llm","agent","skill","malware","prompt-injection","supply-chain","cybersecurity"],"author":{"name":"OpenClaw Security Team"},"license":"MIT","_id":"@caidongyun/security-scanner@6.1.3","maintainers":[{"name":"caidongyun20","email":"286402937@qq.com"}],"homepage":"https://gitee.com/caidongyun/agent-security-skill-scanner-master#readme","bugs":{"url":"https://gitee.com/caidongyun/agent-security-skill-scanner-master/issues"},"os":["linux","darwin","win32"],"bin":{"skill-scanner":"scan","security-scanner":"scan"},"cpu":["x64","arm64"],"dist":{"shasum":"82837586462ba3d510104c98cdb38b4cab35d424","tarball":"https://registry.npmjs.org/@caidongyun/security-scanner/-/security-scanner-6.1.3.tgz","fileCount":20,"integrity":"sha512-7s2zB0oF9UG8MHG40/9sDESf5EQ9+CewgY3Y3WqWbwtsvXZacGIv1gqraNFFZQed5fGYlnCvaqXPbM4hckwflQ==","signatures":[{"sig":"MEUCIQD4sEYQ7UdKzrq1UcC6tVa4P55LPVk6iWHyFNMRxnuJMAIgHshfO9WZrBTkwNLsuDHgUZPOZy4vjME3IAhqt+JRTqY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":385283},"main":"index.js","types":"index.d.ts","engines":{"node":">=14.0.0","python":">=3.7"},"gitHead":"3242adb37242889edfce6ff6d8e0736c1d5fb211","scripts":{"scan":"python3 scanner.py","test":"python3 scanner.py benchmark_samples/ --output test_report.json","benchmark":"python3 benchmark_scan.py"},"_npmUser":{"name":"caidongyun20","email":"286402937@qq.com"},"repository":{"url":"git+https://gitee.com/caidongyun/agent-security-skill-scanner-master.git","type":"git"},"_npmVersion":"10.9.4","description":"Multi-language security scanner for AI agent skills - detects malware, supply chain attacks, and malicious code patterns","directories":{},"_nodeVersion":"22.22.1","dependencies":{"tqdm":"^4.65.0"},"_hasShrinkwrap":false,"devDependencies":{},"peerDependencies":{"python":">=3.7"},"_npmOperationalInternal":{"tmp":"tmp/security-scanner_6.1.3_1776346268120_0.8911360653313951","host":"s3://npm-registry-packages-npm-production"}},"6.1.5":{"name":"@caidongyun/security-scanner","version":"6.1.5","keywords":["security","scanner","ai","llm","agent","skill","malware","prompt-injection","supply-chain","cybersecurity"],"author":{"name":"OpenClaw Security Team"},"license":"MIT","_id":"@caidongyun/security-scanner@6.1.5","maintainers":[{"name":"caidongyun20","email":"286402937@qq.com"}],"homepage":"https://gitee.com/caidongyun/agent-security-skill-scanner-master#readme","bugs":{"url":"https://gitee.com/caidongyun/agent-security-skill-scanner-master/issues"},"os":["linux","darwin","win32"],"bin":{"skill-scanner":"scan","security-scanner":"scan"},"cpu":["x64","arm64"],"dist":{"shasum":"1499876ff303865f352be60f041fb37c7d3cd536","tarball":"https://registry.npmjs.org/@caidongyun/security-scanner/-/security-scanner-6.1.5.tgz","fileCount":22,"integrity":"sha512-KmHVydlfCXmGYUV9I5QMHo4WoCPpygTv5zoeNW8gZE6De6pNRCeaUaUGPNk+R2VEqt+3O6zRjZz4V3F2yFHxmQ==","signatures":[{"sig":"MEQCIBdhack8Mkp698fMpbEZ3vEfWBnLzUhYCG8A4m/eHjwnAiB3wA8BZI0tDViSmyYHV5idFouq3MmMCp7sUgSt5inMMg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":451576},"main":"index.js","types":"index.d.ts","engines":{"node":">=14.0.0","python":">=3.7"},"gitHead":"f41fadb4eb300517cf4309fff2f3266e81a7f8c1","scripts":{"scan":"python3 scanner.py","test":"python3 scanner.py benchmark_samples/ --output test_report.json","benchmark":"python3 benchmark_scan.py"},"_npmUser":{"name":"caidongyun20","email":"286402937@qq.com"},"repository":{"url":"git+https://gitee.com/caidongyun/agent-security-skill-scanner-master.git","type":"git"},"_npmVersion":"10.9.4","description":"Multi-language security scanner for AI agent skills - detects malware, supply chain attacks, and malicious code patterns","directories":{},"_nodeVersion":"22.22.1","dependencies":{"tqdm":"^4.65.0"},"_hasShrinkwrap":false,"devDependencies":{},"peerDependencies":{"python":">=3.7"},"_npmOperationalInternal":{"tmp":"tmp/security-scanner_6.1.5_1776420300952_0.4034461745708662","host":"s3://npm-registry-packages-npm-production"}},"6.1.6":{"name":"@caidongyun/security-scanner","version":"6.1.6","keywords":["security","scanner","ai","llm","agent","skill","malware","prompt-injection","supply-chain","cybersecurity"],"author":{"name":"OpenClaw Security Team"},"license":"MIT","_id":"@caidongyun/security-scanner@6.1.6","maintainers":[{"name":"caidongyun20","email":"286402937@qq.com"}],"homepage":"https://gitee.com/caidongyun/agent-security-skill-scanner-master#readme","bugs":{"url":"https://gitee.com/caidongyun/agent-security-skill-scanner-master/issues"},"os":["linux","darwin","win32"],"bin":{"skill-scanner":"scan","security-scanner":"scan"},"cpu":["x64","arm64"],"dist":{"shasum":"63fb072d43bd4df92a59eaf971efd360daf211ff","tarball":"https://registry.npmjs.org/@caidongyun/security-scanner/-/security-scanner-6.1.6.tgz","fileCount":20,"integrity":"sha512-kOoyrKFXkIhVQqgqMb7OjnuUza4Qt5tSwd3exgb4+vZxOG91K0cZw2hlR4+c9DwCaTmpLLcLl1rE/VTvkBOMmA==","signatures":[{"sig":"MEQCIBZqxq5FGiZSuK3buYNaEfkZc2wsvIKURJRNNSbFWrgBAiAb3LwDTGKsZzsn76i38HIeQI834gxBCO/zdGn6O9dMig==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":405126},"main":"index.js","types":"index.d.ts","engines":{"node":">=14.0.0","python":">=3.7"},"gitHead":"655872ca667c52d01a7b81760ef13c9ec3b31748","scripts":{"scan":"python3 scanner.py","test":"python3 scanner.py benchmark_samples/ --output test_report.json","benchmark":"python3 benchmark_scan.py"},"_npmUser":{"name":"caidongyun20","email":"286402937@qq.com"},"repository":{"url":"git+https://gitee.com/caidongyun/agent-security-skill-scanner-master.git","type":"git"},"_npmVersion":"10.9.4","description":"Multi-language security scanner for AI agent skills - detects malware, supply chain attacks, and malicious code patterns","directories":{},"_nodeVersion":"22.22.1","dependencies":{"tqdm":"^4.65.0"},"_hasShrinkwrap":false,"devDependencies":{},"peerDependencies":{"python":">=3.7"},"_npmOperationalInternal":{"tmp":"tmp/security-scanner_6.1.6_1776433670822_0.1687529524240141","host":"s3://npm-registry-packages-npm-production"}},"6.1.8":{"name":"@caidongyun/security-scanner","version":"6.1.8","keywords":["security","scanner","ai","llm","agent","skill","malware","prompt-injection","supply-chain","cybersecurity"],"author":{"name":"OpenClaw Security Team"},"license":"MIT","_id":"@caidongyun/security-scanner@6.1.8","maintainers":[{"name":"caidongyun20","email":"286402937@qq.com"}],"homepage":"https://gitee.com/caidongyun/agent-security-skill-scanner-master#readme","bugs":{"url":"https://gitee.com/caidongyun/agent-security-skill-scanner-master/issues"},"os":["linux","darwin","win32"],"bin":{"skill-scanner":"scan","security-scanner":"scan"},"cpu":["x64","arm64"],"dist":{"shasum":"52a9f08954b494db7eb71e6f932a91154c0bbecd","tarball":"https://registry.npmjs.org/@caidongyun/security-scanner/-/security-scanner-6.1.8.tgz","fileCount":22,"integrity":"sha512-RfwWxHQxEEA1Sn3NcExgWzW6QYk4kmd4Mv/R7jO4cOurvGFwcQ8IpiokjWfVzjjGH9VrFMGpUkIDwN4SncMD6A==","signatures":[{"sig":"MEQCIGlzjcFOTwPzuTn68flMjIj/2w1BvtlMiyEaJMexAvW5AiAc7FIpxN40hBj+L64D6vOeb/qPlcbG1VbQMsAygkA2Jg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":473782},"main":"index.js","types":"index.d.ts","engines":{"node":">=14.0.0","python":">=3.7"},"gitHead":"cf0b22d6f1691c9c8faf28b2cea3902e2c36cff2","scripts":{"scan":"python3 scanner.py","test":"python3 scanner.py benchmark_samples/ --output test_report.json","benchmark":"python3 benchmark_scan.py"},"_npmUser":{"name":"caidongyun20","email":"286402937@qq.com"},"repository":{"url":"git+https://gitee.com/caidongyun/agent-security-skill-scanner-master.git","type":"git"},"_npmVersion":"10.9.4","description":"Multi-language security scanner for AI agent skills - detects malware, supply chain attacks, and malicious code patterns","directories":{},"_nodeVersion":"22.22.1","dependencies":{"tqdm":"^4.65.0"},"_hasShrinkwrap":false,"devDependencies":{},"peerDependencies":{"python":">=3.7"},"_npmOperationalInternal":{"tmp":"tmp/security-scanner_6.1.8_1776584265158_0.28691880370622447","host":"s3://npm-registry-packages-npm-production"}},"6.1.9":{"name":"@caidongyun/security-scanner","version":"6.1.9","keywords":["security","scanner","ai","llm","agent","skill","malware","prompt-injection","supply-chain","cybersecurity"],"author":{"name":"OpenClaw Security Team"},"license":"MIT","_id":"@caidongyun/security-scanner@6.1.9","maintainers":[{"name":"caidongyun20","email":"286402937@qq.com"}],"homepage":"https://gitee.com/caidongyun/agent-security-skill-scanner-master#readme","bugs":{"url":"https://gitee.com/caidongyun/agent-security-skill-scanner-master/issues"},"os":["linux","darwin","win32"],"bin":{"skill-scanner":"scan","security-scanner":"scan"},"cpu":["x64","arm64"],"dist":{"shasum":"dbfb92b3e7a158cda9adfd943c141e4522c36c4a","tarball":"https://registry.npmjs.org/@caidongyun/security-scanner/-/security-scanner-6.1.9.tgz","fileCount":20,"integrity":"sha512-poqfV6F9XowdjadhrM34b7CuQZbfdl0U/EmNdo5haiJ7TjNCZjQUqFOwTkO8eiOcFs8UAqKUy2D6gDdFyFoSQg==","signatures":[{"sig":"MEUCIQCcynhmx8clSZ5ueiD6+wClA5wc8k1o4vw+8dxaYrh4zQIgY/knijZmeCr/2siuzJY6gDo31XtHi0mjP4axQR8X2uQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":207000},"main":"index.js","types":"index.d.ts","engines":{"node":">=14.0.0","python":">=3.7"},"gitHead":"5a3a749b3bd3a657d55f94382e72f64258c84dc1","scripts":{"scan":"python3 scanner.py","test":"python3 scanner.py benchmark_samples/ --output test_report.json","benchmark":"python3 benchmark_scan.py"},"_npmUser":{"name":"caidongyun20","email":"286402937@qq.com"},"repository":{"url":"git+https://gitee.com/caidongyun/agent-security-skill-scanner-master.git","type":"git"},"_npmVersion":"10.9.4","description":"Multi-language security scanner for AI agent skills - detects malware, supply chain attacks, and malicious code patterns","directories":{},"_nodeVersion":"22.22.1","dependencies":{"tqdm":"^4.65.0"},"_hasShrinkwrap":false,"devDependencies":{},"peerDependencies":{"python":">=3.7"},"_npmOperationalInternal":{"tmp":"tmp/security-scanner_6.1.9_1776672648196_0.07210789625514757","host":"s3://npm-registry-packages-npm-production"}},"6.2.0":{"name":"@caidongyun/security-scanner","version":"6.2.0","description":"AI Agent Security Scanner - 846 rules, hybrid detection, risk tier classification","main":"index.js","bin":{"agent-scanner":"scan"},"scripts":{"scan":"python3 scanner.py","test":"python3 -m pytest tests/ -v"},"keywords":["agent-security","ai-security","llm-security","clawhub-scanner","risk-classification","credential-theft","curl-security"],"author":{"name":"Agent Security Team"},"license":"MIT","repository":{"type":"git","url":"https://gitee.com/caidongyun/agent-security-skill-scanner-master.git"},"publishConfig":{"access":"public"},"_id":"@caidongyun/security-scanner@6.2.0","gitHead":"1d05eb517faae176e7c15ff9dc717037285d6f4f","types":"./index.d.ts","_nodeVersion":"22.22.1","_npmVersion":"10.9.4","dist":{"integrity":"sha512-M+V9klNgZOKQkju4Ojjs8L5Vcqq1yrmRzoN6Cu4nuFBCUbW6Kk4rKVhJvlXA/iTP6KM1x8YUlmjrHsX0ecLN7g==","shasum":"49837c529aa7778f1fba793f571a45ce56516198","tarball":"https://registry.npmjs.org/@caidongyun/security-scanner/-/security-scanner-6.2.0.tgz","fileCount":28,"unpackedSize":634100,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDWZfljVyadrH4neJeBiPSgD0emamj6psOe2HHLVziG4AIhAN7dOhXs4XqTeiMBoeoXV6qOvc1A3ZA7fw0oog+m9V/L"}]},"_npmUser":{"name":"caidongyun20","email":"286402937@qq.com"},"directories":{},"maintainers":[{"name":"caidongyun20","email":"286402937@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/security-scanner_6.2.0_1777283431728_0.38634894400804365"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-16T13:31:07.999Z","modified":"2026-04-27T09:50:32.048Z","6.1.3":"2026-04-16T13:31:08.287Z","6.1.5":"2026-04-17T10:05:01.105Z","6.1.6":"2026-04-17T13:47:50.963Z","6.1.8":"2026-04-19T07:37:45.307Z","6.1.9":"2026-04-20T08:10:48.352Z","6.2.0":"2026-04-27T09:50:31.933Z"},"author":{"name":"Agent Security Team"},"license":"MIT","keywords":["agent-security","ai-security","llm-security","clawhub-scanner","risk-classification","credential-theft","curl-security"],"repository":{"type":"git","url":"https://gitee.com/caidongyun/agent-security-skill-scanner-master.git"},"description":"AI Agent Security Scanner - 846 rules, hybrid detection, risk tier classification","maintainers":[{"name":"caidongyun20","email":"286402937@qq.com"}],"readme":"# AI Agent Security Scanner v6.2.0\n\n企业级 AI Agent 安全扫描工具\n\n---\n\n## 📊 核心指标\n\n| 指标 | v6.2.0 | 说明 |\n|------|--------|------|\n| 规则数 | 846 | 去重优化后实际生效 |\n| 新增模块 | 7 | 风险分级/攻击链检测/熔断等 |\n| 检测架构 | 三层 | 白名单 → 智能评分 → LLM |\n| 扫描速度 | ~385 文件/秒 | 8 worker 并发 |\n\n## 🎯 快速开始\n\n### 安装\n```bash\nnpm install -g @caidongyun/security-scanner\n```\n\n### 使用\n```bash\n# 扫描目录\nagent-scanner /path/to/skills\n\n# 并发扫描\nagent-scanner /path/to/skills --workers 8\n\n# 输出 JSON 报告\nagent-scanner /path/to/skills --output json --output-file report.json\n```\n\n## 🔥 v6.2.0 新特性\n\n### 1. 风险分级体系\n- **Curl 风险分级**: 白名单域名 + 敏感参数检测\n- **凭据窃取检测**: 攻击链识别 (诱导→混淆→外传)\n- **5 级风险体系**: CRITICAL/HIGH/MEDIUM/LOW/INFO\n\n### 2. 单 Skill 熔断机制\n- 默认阈值: 500 文件/目录\n- 防止恶意软件塞入大量文件拖慢扫描\n- 参数: `--skill-max-files N`\n\n### 3. 规则库优化\n- 去重 88 条规则 (928 → 846)\n- 标准化 419 条 severity 为大写\n- 新增 6 条凭据攻击链规则 (CRED-CHAIN-001~006)\n\n## 📦 发布文件清单 (20 个)\n\n**核心模块 (8 个)**:\n| 文件 | 功能 |\n|------|------|\n| `scanner.py` | 主扫描器 (三层架构) |\n| `whitelist_filter.py` | 白名单过滤 |\n| `config_detector.py` | 配置文件检测 |\n| `context_aware_filter.py` | 上下文感知过滤 (新增) |\n| `credential_theft_classifier.py` | 凭据窃取攻击链检测 (新增) |\n| `curl_risk_classifier.py` | Curl 风险分级 (新增) |\n| `risk_tier_classifier.py` | 5 级风险体系 (新增) |\n| `security_tool_detector.py` | 安全工具识别 (新增) |\n\n**规则库 (2 个)**:\n- `rules/dist/all_rules.json` — 846 条规则\n- `rules/rule_optimizer.py` — 规则优化器 (新增)\n\n**引擎模块 (9 个)**:\n- `src/encoding_utils.py`\n- `src/engines/` (8 个检测引擎)\n\n**入口 (3 个)**:\n- `scan` — CLI 入口\n- `index.js` — Node.js 入口\n- `index.d.ts` — 类型定义\n\n**文档/配置 (5 个)**:\n- `package.json`\n- `requirements.txt`\n- `README.md`\n- `RELEASE_NOTES.md`\n- `SKILL.md`\n\n## 🔧 配置选项\n\n| 参数 | 默认值 | 说明 |\n|------|--------|------|\n| `--workers` | 4 | 并发线程数 |\n| `--skill-max-files` | 500 | 单 Skill 文件数熔断阈值 |\n| `--timeout` | 3.0 | 单文件超时 (秒) |\n| `--output` | text | 输出格式 (text/json) |\n| `--output-file` | - | 输出文件路径 |\n\n## 📝 许可证\n\nMIT License\n\n## 🔗 仓库\n\n- **Gitee**: https://gitee.com/caidongyun/agent-security-skill-scanner-master\n- **GitHub**: https://github.com/caidongyun/agent-security-skill-scanner\n- **NPM**: @caidongyun/security-scanner@6.2.0\n","readmeFilename":"README.md"}