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 脚本使用说明

  1. 将需要分析的日志保存为access.log
  2. 运行脚本:chmod +x analyze_logs.sh && ./analyze_logs.sh
  3. 查看生成的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接口,我们可以实现:

  1. 自动化日志安全分析,效率提升10倍以上
  2. 识别传统规则引擎难以发现的复杂攻击模式
  3. 生成易于理解的安全报告,降低运维门槛

最佳实践建议

  • 对重要系统日志建立定时分析任务
  • 将高风险结果集成到现有告警系统
  • 定期review模型的误报/漏报情况优化prompt

获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐