核心用法
yidun-skill-sec 是网易易盾(NetEase Yidun)官方开发的智能代码安全扫描技能,采用「本地静态分析 + 云端威胁情报」混合架构,为第三方代码包(如 npm、PyPI、ClawHub 等)提供量化安全评估。
扫描流程分为四个阶段:
- Phase 0 来源审查:验证包来源可信度(注册表、域名黑名单、作者信誉),遇到黑名单域名直接阻断
- Phase 1 指纹采集:计算文件 SHA-256 哈希,生成复合指纹用于缓存和审计
- Phase 2 行为扫描:静态分析代码行为模式,检测 18 类风险行为(网络外联、凭证窃取、权限提升、Prompt 注入等),支持文档示例上下文豁免机制
- Phase 3 云端情报(默认启用):上传脱敏元数据至易盾威胁情报中心,获取置信度评分和最终裁决
输出包含 0-100 量化评分及五级威胁等级(CLEAR/MINOR/ELEVATED/SEVERE/CRITICAL),并提供详细的行为标签和证据链。
显著优点
1. 权威来源:由持有网络安全服务资质的网易易盾运营,威胁情报数据库专业可靠
2. 隐私优先设计:完整脱敏流水线(凭证擦除、路径归一化、内容截断、长度封顶),敏感数据绝不上传
3. 混合架构灵活:默认云端增强检测,网络异常自动降级本地模式,也可完全离线运行
4. 精准行为分析:18 类细粒度行为标签 + 跨文件关联分析,有效识别多阶段攻击链
5. 硬规则兜底:关键风险(凭证窃取+权限提升、Prompt 注入+网络外联等)强制触发 CRITICAL 阻断,不受总分影响
潜在缺点与局限性
- 云端依赖风险:默认启用云端检测,需信任易盾服务;完全离线时检测能力降级
- 误报可能:静态分析对混淆代码、合法的网络调用可能产生误判
- 不解析嵌套压缩包:遇到
.zip/.tar.gz/.jar等直接标记风险而非深入分析,可能漏检 - Prompt 注入检测敏感:文档中的安全示例可能被误标(虽设计为永不豁免)
- 仅支持特定语言:模式匹配主要针对 Shell、Python、JavaScript/TypeScript 等常见语言
适合人群
- AI Agent 开发者:在技能安装前自动阻断恶意代码
- DevSecOps 团队:CI/CD 流水线中的供应链安全检查
- 个人开发者:评估从 npm/PyPI/ClawHub 下载的第三方包安全性
- 企业安全合规:满足第三方组件引入的安全审计要求
常规风险
| 风险类型 | 说明 | 缓解措施 |
|---------|------|---------|
| 数据传输 | 上传脱敏元数据至 `as.dun.163.com` | 本地脱敏流水线保证敏感信息不出境;可设置 `YIDUN_SKILL_SEC_CLOUD=false` 完全禁用 |
| 网络超时 | 云端调用 10 秒超时后降级 | 自动切换本地模式并提示用户,保守扣分 -10 |
| 缓存过时 | 本地缓存 24 小时 TTL | 文件变更自动失效;建议关键场景加 `--no-cache` |
| 规则绕过 | 新型攻击模式可能未覆盖 | 依赖云端情报更新;发现误报/漏报可反馈厂商 |
配置建议
# 生产环境:保持云端启用(默认) export YIDUN_SKILL_SEC_CLOUD=true # 高隐私场景:完全离线 export YIDUN_SKILL_SEC_CLOUD=false # 审计调试:本地记录脱敏后的上传载荷 export YIDUN_SKILL_SEC_LOG_PAYLOAD=true # 添加私有可信源 export YIDUN_SKILL_SEC_TRUSTED_REGISTRIES="myregistry.internal,artifactory.corp.com"