Deepseek 动手开发安全智能体——(1) kali 渗透智能体

admin 2025年2月23日22:01:51评论97 views字数 4579阅读15分15秒阅读模式

目标

打造一个能够理解用户 kali 终端操作需求,并自动执行命令以及分析结果的渗透测试智能体

  • 应用场景提问举例

    • 当前系统是否存在恶意进程?
    • 使用 nmap 快速扫描 example.com 并分析可能存在的威胁
    • 有哪些进程在监听 80 和 443 端口?
    • 解析 http://example.com/index.php?id=1 参数,并尝试使用 sqlmap 进行盲注测试。
    • 当前系统内存大小 * 67891 = ? 【智能体数学公式能力】

开放端口进程扫描

Deepseek 动手开发安全智能体——(1) kali 渗透智能体

智能体调用 nmap 并分析扫描结果

Deepseek 动手开发安全智能体——(1) kali 渗透智能体

智能体调用 Python 计算器

Deepseek 动手开发安全智能体——(1) kali 渗透智能体

(智能体把问题拆分成多个步骤完成,先调用系统命令获取内存大小,再调用 Python 完成计算,最后对结果总结输出)

申请 Deepseek API

前往 Deepseek 开发者平台申请 API,地址是:https://platform.deepseek.com/api_keys

Deepseek 动手开发安全智能体——(1) kali 渗透智能体
在左侧导航页面点击 【API keys】,在该页面中点击创建 【API key】,在弹出的页面中任意输入一个名字即可完成 API Key 的创建。

创建后,记得保存 API Key,比如刚才创建的 key 长这样

sk-b908e392ab1742bc9a112e**********

安装相关的库

pip install llama-indexpip install llama-index-llms-deepseek

一步一步写代码

基础对话能力

先写一段简单的代码来测试申请的 API Key 是否能够正常使用,记得替换下面这段代码中的 API Key。

from llama_index.llms.deepseek import DeepSeekapi_key = 'sk-b908e392ab1742bc9a112e**********'api_base = 'https://api.deepseek.com/v1'model_name = 'deepseek-chat'llm = DeepSeek(model=model_name, api_key=api_key, api_base=api_base)response = llm.complete("你好, 你是谁?")print(response)

如果 API 正常,将得到如下输出。

> python3 agent.py您好!我是由中国的深度求索(DeepSeek)公司开发的智能助手DeepSeek-V3。如您有任何任何问题,我会尽我所能为您提供帮助。

如果您申请的 Deepseek API 无法使用,或没有额度,可以使用 OpenAI 的接口。

智能体

智能体(Agent)是能够自主感知环境、做出决策并执行动作以实现特定目标的系统或程序。

智能体的重要组件:

  • llm:大语言模型(比如 Deepseek、OpenAI 提供的在线模型)
  • tools:智能体能够使用的工具(比如系统命令、Python、搜索引擎)
  • prompt:提示词,给智能体描述背景、任务等。
from llama_index.core.agent.workflow import AgentWorkflowtools = [calculate_expression_python, my_system]agent = AgentWorkflow.from_tools_or_functions(    tools,    llm=llm,    system_prompt="You are a helpful kali linux assistant that can execute python expressions, and execute system commands.(all kali linux commands are available).",)

在这个教程中,kali 渗透智能体可以使用两个工具【calculate_expression_python】、【my_system】分别对应 Python 表达式执行以及系统命令执行。

智能体能够使用这两个工具完成基础数学运算以及 kali 系统操作能力。

import subprocessdefcalculate_expression_python(expression: str):"""    调用 python 的 eval 计算并返回 python 表达式的结果。    """    print("python execute: ", expression)try:        result = eval(expression)return str(result)except Exception as e:return str(e)defmy_system(cmd: str) -> str:"""Executes a system command using bash and returns its output.(all kali linux commands are available)"""    print("system execute:", cmd)try:        result = subprocess.run(cmd, shell=True, text=True, capture_output=True)return result.stdoutexcept Exception as e:return str(e)

agent 将自主思考用户问题以及理解calculate_expression_python、my_system 函数并自动生成合理的函数调用。

集成

最后,实现 main 函数,将 llm、agent、tools 全部集中,以及实现用户交互。

import asynciofrom llama_index.core.workflow import Contextasyncdefmain():    ctx = Context(agent)whileTrue:        user = input("> ")if'bye'in user:break        response = await agent.run(user, ctx=ctx)        print(str(response))if __name__ == "__main__":    asyncio.run(main())

Context 让 agent 拥有上下文记忆,也就是多轮对话能力。您可以修改代码添加检测用户输入 clear 关键字来清除上下文,实现重新开一个新的对话。

完整代码

import asynciofrom llama_index.core.agent.workflow import AgentWorkflowfrom llama_index.core.workflow import Contextfrom llama_index.llms.openai import OpenAIfrom llama_index.llms.deepseek import DeepSeekimport subprocessimport jsonapi_key = 'sk-************'api_base = 'https://api.deepseek.com/v1'model_name = 'deepseek-reasoner'defcalculate_expression_python(expression: str):"""    调用 python 的 eval 计算并返回 python 表达式的结果。    """    print("python execute: ", expression)try:        result = eval(expression)return str(result)except Exception as e:return str(e)defmy_system(cmd: str) -> str:"""Executes a system command using bash and returns its output.(all kali linux commands are available)"""    print("execute:", cmd)try:        result = subprocess.run(cmd, shell=True, text=True, capture_output=True)return result.stdout + result.stderrexcept Exception as e:return str(e)llm = DeepSeek(model=model_name, api_key=api_key, api_base=api_base)#llm = OpenAI(model="gpt-4o", api_key=api_key, api_base=api_base)agent = AgentWorkflow.from_tools_or_functions(    [calculate_expression_python, my_system],    llm=llm,    system_prompt="You are a helpful kali linux assistant that can execute python expressions, and execute system commands.(all kali linux commands are available).",)async defmain():    ctx = Context(agent)while True:        user = input("> ")if 'bye' in user:break        response = await agent.run(user, ctx=ctx)        print(str(response))if __name__ == "__main__":    asyncio.run(main())

后台回复 "智能体" 获取代码下载链接

其他模型

最近 Deepseek 太火了,如果 Deepseek 的 API 接口不稳定,不妨尝试一下第三方的 OpenAI gpt-4o 模型,只需要简单修改即可。

api_key = 'sk-*****'api_base = 'https://api.gpt*****.us/v1'llm=OpenAI(model="gpt-4o", max_retries=3, api_key=api_key, api_base=api_base)

或者使用本地的 ollama 模型来加载本地的 Deepseek 模型。

pip3 install llama-index-llms-ollama
from llama_index.llms.ollama import Ollamallm = Ollama(model="deepseek-r1:7b", request_timeout=60.0)response = llm.complete("你好")print(response)

学习资源

大语言模型安全智能体开发交流群

Deepseek 动手开发安全智能体——(1) kali 渗透智能体

立即关注【二进制磨剑】公众号

👉👉👉【IDA 技巧合集】👈👈👈
👉👉👉【Github 安全项目合集】👈👈👈
【课程完结!内容揭秘!】7 天打造 IDA 9.0 大师:从零基础到逆向精英
【课程完结!内容揭秘】第 2 期-Android 逆向内核攻防
【硬核来袭!】程序分析与反混淆【已完结】

原文始发于微信公众号(二进制磨剑):Deepseek 动手开发安全智能体——(1) kali 渗透智能体

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年2月23日22:01:51
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Deepseek 动手开发安全智能体——(1) kali 渗透智能体https://cn-sec.com/archives/3771369.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息