k2-?[\w\-]* (k2345 系列) 相关

k2345-security 是不安全插件?

注:以下内容可能将在 k2s (k2srv-loader) 发布后过期

请注意,如果您在您的 Koishi 中启用了 k2s, 可能会导致您 失去 用户群的支持
请参考下方的 k2345-security 禁用/移除方法,以 禁用或移除 您添加的 k2345-security

注:[1] 原文为 就是以破坏你的电脑为目的的

k2345-security 的不安全标识是由作者手动添加的,
由于 k2s 是一个包含 hook、魔改、禁用等很 2345 的 Koishi 插件
为防止部分用户意外安装本插件,导致出现过激行为,
所以加注了不安全标识,以给予部分用户明显的提示

k2345-security 禁用/移除方法

在以前的发布帖中已经标注了禁用方法,最近有部分人说标注的不够明显
所有在此处再次说明

如果您要卸载请进入您的 Koishi 根目录 下的 koishi.yml
(请不要使用 webui 内建 explorer)

找到 k2345-security 的配置项,一般为:

k2345-security:xxxxxx: {}

其中 xxxxxx 为随机字符

在前面添加 ~

~k2345-security:xxxxxx: {}

即可禁用插件

若您要卸载插件,直接删除这一行即可

数据/行为 限制

本系列插件不会以任何形式上传您的数据,
不会阻止您进行使用 Koishi(/cordis/satori) 相关功能以外的 任何活动

版本更新

稳定性

当前最新版本的 k2345-security 在以 Node.js 运行的,
截止这次编辑的最新 Koishi 以及 webui 的等预装插件,没有出现任何炸 Koishi 的情况
确保您的依赖版本为本插件写明的支持版本

反馈

如果您需要反馈问题,请先确认您的

  • koishi
  • plugin-config
  • plugin-market
  • plugin-console
  • locales
  • k2345-security (本插件)

均为最新版本
之后,前往 GitHub Issue 搜索,确保没有已有 Issue 后,创建您的 Issue

哪些情况下使用 k2345系列 插件,可能会导致 Koishi 出现问题?

  1. 依赖插件在 上下文(ctx)提供的服务、console 事件中的方法签名、使用方法发生变化
  2. 使用某些故意添加了阻止 k2345 系列插件正常运行的插件
  3. 上下文运行时 (ctx.runtime) 提供的字段、方法、getter/setter 发生变化
  4. k2s 服务注册或加载失败

Tips:
有些功能已经上 ctx.runtime.ensure 了,应该没那么容易炸
部分功能也是在子 ctx 里运行的 (指 ctx.using)

2 个赞

强制性自我防护

注:以下行为将在 k2-main 或其子插件中实现/调用

受影响的插件

  • systools (koishi-plugin-systools)
  • milk-ikun (koishi-plugin-milk-ikun)

原因

最近部分上述插件的作者通过某些手段,执行系统命令,执行 pm 命令,启用前副作用,不为副作用添加 dispose 处理等方式 卸载 k2345 系列插件

甚至部分插件在用户不知情的情况下,自动更新到了会自动卸载的新版本,在完全不知情的情况下卸载了插件

这个插件的自动更新功能的实现会导致内存泄漏,某些版本错误的重载实现通过使 Koishi 崩溃来重载 Koishi,此处不加赘述

点名批评 systools 实现黑名单功能时 把我 k2345-security 的 npm 包名打错了 5 次 :[

副作用:禁用后也不会 clear 的 setTimeout setInterval, 启用插件前的 setTimeout setInterval

1 个赞

k2s 插件行为

截止目前最新(开发)版本

k2s 插件 (logger: k2srv-loader)

logger name 是这个只是因为颜色比较好看而已(

apply

  1. 拉起 k2s 服务
  2. 根据配置控制是否进行 断链

k2s 服务 constructor 被调用

  1. 配置一个简单的信任启动状态 (真要搞魔法也信任不了)
  2. 上下文检测

k2s 服务 start 被调用 (服务启动)

  1. 配置一个简单的信任 (真要搞魔法也信任不了)
  2. 上下文检测
  3. 运行一次实时防御
1 个赞