v1.3.0
Changelog
- [feat] 新增
--poc插件,基于 neutron 引擎在指纹识别后自动进行漏洞验证,支持 check 模式(exploit 验证)和 brute 模式(默认口令测试),仅对匹配指纹的目标执行 POC,避免盲扫 - [feat] 模板资源从 base64 编码切换为
go:embed,源码体积从 125KB 降至 ~1KB + 93KB bin,二进制减小约 28KB,启动更快 - [feat] 新增 SDK 集成入口:暴露可复用的
RunWithArgs入口点,支持BeforePrepare/AfterPrepare生命周期回调与Help()函数,便于 aiscan 等外部项目集成 - [feat] 新增 resource provider 机制,允许外部覆盖内置资源加载
- [feat] 默认使用 core fingers 引擎
- [fix] 修复 Handler-reqPool 死锁:
doCheck()在 Handler goroutine 中调用reqPool.Invoke()导致循环等待,改为通过addAddition()提交请求打破循环依赖 - [fix] 修复并发安全与优雅关闭:
reqCount/failedCount改为atomic.Int64,done改为atomic.Bool,rand.Source加锁,Invoke失败正确回退 wg 计数 - [fix] 修复自适应过滤与统计逻辑,优化 BrutePool/CheckPool 过滤行为
- [fix] 修复 pool 关闭时
additionCh未排空导致wg.Wait挂起的问题 - [fix] 修复 monitor goroutine 竞态条件,简化并发模型
- [fix] 修复 pool 关闭时输出丢失的问题,确保 close 期间保留 pool outputs
- [fix] 增加
FingerEnginenil 检查与各初始化组件幂等性保护,防止 SDK 嵌入场景下 panic 或重复设置 - [fix] 新增 proton 模板加载器与嵌入资源
proton_rules.bin - [refactor] 强化 BrutePool 隔离性,统一 Runner channel 生命周期管理
- [chore] 更新 fingers/proton/utils 依赖,规范行尾符(CRLF → LF)
- [ci] 新增 CIDR E2E 测试与 pool 关闭回归测试,覆盖死锁、goroutine 泄漏等场景
Full Changelog: v1.2.6...v1.3.0