标签 golang 下的文章

使用阿里云云效作为版本仓库

使用 云效 流水线 构建部署 golang 项目

注(按构建使用时长计费)

编译阶段之前是正常的

最近开始, 编译 golang 项目时(其他语言未测试) 计时从 11 秒开始跑, 你只要点击运行, 开始计费是从 10 秒开始, 第一秒跳为 11 秒 且实际按照这个时长计费

查阅全部文档, 询问阿里云 AI, 均没有相关信息

且:

当我问阿里云在线 AI 知识库时, 询问别的问题, 哪怕他不知道, 他一般会回答一个相似的问题, 或者引导提示可能是什么问题给出连接

询问这个问题, 直接说不知道, 感觉怪怪的:

CVE-2024-3400 Palo Alto Networks PAN-OS命令注入漏洞

CyberStrikeAI:让安全测试像对话一样简单——智能渗透测试的技术实践

先附上开源工具链接:

https://github.com/Ed1s0nZ/CyberStrikeAI

从工具堆砌到智能调度:渗透测试的演进之路

作为安全工程师,我们都经历过这样的场景:面对一个新的目标系统,我们需要在数十个安全工具之间不断切换,记忆各种复杂的命令行参数,手动分析海量的扫描结果,然后在不同的工具输出中寻找关联性。这种工作方式不仅效率低下,更严重的是,我们往往在工具的使用上花费了太多精力,反而减少了对安全威胁本质的思考时间

技术人的解决方案:CyberStrikeAI的设计理念

CyberStrikeAI不是要取代安全工程师,而是要成为工程师的智能助手。基于一个朴素但强大的想法:用技术手段解决技术问题,让AI处理重复性工作,让人专注于创造性分析

效果

对话效果


MCP调用

调用链

核心架构:Golang + MCP协议的工程化实现

// 核心架构简示
Agent Loop (AI决策引擎)
    ↓
MCP Server (工具调度中心)  
    ↓
Security Executor (命令执行层)
    ↓
98+ Security Tools (工具生态)

技术栈选择背后的思考

  • Golang:并发性能优异,跨平台编译方便,部署简单
  • MCP协议:标准化工具调用,确保扩展性和兼容性
  • SQLite:轻量级数据存储,适合单机部署场景

实际工作流程对比

传统方式

# 1. 端口扫描
nmap -sS -sV -O 192.168.1.0/24

# 2. Web服务识别
httpx -l targets.txt -title -status-code

# 3. 漏洞扫描  
nuclei -l targets.txt -t /nuclei-templates/

# 4. 手动分析结果,决定下一步...

CyberStrikeAI方式

"对192.168.1.0/24网段进行全面的安全评估,重点关注Web服务漏洞"

系统自动完成:

  1. 识别网络范围,调用nmap进行主机发现
  2. 对发现的Web服务调用httpx进行指纹识别
  3. 基于服务指纹选择相应的漏洞检测模板
  4. 自动分析结果,对可疑目标进行深度扫描
  5. 生成结构化报告,包括漏洞详情和修复建议

面向安全工程师的技术特性

工具集成:不重复造轮子

我集成了98+个经过社区验证的安全工具,包括:

  • 信息收集:nmap, subfinder, amass, theharvester
  • 漏洞扫描:nuclei, sqlmap, xsser, dalfox
  • Web安全:dirb, gobuster, nikto, wafw00f
  • 专项工具:wpscan, jexboss, ysoserial

每个工具都通过YAML配置文件进行标准化封装:

name: "nmap"
command: "nmap"
args: ["-sT", "-sV", "-sC"]
description: "网络扫描工具,用于发现网络主机、开放端口和服务"

parameters:
  - name: "target"
    type: "string"
    description: "目标IP地址或域名"
    required: true

智能决策:AI作为调度器

AI在系统中的角色不是替代工具,而是智能调度器和结果分析器

// AI决策流程
1. 理解用户自然语言请求
2. 分析目标特征和测试需求  
3. 选择最适合的工具组合
4. 动态调整参数优化扫描效果
5. 解析工具输出,提取关键信息
6. 基于发现决定后续测试路径

实时监控:掌握测试全过程

系统提供完整的执行监控:

# 查看工具执行状态
GET /api/monitor

# 实时查看漏洞统计
{
  "total": 23,
  "severityCount": {
    "critical": 2,
    "high": 5, 
    "medium": 10,
    "low": 6
  }
}

实际应用场景分析

场景一:红队渗透测试

需求:快速对目标企业进行外围渗透测试
传统方式:手动信息收集 → 工具链执行 → 结果整理 (耗时:4-6小时)
CyberStrikeAI:单次对话描述测试目标 → 自动执行完整流程 (耗时:30-60分钟)

场景二:漏洞复现与验证

需求:批量验证SRC提交的漏洞
传统方式:逐个手动测试,重复性工作量大
CyberStrikeAI:批量导入目标 → 自动匹配检测方案 → 生成验证报告

场景三:安全巡检

需求:定期对资产进行安全巡检
传统方式:编写脚本,定时执行,人工分析
CyberStrikeAI:配置巡检策略 → 自动执行 → 差异对比 → 告警通知

扩展性与二次开发

自定义工具集成

通过标准的YAML配置即可集成新工具:

name: "custom-scanner"
command: "python3"
args: ["/tools/myscanner.py"]
parameters:
  - name: "target"
    type: "string"
    required: true

API集成现有流程

系统提供完整的REST API,可轻松集成到现有安全体系中:

# 集成到自动化漏洞管理平台
def trigger_scan(target, scan_type):
    response = requests.post(
        'http://cyberstrike-ai:8080/api/agent-loop',
        json={'message': f'{scan_type}扫描 {target}'}
    )
    return process_results(response.json())

技术人的实践建议

部署方案

  • 开发测试:本地Docker部署,快速验证
  • 团队使用:服务器部署,共享使用
  • 集成环境:API方式集成到现有安全平台

使用技巧

  1. 渐进式测试:从基础扫描开始,逐步深入
  2. 结果验证:AI发现的关键漏洞建议人工复核
  3. 工具补充:根据实际需求扩展工具库

结语:技术赋能,专注价值

CyberStrikeAI的本质是通过技术手段提升安全工程师的工作效率,让我们从繁琐的工具操作中解放出来,更加专注于威胁分析、漏洞研究和防护策略等更有价值的工作。

在网络安全人才紧缺的今天,提升个体工程师的效率就是提升整个行业的安全水位。我相信,好的工具应该像得力的助手一样,默默处理繁琐工作,让专家专注于专业判断。

项目地址https://github.com/Ed1s0nZ/CyberStrikeAI

让技术回归本质,让安全测试变得更加高效——这是CyberStrikeAI的技术追求,也是我对安全社区的诚意贡献。

图片云上传 IMG-CLOUD-UPDATE

项目介绍

在写博客的场景下,不可避免上传一些图片。作为博客文章插图。

我都是直接上传到我阿里云的 oss 里面。但是阿里云自带的工具太重了,每次打开等半天,而且复制 url 还得点好几下。

我花了一周做了一个快速上传图片到阿里云 OSS ,并且直接生成 makedown 格式的图片链接,方便你写博客或文章的时候快速上传并插入。

下面是正经的介绍:


图片云上传是一款前端使用 vue3+element-plus ,后端使用 go+gin+bbolt 的图片上传项目。使用该项目可以让你更快的把本地图片传到远程图片云仓库。当前版本支持阿里云 oss 。不用担心你的 access_key_id 会泄露,本系统保存到本地二进制数据库,不做任何远程传输。

本项目也适合初学者学习参考,内有大量的注释,对于学习 golang 和 VUE 都有比较大的帮助。

已支持:

  • 阿里云 oss
  • 自定义路径
  • 自定义/自动修改名称
  • 自动添加 markdown 格式
  • 支持设置密码/默认安装页面

未支持

  • 显示多层文件列表
  • aws/腾讯云/七牛等更多远程仓库

截图


https://imgur.com/1kA2Bav

https://imgur.com/gIbloDS

依赖组件:

1. 前端:

  1. vue3
  2. element-plus
  3. pinia
  4. axios
  5. vue-router

2. 后端:

  1. go
  2. gin
  3. bbolt

安装

  1. docker 编译安装

直接执行 make 即可,会先编译 web 端,再编译 server 端。再打包容器镜像。最后 docker 运行镜像。

参考项目:

Go-WXPush - 微信消息推送服务 (基于 golang)

这是一个基于 golang 开发的微信测试公众号模板消息推送服务。它提供了一个简单的 API 接口,让您可以轻松地通过 HTTP 请求将消息推送到指定的微信用户。 github 地址 https://github.com/hezhizheng/go-wxpush

✨ 特性

✅ 完全免费,下载即使用
✅ 支持 Docker 一键部署(镜像容器大小仅 2MB)
✅ 每天 10 万次额度,个人用不完
✅ 真正的微信原生弹窗 + 声音提醒
✅ 支持多用户
✅ 提供免费服务 https://push.hzz.cool (请勿滥用)
✅ 跳转稳定,自带消息详情页面 (默认使用 https://push.hzz.cool/detail , 可自己部署后使用参数替换)

⚠️ 部署条件 (具体可查看 github )

🚀 部署指南

下载编译好的文件启动

  • 启动参数
    • 命令行启动参数(可不加,启动之后直接在 url 上拼接参数也可) ./go-wxpush_windows_amd64.exe -port "5566" -title "测试标题" -content "测试内容" -appid "xxx" -secret "xxx" -userid "xxx-k08" -template_id "xxx-Ks_PwGm--GSzllU" -base_url "https://push.hzz.cool"
    • url 请求参数(get) 与命令行参数名称一致 /wxsend?appid=xxx&secret=xxx&userid=xxx-k08&template_id=xxx-Ks_PwGm--GSzllU&base_url=https://push.hzz.cool&content=保持微笑,代码无 bug!

自行编译可执行文件(跨平台)

复制
# 用法参考 https://github.com/mitchellh/gox
# 生成文件可直接执行 
gox -osarch="windows/amd64" -ldflags "-s -w" -gcflags="all=-trimpath=${PWD}" -asmflags="all=-trimpath=${PWD}"
gox -osarch="darwin/amd64" -ldflags "-s -w" -gcflags="all=-trimpath=${PWD}" -asmflags="all=-trimpath=${PWD}"
gox -osarch="linux/amd64" -ldflags "-s -w" -gcflags="all=-trimpath=${PWD}" -asmflags="all=-trimpath=${PWD}"
gox -osarch="linux/arm64" -ldflags "-s -w" -gcflags="all=-trimpath=${PWD}" -asmflags="all=-trimpath=${PWD}"

🐳 Docker 启动

  • 将编译好的文件放在与 Dockerfile 同目录
  • 构建镜像
复制
docker build -t go-wxpush:v2 .
  • 启动镜像,参数与命令行保持一致
复制
docker run -d -p 5566:5566 --name go-wxpush0 go-wxpush:v2 \
-port "5566" \
-title "测试标题" \
-content "测试内容" \
-appid "xxx" \
-secret "xxx" \
-userid "xxx-k08" \
-template_id "xxx-Ks_PwGm--GSzllU"

🐳 Docker 一键部署

复制
# 重新部署请先拉一遍最新的镜像
docker pull hezhizheng/go-wxpush:v4
# 参数格式与终端启动保持一致, 替换成实际值即可
docker run -it -d -p 5566:5566 --init --name go-wxpush4 hezhizheng/go-wxpush:v4 \
-port "5566" \
-title "测试标题 5566" \
-content "测试内容 5566" \
-appid "xxx" \
-secret "xxx" \
-userid "xxx-k08" \
-template_id "xxx-Ks_PwGm--GSzllU" \
-tz "Asia/Shanghai"

⚙️ API 使用方法

服务部署成功后,您可以通过构造 URL 发起 GET 请求来推送消息。

请求地址

复制
http://127.0.0.1:5566/wxsend

请求参数

参数名类型是否必填描述
portString指定启动端口(仅针对命令行)
titleString消息的标题。
contentString消息的具体内容。
appidString临时覆盖默认的微信 AppID。
secretString临时覆盖默认的微信 AppSecret。
useridString临时覆盖默认的接收用户 OpenID。
template_idString临时覆盖默认的模板消息 ID。
base_urlString临时覆盖默认的跳转 URL。
tzString时区(默认东八区)

使用示例

基础推送

向默认配置的所有用户推送一条消息:

复制
http://127.0.0.1:5566/wxsend?title=服务器通知&content=服务已于北京时间%2022:00%20 重启

临时覆盖用户

向一个临时指定的用户推送消息:

复制
http://127.0.0.1:5566/wxsend?title=私人提醒&content=记得带钥匙&userid=temporary_openid_here

Webhook / POST 请求

除了 GET 请求,服务也支持 POST 方法,更适合用于自动化的 Webhook 集成。

请求地址

复制
http://127.0.0.1:5566/wxsend

请求方法

复制
POST

请求头 (Headers)

复制
{
  "Content-Type": "application/json"
}

请求体 (Body)

请求体需要是一个 JSON 对象,包含与 GET 请求相同的参数。

复制
{
  "title": "Webhook 通知",
  "content": "这是一个通过 POST 请求发送的 Webhook 消息。"
}

使用示例 (cURL)

复制
curl --location --request POST 'http://127.0.0.1:5566/wxsend' \
--data-raw '{
    "title": "来自 cURL 的消息",
    "content": "自动化任务已完成。"
  }'

成功响应

如果消息成功发送给至少一个用户,服务会返回 "errcode": 0 状态码。

失败响应

如果发生错误(如 token 错误、缺少参数、微信接口调用失败等),服务会返回相应的状态码和错误信息。

CyberStrikeAI:让安全测试像对话一样简单——智能渗透测试的技术实践

先附上开源工具链接:

https://github.com/Ed1s0nZ/CyberStrikeAI

从工具堆砌到智能调度:渗透测试的演进之路

作为安全工程师,我们都经历过这样的场景:面对一个新的目标系统,我们需要在数十个安全工具之间不断切换,记忆各种复杂的命令行参数,手动分析海量的扫描结果,然后在不同的工具输出中寻找关联性。这种工作方式不仅效率低下,更严重的是,我们往往在工具的使用上花费了太多精力,反而减少了对安全威胁本质的思考时间

技术人的解决方案:CyberStrikeAI的设计理念

CyberStrikeAI不是要取代安全工程师,而是要成为工程师的智能助手。基于一个朴素但强大的想法:用技术手段解决技术问题,让AI处理重复性工作,让人专注于创造性分析

效果

对话效果


MCP调用

调用链

核心架构:Golang + MCP协议的工程化实现

// 核心架构简示
Agent Loop (AI决策引擎)
    ↓
MCP Server (工具调度中心)  
    ↓
Security Executor (命令执行层)
    ↓
98+ Security Tools (工具生态)

技术栈选择背后的思考

  • Golang:并发性能优异,跨平台编译方便,部署简单
  • MCP协议:标准化工具调用,确保扩展性和兼容性
  • SQLite:轻量级数据存储,适合单机部署场景

实际工作流程对比

传统方式

# 1. 端口扫描
nmap -sS -sV -O 192.168.1.0/24

# 2. Web服务识别
httpx -l targets.txt -title -status-code

# 3. 漏洞扫描  
nuclei -l targets.txt -t /nuclei-templates/

# 4. 手动分析结果,决定下一步...

CyberStrikeAI方式

"对192.168.1.0/24网段进行全面的安全评估,重点关注Web服务漏洞"

系统自动完成:

  1. 识别网络范围,调用nmap进行主机发现
  2. 对发现的Web服务调用httpx进行指纹识别
  3. 基于服务指纹选择相应的漏洞检测模板
  4. 自动分析结果,对可疑目标进行深度扫描
  5. 生成结构化报告,包括漏洞详情和修复建议

面向安全工程师的技术特性

工具集成:不重复造轮子

我集成了98+个经过社区验证的安全工具,包括:

  • 信息收集:nmap, subfinder, amass, theharvester
  • 漏洞扫描:nuclei, sqlmap, xsser, dalfox
  • Web安全:dirb, gobuster, nikto, wafw00f
  • 专项工具:wpscan, jexboss, ysoserial

每个工具都通过YAML配置文件进行标准化封装:

name: "nmap"
command: "nmap"
args: ["-sT", "-sV", "-sC"]
description: "网络扫描工具,用于发现网络主机、开放端口和服务"

parameters:
  - name: "target"
    type: "string"
    description: "目标IP地址或域名"
    required: true

智能决策:AI作为调度器

AI在系统中的角色不是替代工具,而是智能调度器和结果分析器

// AI决策流程
1. 理解用户自然语言请求
2. 分析目标特征和测试需求  
3. 选择最适合的工具组合
4. 动态调整参数优化扫描效果
5. 解析工具输出,提取关键信息
6. 基于发现决定后续测试路径

实时监控:掌握测试全过程

系统提供完整的执行监控:

# 查看工具执行状态
GET /api/monitor

# 实时查看漏洞统计
{
  "total": 23,
  "severityCount": {
    "critical": 2,
    "high": 5, 
    "medium": 10,
    "low": 6
  }
}

实际应用场景分析

场景一:红队渗透测试

需求:快速对目标企业进行外围渗透测试
传统方式:手动信息收集 → 工具链执行 → 结果整理 (耗时:4-6小时)
CyberStrikeAI:单次对话描述测试目标 → 自动执行完整流程 (耗时:30-60分钟)

场景二:漏洞复现与验证

需求:批量验证SRC提交的漏洞
传统方式:逐个手动测试,重复性工作量大
CyberStrikeAI:批量导入目标 → 自动匹配检测方案 → 生成验证报告

场景三:安全巡检

需求:定期对资产进行安全巡检
传统方式:编写脚本,定时执行,人工分析
CyberStrikeAI:配置巡检策略 → 自动执行 → 差异对比 → 告警通知

扩展性与二次开发

自定义工具集成

通过标准的YAML配置即可集成新工具:

name: "custom-scanner"
command: "python3"
args: ["/tools/myscanner.py"]
parameters:
  - name: "target"
    type: "string"
    required: true

API集成现有流程

系统提供完整的REST API,可轻松集成到现有安全体系中:

# 集成到自动化漏洞管理平台
def trigger_scan(target, scan_type):
    response = requests.post(
        'http://cyberstrike-ai:8080/api/agent-loop',
        json={'message': f'{scan_type}扫描 {target}'}
    )
    return process_results(response.json())

技术人的实践建议

部署方案

  • 开发测试:本地Docker部署,快速验证
  • 团队使用:服务器部署,共享使用
  • 集成环境:API方式集成到现有安全平台

使用技巧

  1. 渐进式测试:从基础扫描开始,逐步深入
  2. 结果验证:AI发现的关键漏洞建议人工复核
  3. 工具补充:根据实际需求扩展工具库

结语:技术赋能,专注价值

CyberStrikeAI的本质是通过技术手段提升安全工程师的工作效率,让我们从繁琐的工具操作中解放出来,更加专注于威胁分析、漏洞研究和防护策略等更有价值的工作。

在网络安全人才紧缺的今天,提升个体工程师的效率就是提升整个行业的安全水位。我相信,好的工具应该像得力的助手一样,默默处理繁琐工作,让专家专注于专业判断。

项目地址https://github.com/Ed1s0nZ/CyberStrikeAI

让技术回归本质,让安全测试变得更加高效——这是CyberStrikeAI的技术追求,也是我对安全社区的诚意贡献。

Go-WXPush - 微信消息推送服务 (基于 golang)

这是一个基于 golang 开发的微信测试公众号模板消息推送服务。它提供了一个简单的 API 接口,让您可以轻松地通过 HTTP 请求将消息推送到指定的微信用户。 github 地址 https://github.com/hezhizheng/go-wxpush

✨ 特性

✅ 完全免费,下载即使用
✅ 支持 Docker 一键部署(镜像容器大小仅 2MB)
✅ 每天 10 万次额度,个人用不完
✅ 真正的微信原生弹窗 + 声音提醒
✅ 支持多用户
✅ 提供免费服务 https://push.hzz.cool (请勿滥用)
✅ 跳转稳定,自带消息详情页面 (默认使用 https://push.hzz.cool/detail , 可自己部署后使用参数替换)

⚠️ 部署条件 (具体可查看 github )

🚀 部署指南

下载编译好的文件启动

  • 启动参数
    • 命令行启动参数(可不加,启动之后直接在 url 上拼接参数也可) ./go-wxpush_windows_amd64.exe -port "5566" -title "测试标题" -content "测试内容" -appid "xxx" -secret "xxx" -userid "xxx-k08" -template_id "xxx-Ks_PwGm--GSzllU" -base_url "https://push.hzz.cool"
    • url 请求参数(get) 与命令行参数名称一致 /wxsend?appid=xxx&secret=xxx&userid=xxx-k08&template_id=xxx-Ks_PwGm--GSzllU&base_url=https://push.hzz.cool&content=保持微笑,代码无 bug!

自行编译可执行文件(跨平台)

复制
# 用法参考 https://github.com/mitchellh/gox
# 生成文件可直接执行 
gox -osarch="windows/amd64" -ldflags "-s -w" -gcflags="all=-trimpath=${PWD}" -asmflags="all=-trimpath=${PWD}"
gox -osarch="darwin/amd64" -ldflags "-s -w" -gcflags="all=-trimpath=${PWD}" -asmflags="all=-trimpath=${PWD}"
gox -osarch="linux/amd64" -ldflags "-s -w" -gcflags="all=-trimpath=${PWD}" -asmflags="all=-trimpath=${PWD}"
gox -osarch="linux/arm64" -ldflags "-s -w" -gcflags="all=-trimpath=${PWD}" -asmflags="all=-trimpath=${PWD}"

🐳 Docker 启动

  • 将编译好的文件放在与 Dockerfile 同目录
  • 构建镜像
复制
docker build -t go-wxpush:v2 .
  • 启动镜像,参数与命令行保持一致
复制
docker run -d -p 5566:5566 --name go-wxpush0 go-wxpush:v2 \
-port "5566" \
-title "测试标题" \
-content "测试内容" \
-appid "xxx" \
-secret "xxx" \
-userid "xxx-k08" \
-template_id "xxx-Ks_PwGm--GSzllU"

🐳 Docker 一键部署

复制
# 重新部署请先拉一遍最新的镜像
docker pull hezhizheng/go-wxpush:v4
# 参数格式与终端启动保持一致, 替换成实际值即可
docker run -it -d -p 5566:5566 --init --name go-wxpush4 hezhizheng/go-wxpush:v4 \
-port "5566" \
-title "测试标题 5566" \
-content "测试内容 5566" \
-appid "xxx" \
-secret "xxx" \
-userid "xxx-k08" \
-template_id "xxx-Ks_PwGm--GSzllU" \
-tz "Asia/Shanghai"

⚙️ API 使用方法

服务部署成功后,您可以通过构造 URL 发起 GET 请求来推送消息。

请求地址

复制
http://127.0.0.1:5566/wxsend

请求参数

参数名类型是否必填描述
portString指定启动端口(仅针对命令行)
titleString消息的标题。
contentString消息的具体内容。
appidString临时覆盖默认的微信 AppID。
secretString临时覆盖默认的微信 AppSecret。
useridString临时覆盖默认的接收用户 OpenID。
template_idString临时覆盖默认的模板消息 ID。
base_urlString临时覆盖默认的跳转 URL。
tzString时区(默认东八区)

使用示例

基础推送

向默认配置的所有用户推送一条消息:

复制
http://127.0.0.1:5566/wxsend?title=服务器通知&content=服务已于北京时间%2022:00%20 重启

临时覆盖用户

向一个临时指定的用户推送消息:

复制
http://127.0.0.1:5566/wxsend?title=私人提醒&content=记得带钥匙&userid=temporary_openid_here

Webhook / POST 请求

除了 GET 请求,服务也支持 POST 方法,更适合用于自动化的 Webhook 集成。

请求地址

复制
http://127.0.0.1:5566/wxsend

请求方法

复制
POST

请求头 (Headers)

复制
{
  "Content-Type": "application/json"
}

请求体 (Body)

请求体需要是一个 JSON 对象,包含与 GET 请求相同的参数。

复制
{
  "title": "Webhook 通知",
  "content": "这是一个通过 POST 请求发送的 Webhook 消息。"
}

使用示例 (cURL)

复制
curl --location --request POST 'http://127.0.0.1:5566/wxsend' \
--data-raw '{
    "title": "来自 cURL 的消息",
    "content": "自动化任务已完成。"
  }'

成功响应

如果消息成功发送给至少一个用户,服务会返回 "errcode": 0 状态码。

失败响应

如果发生错误(如 token 错误、缺少参数、微信接口调用失败等),服务会返回相应的状态码和错误信息。

CyberStrikeAI:让安全测试像对话一样简单——智能渗透测试的技术实践

先附上开源工具链接:

https://github.com/Ed1s0nZ/CyberStrikeAI

从工具堆砌到智能调度:渗透测试的演进之路

作为安全工程师,我们都经历过这样的场景:面对一个新的目标系统,我们需要在数十个安全工具之间不断切换,记忆各种复杂的命令行参数,手动分析海量的扫描结果,然后在不同的工具输出中寻找关联性。这种工作方式不仅效率低下,更严重的是,我们往往在工具的使用上花费了太多精力,反而减少了对安全威胁本质的思考时间

技术人的解决方案:CyberStrikeAI的设计理念

CyberStrikeAI不是要取代安全工程师,而是要成为工程师的智能助手。基于一个朴素但强大的想法:用技术手段解决技术问题,让AI处理重复性工作,让人专注于创造性分析

效果

对话效果


MCP调用

调用链

核心架构:Golang + MCP协议的工程化实现

// 核心架构简示
Agent Loop (AI决策引擎)
    ↓
MCP Server (工具调度中心)  
    ↓
Security Executor (命令执行层)
    ↓
98+ Security Tools (工具生态)

技术栈选择背后的思考

  • Golang:并发性能优异,跨平台编译方便,部署简单
  • MCP协议:标准化工具调用,确保扩展性和兼容性
  • SQLite:轻量级数据存储,适合单机部署场景

实际工作流程对比

传统方式

# 1. 端口扫描
nmap -sS -sV -O 192.168.1.0/24

# 2. Web服务识别
httpx -l targets.txt -title -status-code

# 3. 漏洞扫描  
nuclei -l targets.txt -t /nuclei-templates/

# 4. 手动分析结果,决定下一步...

CyberStrikeAI方式

"对192.168.1.0/24网段进行全面的安全评估,重点关注Web服务漏洞"

系统自动完成:

  1. 识别网络范围,调用nmap进行主机发现
  2. 对发现的Web服务调用httpx进行指纹识别
  3. 基于服务指纹选择相应的漏洞检测模板
  4. 自动分析结果,对可疑目标进行深度扫描
  5. 生成结构化报告,包括漏洞详情和修复建议

面向安全工程师的技术特性

工具集成:不重复造轮子

我集成了98+个经过社区验证的安全工具,包括:

  • 信息收集:nmap, subfinder, amass, theharvester
  • 漏洞扫描:nuclei, sqlmap, xsser, dalfox
  • Web安全:dirb, gobuster, nikto, wafw00f
  • 专项工具:wpscan, jexboss, ysoserial

每个工具都通过YAML配置文件进行标准化封装:

name: "nmap"
command: "nmap"
args: ["-sT", "-sV", "-sC"]
description: "网络扫描工具,用于发现网络主机、开放端口和服务"

parameters:
  - name: "target"
    type: "string"
    description: "目标IP地址或域名"
    required: true

智能决策:AI作为调度器

AI在系统中的角色不是替代工具,而是智能调度器和结果分析器

// AI决策流程
1. 理解用户自然语言请求
2. 分析目标特征和测试需求  
3. 选择最适合的工具组合
4. 动态调整参数优化扫描效果
5. 解析工具输出,提取关键信息
6. 基于发现决定后续测试路径

实时监控:掌握测试全过程

系统提供完整的执行监控:

# 查看工具执行状态
GET /api/monitor

# 实时查看漏洞统计
{
  "total": 23,
  "severityCount": {
    "critical": 2,
    "high": 5, 
    "medium": 10,
    "low": 6
  }
}

实际应用场景分析

场景一:红队渗透测试

需求:快速对目标企业进行外围渗透测试
传统方式:手动信息收集 → 工具链执行 → 结果整理 (耗时:4-6小时)
CyberStrikeAI:单次对话描述测试目标 → 自动执行完整流程 (耗时:30-60分钟)

场景二:漏洞复现与验证

需求:批量验证SRC提交的漏洞
传统方式:逐个手动测试,重复性工作量大
CyberStrikeAI:批量导入目标 → 自动匹配检测方案 → 生成验证报告

场景三:安全巡检

需求:定期对资产进行安全巡检
传统方式:编写脚本,定时执行,人工分析
CyberStrikeAI:配置巡检策略 → 自动执行 → 差异对比 → 告警通知

扩展性与二次开发

自定义工具集成

通过标准的YAML配置即可集成新工具:

name: "custom-scanner"
command: "python3"
args: ["/tools/myscanner.py"]
parameters:
  - name: "target"
    type: "string"
    required: true

API集成现有流程

系统提供完整的REST API,可轻松集成到现有安全体系中:

# 集成到自动化漏洞管理平台
def trigger_scan(target, scan_type):
    response = requests.post(
        'http://cyberstrike-ai:8080/api/agent-loop',
        json={'message': f'{scan_type}扫描 {target}'}
    )
    return process_results(response.json())

技术人的实践建议

部署方案

  • 开发测试:本地Docker部署,快速验证
  • 团队使用:服务器部署,共享使用
  • 集成环境:API方式集成到现有安全平台

使用技巧

  1. 渐进式测试:从基础扫描开始,逐步深入
  2. 结果验证:AI发现的关键漏洞建议人工复核
  3. 工具补充:根据实际需求扩展工具库

结语:技术赋能,专注价值

CyberStrikeAI的本质是通过技术手段提升安全工程师的工作效率,让我们从繁琐的工具操作中解放出来,更加专注于威胁分析、漏洞研究和防护策略等更有价值的工作。

在网络安全人才紧缺的今天,提升个体工程师的效率就是提升整个行业的安全水位。我相信,好的工具应该像得力的助手一样,默默处理繁琐工作,让专家专注于专业判断。

项目地址https://github.com/Ed1s0nZ/CyberStrikeAI

让技术回归本质,让安全测试变得更加高效——这是CyberStrikeAI的技术追求,也是我对安全社区的诚意贡献。

自媒体数据

我的搞笑短视频号《明哥秀》,全网粉丝数从 24 年 4.3w ,增长到 25 年 12.3w ,3 倍增长。创作分润,从 24 年¥800 ,增长到 25 年¥9500 ,12 倍增长。数据如下:

我的 2025 年自媒体年终总结(程序员副业)1

一年时间,我在 19 个平台投稿了大概 800 个短视频,每天花费 0.5~1h 来拍摄和剪辑短视频,然后使用批量投稿工具进行分发。目前主要收益来源于百家号和抖音的视频流量分润,另外还有一些平台未达到开通收益条件。也拍摄过一些卖货视频,但几乎无销量。同时我在 25 年 10 月,开始做 sora 的 AI 视频,目前百家号也开始有分润了,虽然还很少。我发现 AI 视频,比真人视频更难做,一眼假的 AI 视频,大家应该也看厌了吧。

如果你对自媒体感兴趣,可以打开这个视频,里面有更详细数据,欢迎留言交流:
油管

编程副业

既然是程序员,肯定也得搞点老本行。25 年我开始做书签管理器,对就是很多人都做过的代替 chrome 书签的。但我使用后,发现这些产品满足不了我的需求,而且又丑又难用。所以我自己用 golang 实现了后端服务,然后在 25 年底使用 Claude Opus4.5 全程 vibe coding 开发了前端页面。在 26 年 1 月 1 日凌晨,我发布了这个工具,免费且开源,今年再做一些功能完善后再进行宣传。未来如果有一定用户量,会增加收费功能,这样才能持续维护下去。

如今,在这波 AI 冲击下,我见到不少无工作的同行。所以我在业余时间搞点副业,万一哪一天轮到我,也能维持个温饱,不至于房贷断供,或者卖房回老家。

对于自媒体和副业,你有什么见解,欢迎留言交流。如果你问我自媒体相关问题,也可以留言,我一定知无不言。


📌 转载信息
原作者:
brightguo
转载时间:
2026/1/11 19:04:20

nature 是一款较新的编程语言,其轻量简单,易于学习。在设计理念和运行时架构上参考了 golang ,同时有着更丰富的语法特性,更适用于业务开发,并在持续探索更广泛的应用领域。

性能是衡量编程语言核心竞争力的关键指标,接下来我们将从 IO 并发、CPU 计算、C 语言 FFI 、协程性能四个维度,并以 golang 作为基准对 nature 编程语言进行性能测试。

测试环境

配置项详情
宿主机Apple Mac mini M4 ,16GB 内存
测试环境Linux 虚拟机( Ubuntu 6.17.8 ,aarch64 架构)
编译器 / 运行时版本Nature:v0.7.0 ( release build 2025-12-15 )
Golang:go1.23.4 linux/arm64
Rust:cargo 1.85.0
Node.js:v20.16.0

所有测试均采用相同的代码逻辑实现,文中代码示例均以 nature 编程语言为例。

IO 并发

IO 并发是网络服务的核心能力,本测试通过 HTTP 服务端压力测试,综合考察语言的 IO 调度、CPU 利用率与 GC 稳定性。

nature 代码示例

import http  
  
fn main() {  
    var app = http.server()  
  
    app.get('/', fn( http.request_t req, ptr<http.response_t> res):void! {  
        res.send('hello nature')  
    })  
  
    app.listen(8888)  
}

ab 工具测试命令

ab -n 100000 -c 1000 http://127.0.0.1:8888/
  • -n 100000: 总请求数 10 万次
  • -c 1000: 并发数 1000

测试结果

Nature vs Golang: 性能基准测试3

可以看到 nature 在 HTTP 并发性能上超越了 golang ,这对于早期版本的编程语言来说可以说是不错的成绩。

由于 nature 和 node.js 均使用 libuv 作为 IO 后端,所以 node.js 也参与到基准测试中(libuv 线程不安全,node.js 和 nature 的事件循环均在单线程中运行),但 nature 作为编译型语言其并发处理能力远胜过 node.js 。

CPU 计算

使用经典的递归斐波那契数列计算 fib(45) 来测试语言的 CPU 计算与高频函数调用开销。

nature 代码示例

fn fib(int n):int {
    if (n <= 1) {
        return n
    }
    
    return fib(n - 1) + fib(n - 2)
}

测试方法

time ./main
1134903170./main  2.50s user 0.01s system 101% cpu 2.473 total

测试结果:

Nature vs Golang: 性能基准测试2

nature 和 golang 均采用自研的编译器后端,性能上也相差无几。而耗时高于 rust 的主要原因之一是两者在函数运行前进行了额外处理。

golang 采用了抢占式调度,不需要关注 GC safepoint ,但仍需要关注协程栈是否需要扩容,也就是下面的汇编指令

nature 采用了协作式调度,所以需要处理 GC safepoint 。但 nature 采用共享栈协程,所以不需要关心栈扩容问题。

nature 的 safepoint 实现仍有优化空间,若后续采用 SIGSEGV 的触发模式,函数调用性能将会得到进一步提升。

nature 和 golang 采用了截然不同的调度策略和协程设计方案,这会带来哪些不同呢?不妨看看后续的测试 👇

C 语言 FFI

通过调用 1 亿次 C 标准库中的 sqrt 函数,测试与 C 语言的协作效率。

nature 代码示例

import libc  
  
fn main() {  
    for int i = 0; i < 100000000; i+=1 {  
        var r = libc.sqrt(4)  
    }  
}

测试结果

Nature vs Golang: 性能基准测试1

可以看到在 C FFI 方面,nature 相较于 golang 有着非常大的优势,这是因为 golang 的 CGO 模块有着非常高的性能成本,独立栈协程和抢占式调度设计与 C 语言难以兼容,需要经过复杂的处理。

而 nature 的共享栈和协作式调度设计与 C 语言更兼容,不仅仅是 C 语言,只要符合 ABI 规范的二进制库,nature 都能直接进行调用。

在高性能计算、底层硬件操作等场景中,nature 可无缝集成 C / 汇编编写的核心模块,弥补 GC 语言在极致性能场景下的不足,兼顾开发效率与底层性能。

协程

协程是现代并发编程的核心组件,本测试通过 “百万协程创建 + 切换 + 简单计算” 场景,评估 Nature 与 Golang 的协程调度效率、内存占用与响应速度。

nature 代码示例

import time  
import co  
  
var count = 0  
  
fn sum_co() {  
    count += 1  
    co.sleep(10000)  // ms, Remove this line if no sleep
}  
  
fn main() {  
    var start = time.now().ms_timestamp()  
    for int i = 0; i < 1000000; i+=1 {  
        go sum_co()  
    }  
  
    println(time.now().ms_timestamp() - start)  // create time
    
    int prev_count = 0  
    for prev_count != count {  
        println(time.now().ms_timestamp() - start, count)  
        prev_count = count  
        co.sleep(10)  
    }  
    println(time.now().ms_timestamp() - 10 - start) // calc time
    co.sleep(3000) // ms
} 

测试结果

Nature vs Golang: 性能基准测试4

语言创建耗时(ms)计算耗时(ms)无 sleep 计算耗时(ms)占用内存
Nature540564170900+M
Golang100010151402500+M

nature 的协程在综合性能上非常优秀,内存占用更是远低于 golang 。而这是建立在 nature 的协程调度器未进行优化的前提下,预计在后续的版本中 nature 的协程调度器会进一步优化,届时将会有更加亮眼的表现。

总结

这是一次非专业的性能测试,但在粗略的测试中,nature 编程语言展现出了超越预期的能力与潜力。作为早期的编程语言,其运行时和编译器还有着非常大的优化空间,在正式版本发布时性能将进一步提升。

以现在的性能表现来看,nature 无疑是值得关注和尝试的编程语言,尤其是在云原生、网络服务、API 开发等服务端开发领域。


这是 nature 编程语言的官网 https://nature-lang.cn/ 如果你感兴趣的话也可以加入讨论组,v ➡️ nature-lang


📌 转载信息
原作者:
weiwenhao
转载时间:
2025/12/26 11:46:26

作为一个开发,我在学习网络安全知识的时候发现很多平台的漏洞环境都是要靠猜去理解出题人的意图,关键是题目给的信息还非常的少,让我这种脚本小子的挫败感特别强,入个门都很难。

因此我搞了一个公开源码找漏洞拿 FLAG 的平台,目前有十几道题,部分是借鉴网上其他语言的题然后用 golang 重写的,部分是原创的,游客即可查看全部环境源码,不喜欢线上环境直接复制到本地也能跑,欢迎各位师傅测试。

地址: https://cyberpoc.typesafe.cn/