最近哪吒监控暴雷事件提醒我们:任何带有远程控制功能的agent,都有潜在的安全风险。即使通过参数关闭远程,代码还在就有被利用的可能。所以我fork了Komari Agent借助Claude改造成了纯监控版本。
🔗 项目地址:https://github.com/xultral/komari-agent
核心改造
彻底删除 1,529 行远程控制代码,从源码层面消除安全隐患。
虽然方法比较激进,但我是真的怕了
修改点如下:
- ✅ 完全删除远程终端代码
- ✅ 完全删除远程命令执行
- ✅ 完全删除自动更新逻辑
- ✅ 强制禁用所有远程功能,配置文件无法重新启用
- ✅ 经过完整安全审查(见仓库 SECURITY_REVIEW.md)
与官方版的区别:
不是简单加个--disable-web-ssh参数,而是从源码层面彻底移除。面板仍然可以发起远程请求,但是agent由于没有相关代码,不会有任何响应,仅会在日志中体现收到了请求

使用方法(详细文档见readme.md)
在安装agent时将原仓库改成自己的GitHub用户名即可,如我的是xultral。建议fork后自行编译(可以让AI再审阅一下代码的安全性),或者也可以使用我编译好的(GitHub Actions自动编译的)。

安全加固策略
一、 权限配置(以linux为例)
前置条件: 已运行 install.sh 安装脚本,agent 已安装到 /opt/komari/agent (Linux) 或 /usr/local/komari/agent (macOS)。
1. 创建专用低权限用户
# 创建系统用户(无登录 shell)
# 使用 mmmmonitor 作为用户名(低调,不易被扫描识别,可以替换成自己喜欢的名字)
sudo useradd -r -s /bin/false -d /opt/komari mmmmonitor
# 设置目录权限
sudo chown -R mmmmonitor:mmmmonitor /opt/komari
2. 修改已安装的 systemd 服务配置
安装脚本已创建 /etc/systemd/system/komari-agent.service,现在修改它使用专用用户:
# 停止服务
sudo systemctl stop komari-agent
# 编辑服务文件
sudo vim /etc/systemd/system/komari-agent.service
将 User=root 改为 User=mmmmonitor,并添加安全加固选项:
[Unit]
Description=Komari Agent Service
After=network.target
[Service]
Type=simple
User=mmmmonitor
Group=mmmmonitor
ExecStart=/opt/komari/agent -e https://your-dashboard.com -t YOUR_TOKEN
WorkingDirectory=/opt/komari
Restart=always
# 安全加固
NoNewPrivileges=true
PrivateTmp=true
ProtectSystem=strict
ProtectHome=true
ReadWritePaths=/opt/komari
ProtectKernelTunables=true
ProtectKernelModules=true
ProtectControlGroups=true
RestrictRealtime=true
RestrictNamespaces=true
# 资源限制
LimitNOFILE=65536
MemoryLimit=256M
CPUQuota=50%
[Install]
WantedBy=multi-user.target
重载并重启:
sudo systemctl daemon-reload
sudo systemctl start komari-agent
sudo systemctl status komari-agent
📖 Windows 和 Docker 部署: 见 DEPLOYMENT.md
二、使用反代并通过cloudflare设置安全规则,仅放行指定ip、区域或者指定asn
1. 打开https://dash.cloudflare.com/
2. 找到Komari的反代域名
3. 左侧栏:安全性 → WAF → 自定义规则
4. 创建自定义规则(如:仅允许中国大陆 IP 访问)
三、验证安全性
从 Dashboard 发送远程命令,观察 agent 日志:
sudo journalctl -u komari-agent -f
相关文档
- 📖 README.md - 基本使用说明
- 🔒 SECURITY_REVIEW.md - 完整安全审查报告
- 🚀 DEPLOYMENT.md - 详细部署指南
- 📝 FORK_NOTES.md - 与官方版的差异说明
这个好
虽然但是,安装时打2个勾更省事
@yester #2 只要代码还在就有被利用的可能
可以直接覆盖安装吗,还是要先卸载原版
@X1721 #3 只要装了探针,能跟主控通信,任何逻辑都有可以利用的风险。所以删不删代码,在我看来意义没有那么大。
@好名字 #4 可以覆盖安装,脚本会删除旧版本的agent
我擦。你要是早点出,就用你这个了。
不错不错
@laughing6608 #5 仅上报该上报的数据,不对宿主机执行任何越权指令,这样放心一点
应该要更进一步,把agent放在容器里跑