Добавить в корзинуПозвонить
Найти в Дзене
SkyNet | Новости ИИ

Создание продвинутых агентов искусственного интеллекта для кибербезопасности с помощью CAI

Введение В этом руководстве мы пошагово создадим и изучим фреймворк CAI для кибербезопасности в Colab, используя модель, совместимую с OpenAI. Мы начнём с настройки окружения, безопасной загрузки ключа API и создания базового агента. Затем мы постепенно перейдём к более продвинутым возможностям, таким как пользовательские инструменты функций, многоагентные передачи, координация агентов, входные ограничения, динамические инструменты, конвейеры в стиле CTF, обработка многоходовых контекстов и потоковые ответы. Шаг 1: настройка окружения Мы устанавливаем необходимые пакеты в Google Colab и безопасно загружаем ключ API. Затем мы настраиваем модель, импортируем основные классы CAI и определяем вспомогательные функции, которые упрощают чтение выходных данных. Шаг 2: создание первого агента кибербезопасности Мы создаём нашего первого агента кибербезопасности и запускаем простой запрос, чтобы увидеть базовый рабочий процесс CAI в действии. ```python hello_agent = Agent( name="Cyber Advis

Создание продвинутых агентов искусственного интеллекта для кибербезопасности с помощью CAI

Введение

В этом руководстве мы пошагово создадим и изучим фреймворк CAI для кибербезопасности в Colab, используя модель, совместимую с OpenAI. Мы начнём с настройки окружения, безопасной загрузки ключа API и создания базового агента. Затем мы постепенно перейдём к более продвинутым возможностям, таким как пользовательские инструменты функций, многоагентные передачи, координация агентов, входные ограничения, динамические инструменты, конвейеры в стиле CTF, обработка многоходовых контекстов и потоковые ответы.

Шаг 1: настройка окружения

Мы устанавливаем необходимые пакеты в Google Colab и безопасно загружаем ключ API. Затем мы настраиваем модель, импортируем основные классы CAI и определяем вспомогательные функции, которые упрощают чтение выходных данных.

Шаг 2: создание первого агента кибербезопасности

Мы создаём нашего первого агента кибербезопасности и запускаем простой запрос, чтобы увидеть базовый рабочий процесс CAI в действии.

```python

hello_agent = Agent(

name="Cyber Advisor",

instructions=(

"You are a cybersecurity expert. Provide concise, accurate answers "

"about network security, vulnerabilities, and defensive practices. "

"If a question is outside cybersecurity, politely redirect."

),

model=model(),

)

r = await Runner.run(hello_agent, "What is the OWASP Top 10 and why does it matter?")

show(r, "Example 1 — Hello World Agent")

```

Шаг 3: определение пользовательских инструментов кибербезопасности

Мы определяем пользовательские инструменты кибербезопасности, которые позволяют нашим агентам проверять репутацию IP, имитировать сканирование портов и искать подробности CVE. Мы используем декоратор @function_tool, чтобы сделать эти функции Python вызываемыми инструментами в рамках фреймворка CAI.

```python

@function_tool

def checkipreputation(ip_address: str) -> str:

"""Check if an IP address is known to be malicious."""

# ...

@function_tool

def scanopenports(target: str) -> str:

"""Simulate an nmap-style port scan on a target host."""

# ...

@function_tool

def lookupcve(cveid: str) -> str:

"""Look up details for a given CVE identifier."""

# ...

```

Шаг 4: координация многоагентских рабочих процессов

Мы переходим от выполнения одиночных агентов к скоординированным многоагентским рабочим процессам, используя передачи и координацию агентов-как-инструменты. Мы сначала создаём специалиста по разведке и аналитика рисков, чтобы один агент собирал разведданные, а другой превращал их в надлежащую оценку рисков.

```python

recon_specialist = Agent(

name="Recon Specialist",

instructions=(

"You are a reconnaissance agent. Gather intelligence about the "

"target using your tools. Once you have enough info, hand off "

"to the Risk Analyst for assessment."

),

tools=[checkipreputation, scanopenports, lookup_cve],

model=model(),

)

risk_analyst = Agent(

name="Risk Analyst",

instructions=(

"You are a senior risk analyst. Yo...

Читать далее