<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Getting Further with ZAP Scripting on ZAP</title>
    <link>/docs/getting-further/scripting/</link>
    <description>Recent content in Getting Further with ZAP Scripting on ZAP</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <atom:link href="/docs/getting-further/scripting/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Script Languages</title>
      <link>/docs/getting-further/scripting/script-languages/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/getting-further/scripting/script-languages/</guid>
      <description>&lt;p&gt;ZAP  supports the following scripting languages:&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Language / Link&lt;/th&gt;&#xA;          &lt;th&gt;Included&lt;/th&gt;&#xA;          &lt;th&gt;Notes&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;/docs/desktop/addons/graalvm-javascript/&#34;&gt;JavaScript&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;By Default&lt;/td&gt;&#xA;          &lt;td&gt;Based on the GraalVM JavaScript engine.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;/docs/desktop/addons/zest/&#34;&gt;Zest&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;By Default&lt;/td&gt;&#xA;          &lt;td&gt;A graphical security scripting language, ZAPs macro language on steroids.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;/docs/desktop/addons/bean-shell/&#34;&gt;BeanShell&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Optional&lt;/td&gt;&#xA;          &lt;td&gt;A BeanShell Console with limited capabilities.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;/docs/desktop/addons/groovy-support/&#34;&gt;Groovy&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Optional&lt;/td&gt;&#xA;          &lt;td&gt;Based on Groovy 5.0.3.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;/docs/desktop/addons/kotlin-support/&#34;&gt;Kotlin&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Optional&lt;/td&gt;&#xA;          &lt;td&gt;Based on Kotlin 1.3.72.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;/docs/desktop/addons/python-scripting/&#34;&gt;Python&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Optional&lt;/td&gt;&#xA;          &lt;td&gt;Based on Jython 2.7.2.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;/docs/desktop/addons/ruby-scripting/&#34;&gt;Ruby&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Optional&lt;/td&gt;&#xA;          &lt;td&gt;Based on JRuby 1.7.4.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;</description>
    </item>
    <item>
      <title>Script Security</title>
      <link>/docs/getting-further/scripting/script-security/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/getting-further/scripting/script-security/</guid>
      <description>&lt;h3 id=&#34;script-capabilities&#34;&gt;Script Capabilities &lt;a class=&#34;header-link&#34; href=&#34;#script-capabilities&#34;&gt;&lt;svg class=&#34;fill-current o-60 hover-accent-color-light&#34; height=&#34;22px&#34; viewBox=&#34;0 0 24 24&#34; width=&#34;22px&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;none&#34;/&gt;&lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z&#34; fill=&#34;currentColor&#34;/&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;As noted on the &lt;a href=&#34;/docs/desktop/addons/script-console/&#34;&gt;Script Console&lt;/a&gt; page:&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;  &lt;blockquote class=&#34;alert alert-warning&#34;&gt;&#xA;    &lt;p class=&#34;alert-heading&#34;&gt;&#xA;      ⚠️&#xA;      &#xA;        Warning&#xA;      &#xA;    &lt;/p&gt;&#xA;    &#xA;    &lt;div class=&#34;alert-content&#34;&gt;&#xA;        &lt;p&gt;Scripts run with the same permissions as ZAP, so do not run any scripts that you do not trust!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Script Types</title>
      <link>/docs/getting-further/scripting/script-types/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/getting-further/scripting/script-types/</guid>
      <description>&lt;p&gt;ZAP supports the following script types:&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Name&lt;/th&gt;&#xA;          &lt;th&gt;Key / Examples&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Active Rules&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/zaproxy/community-scripts/tree/main/active&#34;&gt;active&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Scripts that run as part of the Active Scanner to perform custom scan checks.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Authentication&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/zaproxy/community-scripts/tree/main/authentication&#34;&gt;authentication&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Scripts invoked when performing authentication for a Context.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Encode / Decode&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/zaproxy/community-scripts/tree/main/encode-decode&#34;&gt;encode-decode&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Scripts that provide custom data encoding and decoding.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Extender&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/zaproxy/community-scripts/tree/main/extender&#34;&gt;extender&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Scripts that add new functionality, including UI elements and API endpoints.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Fuzzer HTTP Processor&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/zaproxy/community-scripts/tree/main/httpfuzzerprocessor&#34;&gt;httpfuzzerprocessor&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Scripts that process HTTP fuzzer messages before or after sending.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Fuzzer Websocket Processor&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/zaproxy/community-scripts/tree/main/websocketfuzzerprocessor&#34;&gt;websocketfuzzerprocessor&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Scripts that process WebSocket fuzzer messages.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;HTTP Sender&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/zaproxy/community-scripts/tree/main/httpsender&#34;&gt;httpsender&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Scripts that run for every HTTP request and response processed by ZAP.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Input Vector&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/zaproxy/community-scripts/tree/main/variant&#34;&gt;variant&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Scripts that define exactly what the Active Scanner will attack.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Passive Rules&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/zaproxy/community-scripts/tree/main/passive&#34;&gt;passive&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Scripts that run as part of the Passive Scanner to perform custom checks.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Payload Generator&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/zaproxy/community-scripts/tree/main/payloadgenerator&#34;&gt;payloadgenerator&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Scripts that generate payloads for fuzzing.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Payload Processor&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/zaproxy/community-scripts/tree/main/payloadprocessor&#34;&gt;payloadprocessor&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Scripts that process or modify payloads during fuzzing.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Proxy&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/zaproxy/community-scripts/tree/main/proxy&#34;&gt;proxy&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Scripts that run inline on proxied traffic and can modify and drop requests and responses.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Selenium&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/zaproxy/community-scripts/tree/main/selenium&#34;&gt;selenium&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Scripts that automate browser interactions using browsers launched from ZAP.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Sequence&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/zaproxy/community-scripts/tree/main/sequence&#34;&gt;sequence&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Scripts that define sequences of HTTP requests to model workflows.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Session Management&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/zaproxy/community-scripts/tree/main/session&#34;&gt;session&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Scripts that define how sessions are managed for a Context.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Stand Alone&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/zaproxy/community-scripts/tree/main/standalone&#34;&gt;standalone&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Scripts that are run manually.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Targeted&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/zaproxy/community-scripts/tree/main/targeted&#34;&gt;targeted&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Scripts that are run manually against a specified target URL.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Websocket Passive&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/zaproxy/community-scripts/tree/main/websocketpassive&#34;&gt;websocketpassive&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Scripts that analyse WebSocket messages without modifying traffic.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Websocket Sender&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/zaproxy/community-scripts/tree/main/websocketsender&#34;&gt;websocketsender&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Scripts that run for every Websocket message processed by ZAP.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;The links in the &lt;strong&gt;Key / Examples&lt;/strong&gt; column point to the corresponding directories in the ZAP&#xA;&lt;a href=&#34;https://github.com/zaproxy/community-scripts&#34;&gt;community-scripts&lt;/a&gt; repository, which contains example scripts contributed by the community for each script type.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
