SecGPT-14B代码实例:curl调用/v1/chat/completions实现批量日志可疑行为识别
·
SecGPT-14B代码实例:curl调用/v1/chat/completions实现批量日志可疑行为识别
1. 应用场景介绍
在网络安全运维中,每天需要处理海量的系统日志,人工分析这些日志不仅效率低下,还容易遗漏关键的安全威胁。SecGPT-14B作为专业的网络安全分析模型,能够快速识别日志中的异常行为和潜在威胁。
典型应用场景:
- 服务器访问日志分析
- 防火墙规则审计
- 入侵检测系统(IDS)告警验证
- 云服务API调用监控
2. 环境准备与API调用基础
2.1 确认服务状态
首先确保SecGPT-14B服务正常运行:
curl http://127.0.0.1:8000/v1/models
正常响应应包含类似内容:
{
"object": "list",
"data": [
{
"id": "SecGPT-14B",
"object": "model",
"created": 1686935002,
"owned_by": "clouditera"
}
]
}
2.2 基础对话测试
验证基础问答功能:
curl http://127.0.0.1:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "SecGPT-14B",
"messages": [
{"role": "user", "content": "一句话解释什么是SQL注入攻击"}
],
"temperature": 0.3,
"max_tokens": 256
}'
3. 批量日志分析实战
3.1 单条日志分析示例
分析一条Apache访问日志:
LOG='66.249.66.1 - - [15/Jul/2023:10:12:03 +0000] "GET /admin.php?user=1%27OR%271%27%3D%271 HTTP/1.1" 200 4523'
curl http://127.0.0.1:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "SecGPT-14B",
"messages": [
{"role": "system", "content": "你是一个专业的网络安全分析师"},
{"role": "user", "content": "分析以下日志中的可疑行为:\n'"$LOG"'"}
],
"temperature": 0.2,
"max_tokens": 512
}'
3.2 批量日志处理脚本
创建analyze_logs.sh脚本实现批量处理:
#!/bin/bash
API_URL="http://127.0.0.1:8000/v1/chat/completions"
LOG_FILE="access.log"
OUTPUT_FILE="security_report_$(date +%Y%m%d).txt"
echo "开始分析日志文件: $LOG_FILE" > $OUTPUT_FILE
echo "==========================" >> $OUTPUT_FILE
while IFS= read -r line; do
RESPONSE=$(curl -s $API_URL \
-H "Content-Type: application/json" \
-d '{
"model": "SecGPT-14B",
"messages": [
{"role": "system", "content": "请用中文简要指出日志中的安全问题,如无可疑行为则回答'安全'"},
{"role": "user", "content": "'"$line"'"}
],
"temperature": 0.1,
"max_tokens": 128
}')
ANALYSIS=$(echo $RESPONSE | jq -r '.choices[0].message.content')
echo "日志: $line" >> $OUTPUT_FILE
echo "分析: $ANALYSIS" >> $OUTPUT_FILE
echo "----------------" >> $OUTPUT_FILE
sleep 0.5 # 避免请求过载
done < "$LOG_FILE"
echo "分析完成,结果保存在 $OUTPUT_FILE"
3.3 脚本使用说明
- 将需要分析的日志保存为
access.log - 运行脚本:
chmod +x analyze_logs.sh && ./analyze_logs.sh - 查看生成的
security_report_日期.txt报告
参数调整建议:
- 对于大量日志:适当增加
temperature到0.3-0.5提高分析多样性 - 对于复杂日志:增加
max_tokens到256-512获取更详细分析
4. 高级分析技巧
4.1 上下文关联分析
通过多轮对话实现上下文关联分析:
curl http://127.0.0.1:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "SecGPT-14B",
"messages": [
{"role": "system", "content": "你正在分析一组关联的服务器日志"},
{"role": "user", "content": "第一条日志:66.249.66.1尝试访问/admin.php"},
{"role": "assistant", "content": "这是一个可疑的管理后台访问尝试"},
{"role": "user", "content": "同IP 5分钟后访问/login.php?admin=1"},
{"role": "assistant", "content": "这是明显的权限提升尝试"},
{"role": "user", "content": "2分钟后该IP访问/wp-config.php"}
],
"temperature": 0.2,
"max_tokens": 1024
}'
4.2 自定义分析规则
通过system prompt定制分析规则:
curl http://127.0.0.1:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "SecGPT-14B",
"messages": [
{
"role": "system",
"content": "按以下规则分析日志:\n1. 重点关注/admin、/wp-login等路径\n2. 注意参数中包含SQL关键词的请求\n3. 标记同一IP的频繁请求\n4. 输出格式:[风险等级] 问题描述"
},
{"role": "user", "content": "分析日志:'"$LOG"'"}
],
"temperature": 0.1,
"max_tokens": 256
}'
5. 性能优化建议
5.1 批量请求处理
使用jq工具处理多个日志并行分析:
cat access.log | xargs -P 4 -I {} curl -s $API_URL \
-H "Content-Type: application/json" \
-d '{
"model": "SecGPT-14B",
"messages": [
{"role": "system", "content": "简要分析日志安全风险"},
{"role": "user", "content": "{}"}
],
"temperature": 0.2,
"max_tokens": 128
}' | jq -r '[.choices[0].message.content] | @tsv'
5.2 结果后处理
使用awk过滤高风险结果:
awk -F'\t' '$1 !~ /安全/ {print $0}' security_report.txt
6. 总结
通过SecGPT-14B的API接口,我们可以实现:
- 自动化日志安全分析,效率提升10倍以上
- 识别传统规则引擎难以发现的复杂攻击模式
- 生成易于理解的安全报告,降低运维门槛
最佳实践建议:
- 对重要系统日志建立定时分析任务
- 将高风险结果集成到现有告警系统
- 定期review模型的误报/漏报情况优化prompt
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。
更多推荐




所有评论(0)