"Fossies" - the Fresh Open Source Software Archive

Member "ospd-2.0.1/doc/OSP.xml" (12 May 2020, 41441 Bytes) of package /linux/misc/openvas/ospd-2.0.1.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) XML source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "OSP.xml": 2.0.0_vs_2.0.1.

    1 <?xml version="1.0"?>
    2 
    3 <!--
    4 Copyright (C) 2014-2019 Greenbone Networks GmbH
    5 
    6 SPDX-License-Identifier: GPL-2.0-or-later
    7 
    8 This program is free software; you can redistribute it and/or
    9 modify it under the terms of the GNU General Public License
   10 as published by the Free Software Foundation; either version 2
   11 of the License, or (at your option) any later version.
   12 
   13 This program is distributed in the hope that it will be useful,
   14 but WITHOUT ANY WARRANTY; without even the implied warranty of
   15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   16 GNU General Public License for more details.
   17 
   18 You should have received a copy of the GNU General Public License
   19 along with this program; if not, write to the Free Software
   20 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   21 -->
   22 
   23 <protocol>
   24   <name>Open Scanner Protocol</name>
   25   <abbreviation>OSP</abbreviation>
   26   <summary>The Open Scanner Protocol</summary>
   27   <version>1.2</version>
   28 
   29   <!-- Types. -->
   30 
   31   <type>
   32     <name>boolean</name>
   33     <summary>0 or 1</summary>
   34     <pattern>
   35       <e>xsd:token { pattern = "[01]" }</e>
   36     </pattern>
   37   </type>
   38   <type>
   39     <name>epoch_time</name>
   40     <summary>A date, in unix format</summary>
   41     <pattern>
   42       <e>integer</e>
   43     </pattern>
   44   </type>
   45   <type>
   46     <name>integer</name>
   47     <summary>An integer</summary>
   48     <pattern>
   49       <e>integer</e>
   50     </pattern>
   51   </type>
   52   <type>
   53     <name>status</name>
   54     <summary>Status code describing the result of a command</summary>
   55     <pattern>
   56       <e>xsd:token { pattern = "[1-5][0-9][0-9]" }</e>
   57     </pattern>
   58   </type>
   59   <type>
   60     <name>string</name>
   61     <summary>A string</summary>
   62     <pattern>
   63       <e>text</e>
   64     </pattern>
   65   </type>
   66   <type>
   67     <name>uuid</name>
   68     <summary>A Universally Unique Identifier (UUID)</summary>
   69     <pattern>
   70       <e>xsd:token { pattern = "[0-9abcdefABCDEF\-]{1,40}" }</e>
   71     </pattern>
   72   </type>
   73   <type>
   74     <name>vt_id</name>
   75     <summary>Identifier for a vulnerability test</summary>
   76     <pattern>
   77       <e>xsd:token { pattern = "[0-9a-zA-Z_\-.:]{1,80}" }</e>
   78     </pattern>
   79   </type>
   80 
   81   <!-- Elements. -->
   82 
   83   <element>
   84     <name>credential</name>
   85     <summary>A credential consisting of type, service, port, username and password.</summary>
   86     <pattern>
   87       <attrib>
   88         <name>type</name>
   89         <type>string</type>
   90         <required>1</required>
   91       </attrib>
   92       <attrib>
   93         <name>service</name>
   94         <type>string</type>
   95         <required>1</required>
   96       </attrib>
   97       <attrib>
   98         <name>port</name>
   99         <type>string</type>
  100       </attrib>
  101       <e>username</e>
  102       <e>password</e>
  103     </pattern>
  104     <ele>
  105       <name>username</name>
  106       <pattern>text</pattern>
  107     </ele>
  108     <ele>
  109       <name>password</name>
  110       <pattern>text</pattern>
  111     </ele>
  112     <example>
  113       <summary>Credential with port</summary>
  114       <e>
  115         <credential type="up" service="ssh" port="22">
  116           <username>scanuser</username>
  117           <password>mypass</password>
  118         </credential>
  119       </e>
  120     </example>
  121     <example>
  122       <summary>Credential without port</summary>
  123       <e>
  124         <credential type="up" service="smb">
  125           <username>smbuser</username>
  126           <password>mypass</password>
  127         </credential>
  128       </e>
  129     </example>
  130   </element>
  131 
  132   <element>
  133     <name>scanner_params</name>
  134     <summary>Contains elements that represent scanner specific parameters</summary>
  135     <pattern>
  136       <e>e</e>
  137     </pattern>
  138     <ele>
  139       <name>e</name>
  140       <summary>Element that represents a scanner specific parameters</summary>
  141       <type>string</type>
  142       <pattern>string</pattern>
  143     </ele>
  144     <example>
  145       <summary>scanner_params</summary>
  146       <e>
  147         <scanner_params>
  148           <target_port>443</target_port>
  149           <use_https>1</use_https>
  150           <profile>fast_scan</profile>
  151         </scanner_params>
  152       </e>
  153     </example>
  154   </element>
  155 
  156   <element>
  157     <name>targets</name>
  158     <summary>List of targets</summary>
  159     <pattern>
  160       <e>target</e>
  161     </pattern>
  162     <example>
  163       <summary>Two targets</summary>
  164       <e>
  165         <targets>
  166           <target>...</target>
  167           <target>...</target>
  168         </targets>
  169       </e>
  170     </example>
  171   </element>
  172 
  173   <element>
  174     <name>target</name>
  175     <summary>A scan target consisting of hosts, a port selection and credentials</summary>
  176     <pattern>
  177       <e>hosts</e>
  178       <e>ports</e>
  179       <e>credentials</e>
  180       <e>exclude_hosts</e>
  181       <e>finished_hosts</e>
  182     </pattern>
  183     <ele>
  184       <name>hosts</name>
  185       <summary>One or many hosts. The list is comma-separated. Each entry can be a IP address, a CIDR notation, a hostname, a IP range. IPs can be v4 or v6</summary>
  186       <type>string</type>
  187     </ele>
  188     <ele>
  189       <name>ports</name>
  190       <type>string</type>
  191       <summary>A list of ports that is the same for the given hosts</summary>
  192     </ele>
  193     <ele>
  194       <name>credentials</name>
  195       <summary>One or many credentials containing the credential for the given hosts.</summary>
  196       <pattern>
  197         <e>credential</e>
  198       </pattern>
  199     </ele>
  200     <ele>
  201       <name>exclude_hosts</name>
  202       <summary>One or many hosts to exclude. The list is comma-separated. Each entry can be a IP address, a CIDR notation, a hostname, a IP range. IPs can be v4 or v6. Each wrapper must handle the exclude hosts.
  203       </summary>
  204       <type>string</type>
  205     </ele>
  206     <ele>
  207       <name>finished_hosts</name>
  208       <summary>One or many finished hosts to exclude when resuming a task. The list is comma-separated. Each entry can be an IP address, a CIDR notation, a hostname, a IP range. IPs can be v4 or v6. The listed hosts will be set as finished before starting the scan. Each wrapper must handle the finished hosts.
  209       </summary>
  210       <type>string</type>
  211     </ele>
  212     <example>
  213       <summary>Target without credentials.</summary>
  214       <e>
  215         <target>
  216           <hosts>example.org</hosts>
  217           <ports>T:22,U:5060</ports>
  218         </target>
  219       </e>
  220     </example>
  221     <example>
  222       <summary>Target with two credentials.</summary>
  223       <e>
  224         <target>
  225           <hosts>192.168.1.0/24</hosts>
  226           <ports>1,2,3,80,443</ports>
  227           <credentials>
  228             <credential>...</credential>
  229             <credential>...</credential>
  230           </credentials>
  231           <exclude_hosts>192.168.1.10-15</exclude_hosts>
  232           <finished_hosts>192.168.1.1-3</finished_hosts>
  233         </target>
  234       </e>
  235     </example>
  236   </element>
  237 
  238   <element>
  239     <name>vt_group</name>
  240     <summary>Collection of Vulnerability Test</summary>
  241     <pattern>
  242       <attrib>
  243         <name>filter</name>
  244         <type>string</type>
  245         <required>1</required>
  246       </attrib>
  247     </pattern>
  248     <example>
  249       <summary>VT group filtered by family name </summary>
  250       <e>
  251         <vt_group filter='family=general'/>
  252         <vt_group filter='family=debian'/>
  253       </e>
  254     </example>
  255   </element>
  256 
  257   <element>
  258     <name>vt_selection</name>
  259     <summary>Contains elements that represent a Vulnerability Test or a collection of Vulnerability Tests to be executed and their parameters</summary>
  260     <pattern>
  261       <e>vt_single</e>
  262       <e>vt_group</e>
  263     </pattern>
  264     <example>
  265       <summary>VT with parameters and VT group </summary>
  266       <e>
  267         <vt_selection>
  268           <vt_single id='1.3.6.1.4.1.25623.1.0.10662'>
  269             <vt_value id='XYZ JKL'>200</vt_value>
  270             <vt_value id='ABC'>yes</vt_value>
  271           </vt_single>
  272           <vt_single id='1.3.6.1.4.1.25623.1.0.10330'></vt_single>
  273           <vt_single id='1.3.6.1.4.1.25623.1.0.100034'></vt_single>
  274           <vt_group filter='family=general'/>
  275           <vt_group filter='family=debian'/>
  276         </vt_selection>
  277       </e>
  278     </example>
  279   </element>
  280 
  281   <element>
  282     <name>vt_single</name>
  283     <summary>Elements that represent Vulnerability Tests</summary>
  284     <pattern>
  285       <attrib>
  286         <name>vt_id</name>
  287         <summary>Identifier for a vulnerability test</summary>
  288         <type>vt_id</type>
  289         <required>1</required>
  290       </attrib>
  291       <e>vt_value</e>
  292     </pattern>
  293     <example>
  294       <summary>VT with parameters</summary>
  295       <e>
  296         <vt_single id='1.3.6.1.4.1.25623.1.0.10662'>
  297           <vt_value id='XYZ JKL'>200</vt_value>
  298           <vt_value id='ABC'>yes</vt_value>
  299         </vt_single>
  300         <vt_single id='1.3.6.1.4.1.25623.1.0.10330'></vt_single>
  301       </e>
  302     </example>
  303   </element>
  304 
  305   <element>
  306     <name>vt_value</name>
  307     <summary>Vulnerability Test parameter</summary>
  308     <pattern>
  309       <attrib>
  310         <name>id</name>
  311         <type>string</type>
  312         <required>1</required>
  313       </attrib>
  314       string
  315     </pattern>
  316     <example>
  317       <summary>Parameters for a single VT</summary>
  318       <e>
  319         <vt_value id='XYZ JKL'>200</vt_value>
  320         <vt_value id='ABC'>yes</vt_value>
  321       </e>
  322     </example>
  323   </element>
  324 
  325   <!-- Commands. -->
  326 
  327   <command>
  328     <name>help</name>
  329     <summary>Get the help text</summary>
  330     <pattern>
  331       <attrib>
  332         <name>format</name>
  333         <summary>Help format</summary>
  334         <type>
  335           <alts>
  336             <alt>xml</alt>
  337             <alt>text</alt>
  338           </alts>
  339         </type>
  340       </attrib>
  341     </pattern>
  342     <response>
  343       <pattern>
  344         <attrib>
  345           <name>status</name>
  346           <type>status</type>
  347           <required>1</required>
  348         </attrib>
  349         <attrib>
  350           <name>status_text</name>
  351           <type>text</type>
  352           <required>1</required>
  353         </attrib>
  354         text
  355       </pattern>
  356     </response>
  357     <example>
  358       <summary>Get the help text</summary>
  359       <request>
  360         <help format='xml'/>
  361       </request>
  362       <response>
  363         <help_response status_text="OK" status="200">
  364           <delete_scan>
  365             <attributes>
  366               <scan_id>ID of scan to delete</scan_id>
  367             </attributes>
  368             <elements></elements>
  369             <description>Delete a finished scan</description>
  370           </delete_scan>
  371           <help>
  372             <attributes>
  373               <format>Help format. Could be text or xml</format>
  374             </attributes>
  375             <elements></elements>
  376             <description>Print the commands help</description>
  377           </help>
  378           <get_version>
  379             <attributes></attributes>
  380             <elements></elements>
  381             <description>Return various versions</description>
  382           </get_version>
  383           <stop_scan>
  384             <attributes>
  385               <scan_id>ID of scan stop.</scan_id>
  386             </attributes>
  387             <elements></elements>
  388             <description>Stop a currently running scan.</description>
  389           </stop_scan>
  390           <get_scanner_details>
  391             <attributes></attributes>
  392             <elements></elements>
  393             <description>Return scanner description and parameters</description>
  394           </get_scanner_details>
  395           <start_scan>
  396             <attributes>
  397               <scan_id>Optional UUID value to set as scan ID</scan_id>
  398               <target>Target hosts to scan in a comma-separated list</target>
  399               <ports>Ports list to scan as comma-separated list</ports>
  400               <parallel>Optional number of parallel scans to run</parallel>
  401             </attributes>
  402             <elements>
  403               <scanner_params>
  404                 <profile>Scan profile</profile>
  405                 <target_port>Target port</target_port>
  406                 <use_https>Use HTTPS</use_https>
  407                 <w3af_timeout>w3af scan timeout</w3af_timeout>
  408               </scanner_params>
  409             </elements>
  410             <description>Start a new scan</description>
  411           </start_scan>
  412           <stop_scan>
  413             <attributes>
  414               <scan_id>ID of scan to stop</scan_id>
  415             </attributes>
  416             <description>Stop a currently running scan</description>
  417           </stop_scan>
  418           <get_scans>
  419             <attributes>
  420               <scan_id>ID of a specific scan to get</scan_id>
  421               <details>Whether to return the full scan report</details>
  422               <pop_results>Whether to remove the fetched results</pop_results>
  423             </attributes>
  424             <elements></elements>
  425             <description>List the scans in buffer</description>
  426           </get_scans>
  427           <get_performance>
  428             <description>Return system report</description>
  429             <elements/>
  430             <attributes>
  431               <title>Name of report.</title>
  432               <start>Time of first data point in report.</start>
  433               <end>Time of last data point in report.</end>
  434             </attributes>
  435           </get_performance>
  436         </help_response>
  437       </response>
  438     </example>
  439   </command>
  440 
  441   <command>
  442     <name>get_performance</name>
  443     <summary>Return performan information from an external program</summary>
  444     <pattern>
  445       <attrib>
  446         <name>start</name>
  447         <summary>Interval start</summary>
  448         <type>int</type>
  449       </attrib>
  450       <attrib>
  451         <name>end</name>
  452         <summary>Interval end</summary>
  453         <type>int</type>
  454       </attrib>
  455       <attrib>
  456         <name>titles</name>
  457         <summary>Interval title to get</summary>
  458         <type>text</type>
  459       </attrib>
  460     </pattern>
  461      <response>
  462       <pattern>
  463         <attrib>
  464           <name>status</name>
  465           <type>status</type>
  466           <required>1</required>
  467         </attrib>
  468         <attrib>
  469           <name>status_text</name>
  470           <type>text</type>
  471           <required>1</required>
  472         </attrib>
  473         text
  474       </pattern>
  475      </response>
  476      <example>
  477        <request>
  478          <get_performance start='0' titles='mem'/>
  479        </request>
  480        <response>
  481          <help_response status="200" status_text="OK">
  482            Some output.
  483          </help_response>
  484        </response>
  485      </example>
  486 
  487   </command>
  488   <command>
  489     <name>get_scans</name>
  490     <summary>Get the stored scans</summary>
  491     <pattern>
  492       <attrib>
  493         <name>scan_id</name>
  494         <summary>Scan UUID</summary>
  495         <type>uuid</type>
  496       </attrib>
  497       <attrib>
  498         <name>details</name>
  499         <summary>Whether to get full scan reports</summary>
  500         <type>boolean</type>
  501       </attrib>
  502       <attrib>
  503         <name>pop_results</name>
  504         <summary>Whether to remove the fetched results</summary>
  505         <type>boolean</type>
  506       </attrib>
  507     </pattern>
  508     <response>
  509       <pattern>
  510         <attrib>
  511           <name>status</name>
  512           <type>status</type>
  513           <required>1</required>
  514         </attrib>
  515         <attrib>
  516           <name>status_text</name>
  517           <type>text</type>
  518           <required>1</required>
  519         </attrib>
  520         <any><e>scan</e></any>
  521       </pattern>
  522       <ele>
  523         <name>scan</name>
  524         <pattern>
  525           <attrib>
  526             <name>id</name>
  527             <type>uuid</type>
  528           </attrib>
  529           <attrib>
  530             <name>target</name>
  531             <type>string</type>
  532           </attrib>
  533           <attrib>
  534             <name>start_time</name>
  535             <type>epoch_time</type>
  536           </attrib>
  537           <attrib>
  538             <name>end_time</name>
  539             <type>epoch_time</type>
  540           </attrib>
  541           <attrib>
  542             <name>progress</name>
  543             <type>integer</type>
  544           </attrib>
  545           <attrib>
  546             <name>status</name>
  547             <type>string</type>
  548           </attrib>
  549           <ele>
  550             <name>results</name>
  551           </ele>
  552         </pattern>
  553       </ele>
  554     </response>
  555     <example>
  556       <summary>Get a scan report summary</summary>
  557       <request>
  558         <get_scans scan_id="f14747d3-a4d7-4e79-99bb-a0a1276cb78c" details="1" pop_results="0"/>
  559       </request>
  560       <response>
  561         <get_scans_response status_text="OK" status="200">
  562           <scan id="9750f1f8-07aa-49cc-9c31-2f9e469c8f65" target="192.168.1.252"
  563                 end_time="1432824234" progress="100" status="finished" start_time="1432824206">
  564              <results>
  565                <result host="192.168.1.252" hostname="" severity="2.5" port="443/tcp"
  566                        test_id="" name="Path disclosure vulnerability"
  567                        type="Alarm">
  568                  The URL: &quot;https://192.168.1.252/&quot; has a path
  569                  disclosure vulnerability which discloses "/var/www/phpinfo.php"
  570                  ...
  571                </result>
  572                ...
  573              </results>
  574            </scan>
  575 
  576         </get_scans_response>
  577       </response>
  578     </example>
  579   </command>
  580   <command>
  581     <name>delete_scan</name>
  582     <summary>Delete a finished scan</summary>
  583     <pattern>
  584       <attrib>
  585         <name>scan_id</name>
  586         <summary>Scan UUID</summary>
  587         <type>uuid</type>
  588       </attrib>
  589     </pattern>
  590     <response>
  591       <pattern>
  592         <attrib>
  593           <name>status</name>
  594           <type>status</type>
  595           <required>1</required>
  596         </attrib>
  597         <attrib>
  598           <name>status_text</name>
  599           <type>text</type>
  600           <required>1</required>
  601         </attrib>
  602       </pattern>
  603     </response>
  604     <example>
  605       <summary>Delete a scan successfully</summary>
  606       <request>
  607         <delete_scan scan_id="013587e3-b4d7-8e79-9ebb-90a2133c338c"/>
  608       </request>
  609       <response>
  610         <delete_scan_response status_text="OK" status="200"></delete_scan_response>
  611       </response>
  612     </example>
  613   </command>
  614   <command>
  615     <name>get_version</name>
  616     <summary>Return various versions</summary>
  617     <pattern/>
  618     <response>
  619       <pattern>
  620         <attrib>
  621           <name>status</name>
  622           <type>status</type>
  623           <required>1</required>
  624         </attrib>
  625         <attrib>
  626           <name>status_text</name>
  627           <type>text</type>
  628           <required>1</required>
  629         </attrib>
  630         <e>protocol</e>
  631         <e>daemon</e>
  632         <e>scanner</e>
  633       </pattern>
  634       <ele>
  635         <name>protocol</name>
  636         <pattern>
  637           <e>name</e>
  638           <e>version</e>
  639         </pattern>
  640         <ele>
  641           <name>version</name>
  642         </ele>
  643         <ele>
  644           <name>name</name>
  645         </ele>
  646       </ele>
  647       <ele>
  648         <name>daemon</name>
  649         <pattern>
  650           <e>name</e>
  651           <e>version</e>
  652         </pattern>
  653         <ele>
  654           <name>version</name>
  655         </ele>
  656         <ele>
  657           <name>name</name>
  658         </ele>
  659       </ele>
  660       <ele>
  661         <name>scanner</name>
  662         <pattern>
  663           <e>name</e>
  664           <e>version</e>
  665         </pattern>
  666         <ele>
  667           <name>version</name>
  668         </ele>
  669         <ele>
  670           <name>name</name>
  671         </ele>
  672       </ele>
  673     </response>
  674     <example>
  675       <summary>Get protocol, scanner and daemon versions</summary>
  676       <request>
  677         <get_version/>
  678       </request>
  679       <response>
  680         <get_version_response status_text="OK" status="200">
  681           <protocol>
  682             <version>1.0</version>
  683             <name>OSP</name>
  684           </protocol>
  685           <daemon>
  686             <version>generic version</version>
  687             <name>generic ospd</name>
  688           </daemon>
  689           <scanner>
  690             <version>1.6.0.4</version>
  691             <name>w3af</name>
  692           </scanner>
  693         </get_version_response>
  694       </response>
  695     </example>
  696   </command>
  697   <command>
  698     <name>get_scanner_details</name>
  699     <summary>Return scanner description and parameters</summary>
  700     <pattern/>
  701     <response>
  702       <pattern>
  703         <attrib>
  704           <name>status</name>
  705           <type>status</type>
  706           <required>1</required>
  707         </attrib>
  708         <attrib>
  709           <name>status_text</name>
  710           <type>text</type>
  711           <required>1</required>
  712         </attrib>
  713         <e>description</e>
  714         <e>scanner_params</e>
  715       </pattern>
  716       <ele>
  717         <name>description</name>
  718         <pattern></pattern>
  719       </ele>
  720       <ele>
  721         <name>scanner_params</name>
  722         <pattern>
  723           <any><e>scanner_param</e></any>
  724         </pattern>
  725         <ele>
  726           <name>scanner_param</name>
  727           <pattern>
  728             <attrib>
  729               <name>id</name>
  730               <type>string</type>
  731             </attrib>
  732             <attrib>
  733               <name>type</name>
  734               <type>string</type>
  735             </attrib>
  736             <e>name</e>
  737             <e>description</e>
  738             <e>default</e>
  739             <e>mandatory</e>
  740           </pattern>
  741           <ele>
  742             <name>name</name>
  743           </ele>
  744           <ele>
  745             <name>description</name>
  746           </ele>
  747           <ele>
  748             <name>default</name>
  749           </ele>
  750           <ele>
  751             <name>mandatory</name>
  752           </ele>
  753         </ele>
  754       </ele>
  755     </response>
  756     <example>
  757       <summary>Get scanner details</summary>
  758       <request>
  759         <get_scanner_details/>
  760       </request>
  761       <response>
  762         <get_scanner_details_response status_text="OK" status="200">
  763           <description>
  764             ...
  765           </description>
  766           <scanner_params>
  767             <scanner_param id="profile" type="selection">
  768               <name>Scan profile</name>
  769               <description>Scan profiles are predefined set of plugins and customized configurations.</description>
  770               <default>fast_scan|fast_scan|audit_high_risk|full_audit|OWASP_TOP10|bruteforce|empty_profile|web_infrastructure|full_audit_spider_man|sitemap</default>
  771             </scanner_param>
  772             <scanner_param id="http_request_status" type="boolean">
  773               <name>Show HTTP request status</name>
  774               <description>Whether to show the HTTP request&apos;s status in results</description>
  775               <default>0</default>
  776             </scanner_param>
  777             <scanner_param id="dry_run" type="boolean">
  778               <name>Dry Run</name>
  779               <description>Whether to dry run scan.</description>
  780               <default>0</default>
  781             </scanner_param>
  782             <scanner_param id="http_request_headers" type="boolean">
  783               <name>Show HTTP request headers</name>
  784               <description>Whether to show the HTTP request&apos;s headers in results</description>
  785               <default>0</default>
  786             </scanner_param>
  787             <scanner_param id="http_response_status" type="boolean">
  788               <name>Show HTTP response status</name>
  789               <description>Whether to show the HTTP response&apos;s status in results</description>
  790               <default>0</default>
  791             </scanner_param>
  792             <scanner_param id="seed_path" type="string">
  793               <name>Seed path</name>
  794               <description>Path to start with</description>
  795               <default>/</default>
  796             </scanner_param>
  797             <scanner_param id="debug_mode" type="boolean">
  798               <name>Debug Mode</name>
  799               <description>Whether to get extra scan debug information.</description>
  800               <default>0</default>
  801             </scanner_param>
  802             <scanner_param id="target_port" type="integer">
  803               <name>Target port</name>
  804               <description>Port on target host to scan</description>
  805               <default>80</default>
  806             </scanner_param>
  807             <scanner_param id="use_https" type="boolean">
  808               <name>Use HTTPS</name>
  809               <description>Whether the target application is running over HTTPS</description>
  810               <default>0</default>
  811             </scanner_param>
  812           </scanner_params>
  813         </get_scanner_details_response>
  814       </response>
  815     </example>
  816   </command>
  817 
  818   <command>
  819     <name>get_vts</name>
  820     <summary>Return information about vulnerability tests, if offered by scanner</summary>
  821     <pattern>
  822       <attrib>
  823         <name>vt_id</name>
  824         <summary>Identifier for vulnerability test</summary>
  825         <type>vt_id</type>
  826       </attrib>
  827       <attrib>
  828         <name>filter</name>
  829         <summary>Filter to get a sub group of a VT collection</summary>
  830         <type>string</type>
  831       </attrib>
  832     </pattern>
  833     <response>
  834       <pattern>
  835         <attrib>
  836           <name>status</name>
  837           <type>status</type>
  838           <required>1</required>
  839         </attrib>
  840         <attrib>
  841           <name>status_text</name>
  842           <type>text</type>
  843           <required>1</required>
  844         </attrib>
  845         <e>vts</e>
  846       </pattern>
  847       <ele>
  848         <name>vts</name>
  849         <pattern>
  850           <any><e>vt</e></any>
  851         </pattern>
  852         <ele>
  853           <name>vt</name>
  854           <pattern>
  855             <attrib>
  856               <name>id</name>
  857               <type>vt_id</type>
  858             </attrib>
  859             <e>name</e>
  860             <e>creation_time</e>
  861             <e>modification_time</e>
  862             <e>params</e>
  863             <e>refs</e>
  864             <e>dependencies</e>
  865             <e>summary</e>
  866             <e>impact</e>
  867             <e>affected</e>
  868             <e>insight</e>
  869             <e>solution</e>
  870             <e>detection</e>
  871             <e>severities</e>
  872             <e>custom</e>
  873           </pattern>
  874           <ele>
  875             <name>name</name>
  876           </ele>
  877           <ele>
  878             <creation_time>creation_time</creation_time>
  879           </ele>
  880           <ele>
  881             <modification_time>modification_time</modification_time>
  882           </ele>
  883           <ele>
  884             <name>params</name>
  885             <pattern>
  886               <e>param</e>
  887             </pattern>
  888             <ele>
  889               <name>param</name>
  890               <pattern>
  891                 <attrib>
  892                     <name>type</name>
  893                     <type>string</type>
  894                 </attrib>
  895                 <attrib>
  896                   <name>id</name>
  897                   <type>string</type>
  898                 </attrib>
  899               </pattern>
  900             </ele>
  901           </ele>
  902           <ele>
  903             <name>refs</name>
  904             <pattern>
  905               <e>ref</e>
  906             </pattern>
  907             <ele>
  908               <name>ref</name>
  909               <pattern>
  910                 <attrib>
  911                     <name>type</name>
  912                     <type>string</type>
  913                 </attrib>
  914                 <attrib>
  915                   <name>id</name>
  916                   <type>string</type>
  917                 </attrib>
  918               </pattern>
  919             </ele>
  920           </ele>
  921           <ele>
  922             <name>dependencies</name>
  923             <pattern>
  924               <e>dependency</e>
  925             </pattern>
  926             <ele>
  927               <name>dependency</name>
  928               <pattern>
  929                 <attrib>
  930                   <name>vt_id</name>
  931                   <type>vt_id</type>
  932                 </attrib>
  933               </pattern>
  934             </ele>
  935           </ele>
  936           <ele>
  937             <name>summary</name>
  938           </ele>
  939           <ele>
  940             <name>impact</name>
  941           </ele>
  942           <ele>
  943             <name>affected</name>
  944           </ele>
  945           <ele>
  946             <name>insight</name>
  947           </ele>
  948           <ele>
  949             <name>solution</name>
  950             <pattern>
  951               <attrib>
  952                 <name>type</name>
  953                   <summary>Solution type, for example "VendorFix"</summary>
  954                 <type>string</type>
  955               </attrib>
  956             </pattern>
  957           </ele>
  958           <ele>
  959             <name>detection</name>
  960           </ele>
  961           <ele>
  962             <name>severities</name>
  963             <pattern>
  964               <e>severity</e>
  965             </pattern>
  966             <ele>
  967               <name>severity</name>
  968               <pattern>
  969                 <attrib>
  970                   <name>type</name>
  971                   <type>string</type>
  972                 </attrib>
  973                 <attrib>
  974                   <name>origin</name>
  975                   <summary>Optional reference to the origin of the severity</summary>
  976                   <type>string</type>
  977                 </attrib>
  978               </pattern>
  979             </ele>
  980           </ele>
  981           <ele>
  982             <name>custom</name>
  983           </ele>
  984         </ele>
  985       </ele>
  986     </response>
  987     <example>
  988       <summary>Get information for all available vulnerability tests</summary>
  989       <request>
  990         <get_vts/>
  991       </request>
  992       <response>
  993         <get_vts_response status_text="OK" status="200">
  994           <vts>
  995             <vt id="1.2.3.4.5">
  996               <name>Check for presence of vulnerability X</name>
  997             </vt>
  998             <vt id="ad45h67">
  999               <name>Check for presence of vulnerability Y</name>
 1000             </vt>
 1001           </vts>
 1002         </get_vts_response>
 1003       </response>
 1004     </example>
 1005     <example>
 1006       <summary>Get information for a single vulnerability test</summary>
 1007       <request>
 1008         <get_vts vt_id='1.2.3.4.5'/>
 1009       </request>
 1010       <response>
 1011         <get_vts_response status_text="OK" status="200">
 1012           <vts>
 1013             <vt id="1.2.3.4.5">
 1014               <name>Check for presence of vulnerability X</name>
 1015               <refs>
 1016                 <ref id="2014-16494" type="fedora" />
 1017                 <ref id="https://lists.fedoraproject.org/" type="url" />
 1018                 <ref id="CVE-2014-9116" type="cve" />
 1019               </refs>
 1020               <dependencies>
 1021                 <dependency vt_id="1.3.6.1.4.1.25623.1.0.50282" />
 1022               </dependencies>
 1023               <creation_time>1200603949</creation_time>
 1024               <modification_time>1567429142</modification_time>
 1025               <summary>Check the version of App</summary>
 1026               <affected>App in OS v2</affected>
 1027               <insight>App is a small but very powerful app.</insight>
 1028               <solution type="VendorFix">Please Install the Updated Packages.
 1029               </solution>
 1030               <detection qod_type="package">Get the installed version with the help of detect NVT and check if the version is vulnerable or not.</detection>
 1031               <severities>
 1032                 <severity type="cvss_base_v2" origin="CVE-2014-9116">AV:N/AC:L/Au:N/C:N/I:N/A:P</severity>
 1033               </severities>
 1034             </vt>
 1035           </vts>
 1036         </get_vts_response>
 1037       </response>
 1038     </example>
 1039     <example>
 1040       <summary>Get information for a filtered collection of vulnerability test</summary>
 1041       <request>
 1042         <get_vts filter='modification_time&gt;201903150834;modification_time&lt;201903150835'/>
 1043       </request>
 1044       <response>
 1045         <get_vts_response status_text="OK" status="200">
 1046           <vts>
 1047             <vt id="1.2.3.4.5">
 1048               <name>Check for presence of vulnerability X</name>
 1049               <refs>
 1050                 <ref id="2014-16494" type="fedora" />
 1051                 <ref id="https://lists.fedoraproject.org/" type="url" />
 1052                 <ref id="CVE-2014-9116" type="cve" />
 1053               </refs>
 1054               <dependencies>
 1055                 <dependency vt_id="1.3.6.1.4.1.25623.1.0.50282" />
 1056               </dependencies>
 1057               <creation_time>1200603949</creation_time>
 1058               <modification_time>1567429142</modification_time>
 1059               <summary>Check the version of App</summary>
 1060               <affected>App in OS v2</affected>
 1061               <insight>App is a small but very powerful app.</insight>
 1062               <solution type="VendorFix">Please Install the Updated Packages.
 1063               </solution>
 1064               <detection qod_type="package">Get the installed version with the help of detect NVT and check if the version is vulnerable or not.</detection>
 1065               <severities>
 1066                 <severity type="cvss_base_v2" origin="CVE-2014-9116">AV:N/AC:L/Au:N/C:N/I:N/A:P</severity>
 1067               </severities>
 1068             </vt>
 1069           </vts>
 1070         </get_vts_response>
 1071       </response>
 1072     </example>
 1073     <example>
 1074       <summary>Get information for a vulnerability test with custom data</summary>
 1075       <request>
 1076         <get_vts vt_id='1.2.3.4.5'/>
 1077       </request>
 1078       <response>
 1079         <get_vts_response status_text="OK" status="200">
 1080           <vts>
 1081             <vt id="1.2.3.4.5">
 1082               <name>Check for presence of vulnerability X</name>
 1083               <custom>
 1084                 <my_element>First custom element</my_element>
 1085                 <my_other_element>second custom element</my_other_element>
 1086               </custom>
 1087             </vt>
 1088           </vts>
 1089         </get_vts_response>
 1090       </response>
 1091     </example>
 1092     <example>
 1093       <summary>Get information for a vulnerability test with VT parameters data</summary>
 1094       <request>
 1095         <get_vts vt_id='1.2.3.4.5'/>
 1096       </request>
 1097       <response>
 1098         <get_vts_response status_text="OK" status="200">
 1099           <vts>
 1100             <vt id="1.2.3.4.5">
 1101               <name>Check for presence of vulnerability X</name>
 1102               <params>
 1103                 <param id="timeout" type="integer">
 1104                   <name>Timeout</name>
 1105                   <description>Vulnerability Test Timeout</description>
 1106                   <default>300</default>
 1107                 </param>
 1108                 <param id="scan.udp" type="boolean">
 1109                   <name>Scan UDP</name>
 1110                   <description />
 1111                   <default>1</default>
 1112                 </param>
 1113               </params>
 1114               <refs>
 1115                 <ref type="cve" id="CVE-2010-4480"/>
 1116                 <ref type="url" id="http://www.exploit-db.com/exploits/15699/"/>
 1117                 <ref type="url" id="http://www.vupen.com/english/advisories/2010/3133"/>
 1118               </refs>
 1119               <custom>
 1120                 <my_element>First custom element</my_element>
 1121                 <my_other_element>second custom element</my_other_element>
 1122               </custom>
 1123             </vt>
 1124           </vts>
 1125         </get_vts_response>
 1126       </response>
 1127     </example>
 1128   </command>
 1129 
 1130   <command>
 1131     <name>start_scan</name>
 1132     <summary>Start a new scan</summary>
 1133     <pattern>
 1134       <attrib>
 1135         <name>target</name>
 1136         <summary>Target hosts to scan in a comma-separated list</summary>
 1137         <type>string</type>
 1138       </attrib>
 1139       <attrib>
 1140         <name>ports</name>
 1141         <summary>Ports list to scan as comma-separated list</summary>
 1142         <type>string</type>
 1143       </attrib>
 1144       <attrib>
 1145         <name>scan_id</name>
 1146         <summary>Optional UUID value to use as scan ID</summary>
 1147         <type>uuid</type>
 1148       </attrib>
 1149       <attrib>
 1150         <name>parallel</name>
 1151         <summary>Optional number of parallel scan to run </summary>
 1152         <type>integer</type>
 1153       </attrib>
 1154       <e>scanner_params</e>
 1155       <e>vt_selection</e>
 1156       <e>targets</e>
 1157     </pattern>
 1158     <ele>
 1159       <name>scanner_params</name>
 1160       <summary>Contains elements that represent scanner specific parameters</summary>
 1161     </ele>
 1162     <ele>
 1163       <name>vt_selection</name>
 1164       <summary>Contains elements that represent a Vulnerability Test or a collection of Vulnerability Tests to be executed and their parameters</summary>
 1165     </ele>
 1166     <ele>
 1167       <name>targets</name>
 1168       <summary>Contains elements that represent a target to execute a scan against. If target and port attributes are present this element is not take into account</summary>
 1169     </ele>
 1170     <response>
 1171       <pattern>
 1172         <attrib>
 1173           <name>status</name>
 1174           <type>status</type>
 1175           <required>1</required>
 1176         </attrib>
 1177         <attrib>
 1178           <name>status_text</name>
 1179           <type>text</type>
 1180           <required>1</required>
 1181         </attrib>
 1182         <e>id</e>
 1183       </pattern>
 1184       <ele>
 1185         <name>id</name>
 1186         <summary>New scan's UUID</summary>
 1187       </ele>
 1188     </response>
 1189     <example>
 1190       <summary>Start a new scan. Legacy mode</summary>
 1191       <request>
 1192         <start_scan target='localhost' ports='80, 443'>
 1193           <scanner_params>
 1194             <target_port>443</target_port>
 1195             <use_https>1</use_https>
 1196             <profile>fast_scan</profile>
 1197           </scanner_params>
 1198         </start_scan>
 1199       </request>
 1200       <response>
 1201         <start_scan_response status_text="OK" status="200">
 1202           <id>2f616d53-595f-4785-9b97-4395116ca118</id>
 1203         </start_scan_response>
 1204       </response>
 1205     </example>
 1206     <example>
 1207       <summary>Start a new scan with multi-targets running simultaneously. Each one has a different port list and one of them has credentials for authenticated scans.</summary>
 1208       <request>
 1209         <start_scan parallel='10'>
 1210           <scanner_params>
 1211             ...
 1212           </scanner_params>
 1213           <vt_selection>
 1214             ....
 1215           </vt_selection>
 1216           <targets>
 1217             <target>
 1218               ...
 1219             </target>
 1220             <target>
 1221               <hosts>192.168.1.0/24</hosts>
 1222               <ports>1,2,3,80,443</ports>
 1223               <credentials>
 1224                 ...
 1225               </credentials>
 1226               <exclude_hosts>192.168.1.10-15</exclude_hosts>
 1227               <finished_hosts>192.168.1.1-3</finished_hosts>
 1228             </target>
 1229           </targets>
 1230         </start_scan>
 1231       </request>
 1232       <response>
 1233         <start_scan_response status_text="OK" status="200">
 1234           <id>2f616d53-595f-4785-9b97-4395116ca118</id>
 1235         </start_scan_response>
 1236       </response>
 1237     </example>
 1238   </command>
 1239 
 1240   <command>
 1241     <name>stop_scan</name>
 1242     <summary>Stop a currently running scan</summary>
 1243     <pattern>
 1244       <attrib>
 1245         <name>scan_id</name>
 1246         <summary>ID of scan to stop</summary>
 1247         <type>uuid</type>
 1248       </attrib>
 1249     </pattern>
 1250     <response>
 1251       <pattern>
 1252         <attrib>
 1253           <name>status</name>
 1254           <type>status</type>
 1255           <required>1</required>
 1256         </attrib>
 1257         <attrib>
 1258           <name>status_text</name>
 1259           <type>text</type>
 1260           <required>1</required>
 1261         </attrib>
 1262       </pattern>
 1263     </response>
 1264     <example>
 1265       <summary>Stop a scan</summary>
 1266       <request>
 1267         <stop_scan scan_id='6ec1732c-10e8-448c-90fb-7797ad47ada2'>
 1268         </stop_scan>
 1269       </request>
 1270       <response>
 1271         <stop_scan_response status_text="OK" status="200">
 1272         </stop_scan_response>
 1273       </response>
 1274     </example>
 1275   </command>
 1276   <parameter_type>
 1277     <name>integer</name>
 1278     <summary>An integer value</summary>
 1279   </parameter_type>
 1280   <parameter_type>
 1281     <name>string</name>
 1282     <summary>A string</summary>
 1283   </parameter_type>
 1284   <parameter_type>
 1285     <name>boolean</name>
 1286     <summary>0 or 1</summary>
 1287   </parameter_type>
 1288   <parameter_type>
 1289     <name>selection</name>
 1290     <summary>A value out of the | separated values list</summary>
 1291   </parameter_type>
 1292   <parameter_type>
 1293     <name>credential_up</name>
 1294     <summary>The username:password of a credential</summary>
 1295   </parameter_type>
 1296   <parameter_type>
 1297     <name>file</name>
 1298     <summary>A file's content</summary>
 1299   </parameter_type>
 1300   <parameter_type>
 1301     <name>ovaldef_file</name>
 1302     <summary>An ovaldef file's content that is base64 encoded</summary>
 1303   </parameter_type>
 1304 
 1305   <change>
 1306     <command>GET_VTS</command>
 1307     <summary>command added</summary>
 1308     <description>
 1309       Added new command to retrieve information about vulnerability tests a scanner might offer.
 1310     </description>
 1311     <version>1.2</version>
 1312   </change>
 1313   <change>
 1314     <command>START_SCAN</command>
 1315     <summary>vts optional element added </summary>
 1316     <description>
 1317       Added optional element vts to allow the client to specify a vts list
 1318       to use for the scan and their parameters.
 1319     </description>
 1320     <version>1.2</version>
 1321   </change>
 1322   <change>
 1323     <command>START_SCAN</command>
 1324     <summary>target optional element added </summary>
 1325     <description>
 1326       Added optional element targets to specify different hosts with a different port list and credentials. This is take in account only if target and port attributes are not present in start_scan tag.
 1327     </description>
 1328     <version>1.2</version>
 1329   </change>
 1330   <change>
 1331     <command>START_SCAN</command>
 1332     <summary> parallel attribute added </summary>
 1333     <description>
 1334       Added optional attribute parallel to specify the number of simultaneous scans to be run.
 1335     </description>
 1336     <version>1.2</version>
 1337   </change>
 1338 
 1339   <change>
 1340     <command>STOP_SCAN</command>
 1341     <summary>command added</summary>
 1342     <description>
 1343       Added new command to stop a currently running scan.
 1344     </description>
 1345     <version>1.1</version>
 1346   </change>
 1347   <change>
 1348     <command>START_SCAN</command>
 1349     <summary>scan_id attribute added</summary>
 1350     <description>
 1351       <p>
 1352         The scan_id attribute was added to allow the client to specify a UUID as
 1353         the ID of the scan.
 1354       </p>
 1355     </description>
 1356     <version>1.1</version>
 1357   </change>
 1358   <change>
 1359     <command>START_SCAN</command>
 1360     <summary>ports attribute added</summary>
 1361     <description>
 1362       The ports attribute was added to allow the client to specify a ports list
 1363       to use for the scan.
 1364     </description>
 1365     <version>1.1</version>
 1366   </change>
 1367   <change>
 1368     <command>Scanner Parameters Types</command>
 1369     <summary>Type credential_up added</summary>
 1370     <description>
 1371       Introduce an aggregated type to express a username:password tuple.
 1372     </description>
 1373     <version>1.1</version>
 1374   </change>
 1375   <change>
 1376     <command>GET_PERFORMANCE</command>
 1377     <summary>Command added</summary>
 1378     <description>
 1379       Added new command to get performance from an external program.
 1380     </description>
 1381     <version>1.2</version>
 1382   </change>
 1383 
 1384 </protocol>