File size: 3,390 Bytes
a992a28
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61

import { ToolDefinition, ToolType, ParameterType } from './types';

export const nmapScannerExample: ToolDefinition = {
  name: 'nmap_scanner',
  type: ToolType.UTILITY,
  dependencies: 'python-nmap',
  functions: [
    {
      id: 'nmap-func-1',
      name: 'run_scan',
      description: 'Запускает сканирование Nmap на указанные цели с заданными аргументами. Позволяет выполнять гибкую разведку сети.',
      parameters: [
        {
          id: 'nmap-param-1',
          name: 'targets',
          type: ParameterType.STRING,
          description: "Цели для сканирования (IP, домен, CIDR). Например: '192.168.1.1', 'scanme.nmap.org', '10.0.0.0/24'.",
          required: true,
        },
        {
          id: 'nmap-param-2',
          name: 'ports',
          type: ParameterType.STRING,
          description: "Порты для сканирования. Например: '21-25,80,443,8080'.",
          required: true,
        },
        {
          id: 'nmap-param-3',
          name: 'arguments',
          type: ParameterType.STRING,
          description: "Дополнительные аргументы Nmap для тонкой настройки сканирования. Например: '-sV -sC -O'.",
          required: true,
        },
      ],
      returnType: ParameterType.DICTIONARY,
      returnDescription: 'Результат сканирования в формате JSON, содержащий информацию о хостах, портах, службах и их версиях.',
    },
    {
      id: 'nmap-func-2',
      name: 'host_discovery',
      description: 'Обнаруживает активные хосты в указанной сети (ping scan), не проводя сканирование портов.',
      parameters: [
        {
          id: 'nmap-param-4',
          name: 'network_cidr',
          type: ParameterType.STRING,
          description: "Сетевой диапазон в формате CIDR для обнаружения хостов. Например: '192.168.1.0/24'.",
          required: true,
        },
      ],
      returnType: ParameterType.LIST,
      returnDescription: 'Список IP-адресов активных хостов, обнаруженных в сети.',
    },
  ],
};