流星雨模块框架文档中心

权限与审核

模块运行在宿主的权限管控之下。能力在 manifest 里声明,宿主在加载时静态审核、运行时动态拦截。声明越少审核越顺,用不到的不写。

五类权限

权限覆盖的行为典型场景
fs文件读写(open、删除、重命名、建目录等)读写配置、导出报表
net网络访问(socketurllibrequests、邮件协议等)调 HTTP API、发邮件
process启动子进程(subprocessos.system、多进程)调 adb / ffmpeg
native调用原生代码(ctypescffi、内存映射)调 DLL
eval动态执行(evalexeccompile、动态导入)脚本/模板引擎
json
{ "permissions": ["process", "fs"] }

声明原则

宿主可能运行在严格的安全模式下(平台方决定)。严格模式除了拦截权限,还会校验跨模块调用是否声明了依赖。

被拒了怎么排查

现象常见原因处理
模块加载失败,提示需要某权限代码用了对应能力但没声明permissions 补齐
运行时报"未声明权限"通过动态导入/延迟调用绕过了静态扫描,运行时被拦补齐权限,或改用声明过的实现方式
未声明权限 'fs',已拦截 open严格模式下 manifest 没写 fsmanifest "permissions": ["fs"]
提示沙箱逃逸特征访问了 __globals__ / __subclasses__改写代码,不碰这些属性
提示存在多个模块类入口文件里有多个模块基类子类显式写 MODULE = YourClass
提示动态执行需权限用了 eval/exec/compile/__import__改写;必需则声明 eval 并说明用途
MethodNotFound: 模块 'x' 未注册处理器 'y'定义了方法但没注册setup(ctx)ctx.register_handler("y", self._y)