refactor: 增强 systeminfo 插件并合并 envinfo

- systeminfo 新增网卡信息、权限检测、补丁数量、杀软检测、
  防火墙状态、敏感环境变量扫描等功能
- 合并 envinfo 到 systeminfo,删除独立的 envinfo 插件
- 修复本地插件通过 -m 指定时仍需 -h 参数的问题
- 通过回调机制解决 common/plugins 循环依赖
This commit is contained in:
ZacharyZcR
2026-05-15 22:47:39 +08:00
parent a0fc7881f2
commit ca4e1ffad3
7 changed files with 277 additions and 292 deletions
+10 -2
View File
@@ -15,6 +15,9 @@ import (
// ErrShowHelp 表示用户请求显示帮助(正常退出)
var ErrShowHelp = errors.New("show help requested")
// IsLocalMode 由 plugins 包注册,判断 -m 指定的是否全是本地插件
var IsLocalMode func(mode string) bool
// Banner 显示程序横幅信息
func Banner() {
// 静默模式下完全跳过Banner显示
@@ -272,9 +275,14 @@ func shouldShowHelp(Info *HostInfo, fv *FlagVars) bool {
// 检查是否提供了扫描目标
hasTarget := Info.Host != "" || fv.TargetURL != "" || fv.HostsFile != "" || fv.URLsFile != ""
// 本地模式需要指定插件才算有效目标
// 本地模式需要目标主机
if fv.LocalPlugin != "" {
hasTarget = true
return false
}
// -m 指定的全是本地插件时也不需要目标
if IsLocalMode != nil && IsLocalMode(fv.ScanMode) {
return false
}
// 如果没有提供任何扫描目标,则显示帮助