开发者平台

审核规则清单

市场审核 worker 的全部规则,由审核引擎代码自动导出。

m3.1 · 100 条规则

结论规则

  • 有任一“生效”的拒绝项:版本退回“需修改”,修好后重新提交(每个版本最多 10 次扫描);校验阶段出现拒绝时不再进入扫描阶段。
  • 有任一“生效”的隔离项:进入人工审核。
  • “试运行”规则只记录在报告里(标出本会采取的结果),不影响结论;“仅记录”规则只是提示或展示。
  • 运营可以把文件哈希加入放行或封禁名单:放行名单上的文件,其发现项降级为只记录(封禁规则与扫描器故障除外);封禁名单上的文件直接拒绝(package.blocked_file)。

必须人工审核的情况

预检没有拒绝项时,满足以下任一条即进入人工审核,否则直接通过:

  • first_version:插件首个版本(还没有任何已审核版本)
  • permission_change:权限与上一个已审核版本不同
  • privileged:高风险类型:engine_module、module、provider
  • probation:卖家入驻未满考察期(市场默认 90 天,运营可调)
  • quarantine:出现任何生效的隔离项(含扫描器故障)
  • scan_failed:扫描连续 3 次出错

manifest 与版本(metadata)

规则 ID级别结果状态说明
metadata.description_missing低仅记录生效manifest 缺少 zh-CN 描述(只提示)
metadata.identity_mismatch高拒绝生效manifest 的 id 或 version 与上传的版本不一致
metadata.license_missing低仅记录生效插件没有声明 SPDX 许可证(只提示)
metadata.manifest_invalid高拒绝生效manifest 不是合法的 marketplace.cdnca.io/v1 Plugin 文档
metadata.manifest_packages高拒绝试运行(只记录)manifest 的 spec.packages 没有恰好列出上传的包及摘要
metadata.name_missing中拒绝生效manifest 缺少 zh-CN 名称
metadata.no_packages高拒绝生效external_https 版本没有平台包
metadata.platform_invalid中拒绝生效平台名格式错误或重复
metadata.publisher_missing中拒绝生效manifest 缺少发布者 id 或名称
metadata.scanner_error中隔离(转人工)生效该项检查本身出错(扫描器故障),版本转人工审核
metadata.skipped信息仅记录生效前置检查未完成,本项没有运行
metadata.version_invalid高拒绝生效版本号不是规范 SemVer
metadata.version_not_monotonic高拒绝生效已有同号或更高的已审核版本

入口与数据包(entrypoint)

规则 ID级别结果状态说明
entrypoint.content_mismatch严重拒绝生效上传的数据包文件与签名的 spec.entrypoint.sha256 不一致
entrypoint.data_pack_permissions高拒绝生效rule_pack 必须只声明 security.rule_packs.provide,theme 必须只声明 platform.themes.provide
entrypoint.data_pack_version高拒绝生效数据包版本必须是纯 major.minor.patch(无预发布后缀)
entrypoint.packages_present高拒绝生效rule_pack / theme 版本带了可执行包
entrypoint.provides_invalid高拒绝生效spec.provides 格式错误、重复,或由数据包 / ui_page 声明
entrypoint.provides_official_only严重拒绝生效该服务商类型只限官方发布(第三方 CDN 适配器不开放)
entrypoint.scanner_error中隔离(转人工)生效该项检查本身出错(扫描器故障),版本转人工审核
entrypoint.skipped信息仅记录生效前置检查未完成,本项没有运行
entrypoint.type_invalid高拒绝生效spec.entrypoint.type 不是 external_https、rule_pack、theme、ui_page 之一,或与插件类型不符

权限(permissions)

规则 ID级别结果状态说明
permissions.expanded中仅记录生效权限比上一个已审核版本多:需人工审核
permissions.first_version信息仅记录生效插件首个版本:需人工审核
permissions.invalid_name高拒绝生效权限名格式错误、重复,或超过 64 个
permissions.manifest_mismatch高拒绝生效保存的权限与 manifest 不一致
permissions.privileged信息仅记录生效高风险类型(module、engine_module、provider):需人工审核
permissions.reduced信息仅记录生效权限比上一个已审核版本少:需人工审核
permissions.scanner_error中隔离(转人工)生效该项检查本身出错(扫描器故障),版本转人工审核
permissions.skipped信息仅记录生效前置检查未完成,本项没有运行

规则包(rulepack)

规则 ID级别结果状态说明
rulepack.budget_exceeded高拒绝生效规则包超出规则数、正则数或每请求代价预算
rulepack.compile_failed高拒绝生效规则包编译失败(cdnca.rule-pack/v1)
rulepack.gate_failed高拒绝生效未通过发布质量门:单独解析失败,或 modsecurity 包算不出 CRS 规则号
rulepack.layer_invalid高拒绝生效市场规则包必须是发布者命名空间下的开发者层包(dev/<发布者>/<名称>)
rulepack.not_canonical中拒绝生效规则包文件不是编译器输出的规范字节
rulepack.scanner_error中隔离(转人工)生效该项检查本身出错(扫描器故障),版本转人工审核
rulepack.skipped信息仅记录生效前置检查未完成,本项没有运行
rulepack.summary信息仅记录生效规则包内容摘要(只展示)
rulepack.version_mismatch高拒绝生效规则包版本与插件版本不同

主题(theme)

规则 ID级别结果状态说明
theme.admin_scope严重拒绝生效第三方主题声明了管理员控制台(applies_to 含 admin、admin 令牌或 admin 选择器),只有官方发布者 io.cdnca 可以
theme.console_invalid高拒绝生效官网主题包里的 console_theme 不是合法的 cdnca.theme/v1 主题包
theme.id_mismatch高拒绝生效市场主题的 id 必须是 market.<插件 ID>
theme.invalid高拒绝生效不是合法的 cdnca.theme/v1 主题包(令牌、槽位、模板、外部引用)
theme.scanner_error中隔离(转人工)生效该项检查本身出错(扫描器故障),版本转人工审核
theme.site_invalid高拒绝生效不是合法的 cdnca.site-theme/v1 或 v2 官网主题包(页面包路径与禁用内容、登录样式、内容 schema、applies_to)
theme.skipped信息仅记录生效前置检查未完成,本项没有运行
theme.summary信息仅记录生效主题渲染结果摘要(只展示)
theme.version_mismatch高拒绝生效主题版本与插件版本不同

带页面的插件(ui_page)

规则 ID级别结果状态说明
ui_page.artifacts_present高拒绝生效ui_page 版本不能带包或数据文件(页面在你的 origin 上)
ui_page.declaration_invalid高拒绝生效ui_page 声明不合法(origin、页面、挂载点、菜单父级、标题、显示门槛)
ui_page.origin_unverified严重拒绝生效页面 origin 或 api_base_url 不是你在市场验证过的来源
ui_page.permission_missing高拒绝生效ui_page 插件必须声明 platform.ui_pages.provide
ui_page.scanner_error中隔离(转人工)生效该项检查本身出错(扫描器故障),版本转人工审核
ui_page.skipped信息仅记录生效前置检查未完成,本项没有运行
ui_page.summary信息仅记录生效页面挂载位置摘要(只展示)

平台包(package)

规则 ID级别结果状态说明
package.blocked_file严重拒绝生效文件哈希在平台封禁名单上
package.corrupt高拒绝生效压缩包损坏
package.digest_mismatch严重拒绝生效存储的包与声明的 SHA-256 或大小不符
package.duplicate_entry高拒绝生效包含重名条目
package.limits_exceeded高拒绝生效超出条目数或解压大小上限
package.path_traversal严重拒绝生效条目路径逃出包根目录
package.scanner_error中隔离(转人工)生效该项检查本身出错(扫描器故障),版本转人工审核
package.setuid高隔离(转人工)生效条目带 setuid 或 setgid 位
package.skipped信息仅记录生效前置检查未完成,本项没有运行
package.special_file高拒绝生效包含设备、管道或套接字文件
package.symlink高拒绝生效包含符号链接或硬链接
package.unknown_format高拒绝生效包不是 zip、tar.gz 或 tar
package.unsupported_entry中拒绝生效不支持的归档条目类型
package.zip_bomb严重拒绝生效解压后远超压缩大小(zip 炸弹)

密钥泄露(secrets)

规则 ID级别结果状态说明
secrets.alibaba_access_key高拒绝生效阿里云 AccessKey ID
secrets.aws_access_key严重拒绝生效AWS Access Key ID
secrets.gcp_api_key高拒绝生效Google API Key
secrets.generic_api_key中隔离(转人工)试运行(只记录)通用凭据赋值(api_key、secret、token、password 等)
secrets.github_fine_grained_pat严重拒绝生效GitHub 细粒度令牌
secrets.github_token严重拒绝生效GitHub 令牌
secrets.gitlab_pat严重拒绝生效GitLab 个人访问令牌
secrets.jwt中隔离(转人工)试运行(只记录)JSON Web Token
secrets.private_key严重拒绝生效包里嵌有私钥
secrets.scanner_error中隔离(转人工)生效该项检查本身出错(扫描器故障),版本转人工审核
secrets.skipped信息仅记录生效前置检查未完成,本项没有运行
secrets.slack_token高拒绝生效Slack 令牌
secrets.slack_webhook高拒绝生效Slack Webhook 地址
secrets.stripe_secret_key高拒绝生效Stripe 密钥
secrets.tencent_secret_id高拒绝生效腾讯云 SecretId

依赖(dependencies)

规则 ID级别结果状态说明
dependencies.inventory信息仅记录生效识别到的第三方组件清单(只展示)
dependencies.malicious严重拒绝生效依赖是已知恶意包
dependencies.not_configured信息仅记录生效平台未配置 OSV 离线库,依赖扫描跳过(只提示)
dependencies.scanner_error中隔离(转人工)生效该项检查本身出错(扫描器故障),版本转人工审核
dependencies.skipped信息仅记录生效前置检查未完成,本项没有运行
dependencies.vulnerable低仅记录生效依赖有已知漏洞(只提示)
dependencies.vulnerable_high高隔离(转人工)试运行(只记录)依赖有高危或严重漏洞

病毒扫描(malware)

规则 ID级别结果状态说明
malware.detected严重拒绝生效clamd 检出恶意代码
malware.not_configured信息仅记录生效平台未配置 clamd,病毒扫描跳过(只提示)
malware.scanner_error中隔离(转人工)生效该项检查本身出错(扫描器故障),版本转人工审核
malware.skipped信息仅记录生效前置检查未完成,本项没有运行

版本差异(diff)

规则 ID级别结果状态说明
diff.binary_changed低仅记录生效新增或修改了可执行文件(只提示)
diff.first_version信息仅记录生效没有可比较的已审核版本(只展示)
diff.scanner_error中隔离(转人工)生效该项检查本身出错(扫描器故障),版本转人工审核
diff.skipped信息仅记录生效前置检查未完成,本项没有运行
diff.summary信息仅记录生效与上一个已审核版本的变化(只展示)