<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Falco – Talon</title><link>https://v0-43--falcosecurity.netlify.app/tags/talon/</link><description>Recent content in Talon on Falco</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Tue, 11 Feb 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://v0-43--falcosecurity.netlify.app/tags/talon/feed.xml" rel="self" type="application/rss+xml"/><item><title>Blog: Falco Talon v0.3.0</title><link>https://v0-43--falcosecurity.netlify.app/blog/falco-talon-v0-3-0/</link><pubDate>Tue, 11 Feb 2025 00:00:00 +0000</pubDate><guid>https://v0-43--falcosecurity.netlify.app/blog/falco-talon-v0-3-0/</guid><description>
&lt;p&gt;Today, we announce the release of &lt;strong&gt;Falco Talon 0.3.0&lt;/strong&gt; 🦅!&lt;/p&gt;
&lt;p&gt;Three updates in a row, after &lt;a href="https://falco.org/blog/falco-0-40-0/"&gt;Falco&lt;/a&gt; and &lt;a href="https://falco.org/blog/falcosidekick-2-31-0/"&gt;Falcosidekick&lt;/a&gt;, it's time for &lt;a href="#ZgotmplZ"&gt;Falco Talon&lt;/a&gt; to know a new version.&lt;/p&gt;
&lt;h2 id="what-s-new"&gt;What's new?&lt;/h2&gt;
&lt;p&gt;The key feature this release brings is the new actionner &lt;code&gt;kubernetes:sysdig&lt;/code&gt;. For those who are not familiar with &lt;a href="https://github.com/draios/sysdig"&gt;sysdig&lt;/a&gt;, it's a CLI tool that allows to capture and record the syscalls, like &lt;code&gt;tcpdump&lt;/code&gt; does for the network packets. Old brother of Falco, they share the same libs and filters.&lt;/p&gt;
&lt;p&gt;With this new integration, when a suspicious event occurs in a pod, Talon triggers a capture and then exports the created artifact to AWS S3 or Minio. You can configure the &lt;code&gt;duration&lt;/code&gt; and the &lt;code&gt;amount of bytes&lt;/code&gt; captured for each syscall. Check out the &lt;a href="https://docs.falco-talon.org/docs/actionners/list/#kubernetessysdig"&gt;docs&lt;/a&gt; to discover more settings.&lt;/p&gt;
&lt;p&gt;See this example rule:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#008000;font-weight:bold"&gt;action&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;Capture the syscalls&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;actionner&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;kubernetes:sysdig&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;parameters&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;buffer_size&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#666"&gt;2048&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;duration&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#666"&gt;20&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;output&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;target&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;minio:s3&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;parameters&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;bucket&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;falco-talon&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;prefix&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;/sysdig/&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;After the action has been completed, you'll find the capture in Minio:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://v0-43--falcosecurity.netlify.app/blog/falco-talon-v0-3-0/images/minio.png" alt="minio" loading="lazy" /&gt;
&lt;/p&gt;
&lt;p&gt;And you can run the CLI tool &lt;code&gt;sysdig&lt;/code&gt; to explore it:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;❯ sysdig -r 2025-01-23T13-26-41Z_default_cncf-597d69dbd4-h9fcb_sysdig.scap.gz evt.type&lt;span style="color:#666"&gt;=&lt;/span&gt;execve and evt.dir&lt;span style="color:#666"&gt;=&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;&amp;gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#666"&gt;18563&lt;/span&gt; 14:26:38.376178286 &lt;span style="color:#666"&gt;0&lt;/span&gt; bash &lt;span style="color:#666"&gt;(&lt;/span&gt;616444.616444&lt;span style="color:#666"&gt;)&lt;/span&gt; &amp;gt; execve &lt;span style="color:#b8860b"&gt;filename&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;/usr/bin/apt
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#666"&gt;19163&lt;/span&gt; 14:26:38.394972623 &lt;span style="color:#666"&gt;0&lt;/span&gt; apt &lt;span style="color:#666"&gt;(&lt;/span&gt;616445.616445&lt;span style="color:#666"&gt;)&lt;/span&gt; &amp;gt; execve &lt;span style="color:#b8860b"&gt;filename&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;/usr/bin/dpkg
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#666"&gt;19599&lt;/span&gt; 14:26:38.399546432 &lt;span style="color:#666"&gt;0&lt;/span&gt; apt &lt;span style="color:#666"&gt;(&lt;/span&gt;616446.616446&lt;span style="color:#666"&gt;)&lt;/span&gt; &amp;gt; execve &lt;span style="color:#b8860b"&gt;filename&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;/usr/lib/apt/methods/http
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#666"&gt;20319&lt;/span&gt; 14:26:38.408846350 &lt;span style="color:#666"&gt;0&lt;/span&gt; apt &lt;span style="color:#666"&gt;(&lt;/span&gt;616447.616447&lt;span style="color:#666"&gt;)&lt;/span&gt; &amp;gt; execve &lt;span style="color:#b8860b"&gt;filename&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;/usr/lib/apt/methods/http
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#666"&gt;21775&lt;/span&gt; 14:26:38.453363037 &lt;span style="color:#666"&gt;0&lt;/span&gt; apt &lt;span style="color:#666"&gt;(&lt;/span&gt;616448.616448&lt;span style="color:#666"&gt;)&lt;/span&gt; &amp;gt; execve &lt;span style="color:#b8860b"&gt;filename&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;/usr/lib/apt/methods/gpgv
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#666"&gt;22335&lt;/span&gt; 14:26:38.461330752 &lt;span style="color:#666"&gt;0&lt;/span&gt; apt &lt;span style="color:#666"&gt;(&lt;/span&gt;616449.616449&lt;span style="color:#666"&gt;)&lt;/span&gt; &amp;gt; execve &lt;span style="color:#b8860b"&gt;filename&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;/usr/lib/apt/methods/gpgv
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#666"&gt;29434&lt;/span&gt; 14:26:38.481292691 &lt;span style="color:#666"&gt;0&lt;/span&gt; gpgv &lt;span style="color:#666"&gt;(&lt;/span&gt;616451.616451&lt;span style="color:#666"&gt;)&lt;/span&gt; &amp;gt; execve &lt;span style="color:#b8860b"&gt;filename&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;/usr/bin/apt-key
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#666"&gt;29604&lt;/span&gt; 14:26:38.486522901 &lt;span style="color:#666"&gt;0&lt;/span&gt; apt-key &lt;span style="color:#666"&gt;(&lt;/span&gt;616453.616453&lt;span style="color:#666"&gt;)&lt;/span&gt; &amp;gt; execve &lt;span style="color:#b8860b"&gt;filename&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;/usr/bin/apt-config
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#666"&gt;30183&lt;/span&gt; 14:26:38.494442117 &lt;span style="color:#666"&gt;0&lt;/span&gt; apt-config &lt;span style="color:#666"&gt;(&lt;/span&gt;616454.616454&lt;span style="color:#666"&gt;)&lt;/span&gt; &amp;gt; execve &lt;span style="color:#b8860b"&gt;filename&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;/usr/bin/dpkg
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#666"&gt;30422&lt;/span&gt; 14:26:38.497278722 &lt;span style="color:#666"&gt;0&lt;/span&gt; apt-key &lt;span style="color:#666"&gt;(&lt;/span&gt;616455.616455&lt;span style="color:#666"&gt;)&lt;/span&gt; &amp;gt; execve &lt;span style="color:#b8860b"&gt;filename&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;/usr/bin/apt-config
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#666"&gt;30996&lt;/span&gt; 14:26:38.504017535 &lt;span style="color:#666"&gt;0&lt;/span&gt; apt-config &lt;span style="color:#666"&gt;(&lt;/span&gt;616456.616456&lt;span style="color:#666"&gt;)&lt;/span&gt; &amp;gt; execve &lt;span style="color:#b8860b"&gt;filename&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;/usr/bin/dpkg
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You can also explore the captures with &lt;a href="https://stratoshark.org/"&gt;Stratoshark&lt;/a&gt;, a GUI based on &lt;code&gt;Wireshark&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="try-it"&gt;Try it! 🏎️&lt;/h2&gt;
&lt;p&gt;In case you want to try out this &lt;strong&gt;Falco Talon 0.3.0&lt;/strong&gt;, you can install the Helm chart following the instructions on the &lt;a href="https://docs.falco-talon.org/docs/installation_usage/helm/"&gt;&lt;code&gt;documentation&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="let-s-meet"&gt;Let's meet 🤝&lt;/h2&gt;
&lt;p&gt;We meet every two weeks on Wednesday in our &lt;a href="https://github.com/falcosecurity/community"&gt;community calls&lt;/a&gt;,
if you want to know the latest and the greatest, you should join us there!&lt;/p&gt;
&lt;p&gt;If you have any questions&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Join the &lt;a href="https://kubernetes.slack.com/messages/falco"&gt;#falco channel&lt;/a&gt; on the &lt;a href="https://slack.k8s.io"&gt;Kubernetes Slack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Join the &lt;a href="https://lists.cncf.io/g/cncf-falco-dev"&gt;Falco mailing list&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks to all the amazing contributors!&lt;/p&gt;
&lt;p&gt;Enjoy 😎&lt;/p&gt;</description></item><item><title>Blog: Falco Talon v0.2.0</title><link>https://v0-43--falcosecurity.netlify.app/blog/falco-talon-v0-2-0/</link><pubDate>Wed, 27 Nov 2024 00:00:00 +0000</pubDate><guid>https://v0-43--falcosecurity.netlify.app/blog/falco-talon-v0-2-0/</guid><description>
&lt;p&gt;Today we announce the release of &lt;strong&gt;Falco Talon 0.2.0&lt;/strong&gt; 🦅!&lt;/p&gt;
&lt;p&gt;Falco Talon 0.2.0 is a minor release that includes new actionners and outputs, add parameters to existing actionners, along one small fix on the check and print commands.&lt;/p&gt;
&lt;h2 id="features"&gt;Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Add &lt;code&gt;gcp:function&lt;/code&gt; actionner:
&lt;ul&gt;
&lt;li&gt;Now users can call GCP function to automate GCP tasks, with authentication and authorization out of the box.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#008000;font-weight:bold"&gt;action&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;Invoke GCP function&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;actionner&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;gcp:function&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;additional_contexts&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;- aws&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;parameters&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;gcp_function_name&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;simple-http-function&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;gcp_function_location&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;us-central1&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Add &lt;code&gt;gcp:gcs&lt;/code&gt; output
&lt;ul&gt;
&lt;li&gt;Now users can send output directly to GCP Google Cloud Storage, same way as s3 and minio existing outputs.
&lt;img src="https://v0-43--falcosecurity.netlify.app/blog/falco-talon-v0-2-0/images/falco-talon-v0-2-0-2.png" alt="gcp-gcs" loading="lazy" /&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Add &lt;code&gt;ignore_standalone_pods&lt;/code&gt; parameter for &lt;code&gt;kubernetes:terminate&lt;/code&gt; actionner&lt;/li&gt;
&lt;li&gt;Allow to wait until the completion of &lt;code&gt;kubernetes:drain&lt;/code&gt; by configuring &lt;code&gt;max_wait_period&lt;/code&gt; and &lt;code&gt;wait_period_excluded_namespaces&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Use smaller image for the &lt;code&gt;kubernetes:tcpdump&lt;/code&gt; actionner&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="fixes"&gt;Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;An existing &lt;code&gt;config.yaml&lt;/code&gt; file is not required anymore to check the syntax of your rules files.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="try-it"&gt;Try it! 🏎️&lt;/h2&gt;
&lt;p&gt;In case you just want to try out the &lt;strong&gt;Falco Talon 0.2.0&lt;/strong&gt;, you can install the helm chart following the instructions on the &lt;a href="https://docs.falco-talon.org/docs/installation_usage/helm/"&gt;&lt;code&gt;documentation&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="let-s-meet"&gt;Let's meet 🤝&lt;/h2&gt;
&lt;p&gt;We meet every Wednesday in our &lt;a href="https://github.com/falcosecurity/community"&gt;community calls&lt;/a&gt;,
if you want to know the latest and the greatest, you should join us there!&lt;/p&gt;
&lt;p&gt;If you have any questions&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Join the &lt;a href="https://kubernetes.slack.com/messages/falco"&gt;#falco channel&lt;/a&gt; on the &lt;a href="https://slack.k8s.io"&gt;Kubernetes Slack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Join the &lt;a href="https://lists.cncf.io/g/cncf-falco-dev"&gt;Falco mailing list&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks to all the amazing contributors!&lt;/p&gt;
&lt;p&gt;Enjoy 😎,&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Igor&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Blog: Introducing Falco Talon v0.1.0</title><link>https://v0-43--falcosecurity.netlify.app/blog/falco-talon-v0-1-0/</link><pubDate>Mon, 09 Sep 2024 00:00:00 +0000</pubDate><guid>https://v0-43--falcosecurity.netlify.app/blog/falco-talon-v0-1-0/</guid><description>
&lt;p&gt;More than 7 years ago, frustrated by the lack of integrations between Falco and third parties, I created &lt;a href="https://github.com/falcosecurity/falcosidekick"&gt;Falcosidekick&lt;/a&gt;. The tool evolved much more than expected, with the help of dozens of contributors, individuals or for companies, to have now almost 70 different integrations, and more are coming. Its baby brother came few years later, &lt;a href="https://github.com/falcosecurity/falcosidekick-ui"&gt;Falcosidekick UI&lt;/a&gt;, helping people to visualize in real time the alerts leveraged by Falco and fine tuning their rules.&lt;/p&gt;
&lt;p&gt;A frustation remained after all. With Falco, we have an amazing tool to detect suspicious events in our Linux hosts, VM and Kubernetes clusters, with Falcosidekick, we can easily notify our Dev/Secops, index the alerts in some SIEM, etc. But a last piece was missing: how to react to these events?&lt;/p&gt;
&lt;p&gt;With the integrations of well known FaaS in Falcosidekick, we started a &lt;a href="https://falco.org/blog/falcosidekick-response-engine-part-1-kubeless/"&gt;series of blog posts&lt;/a&gt; to show how to create from scratch what we call a &amp;quot;response engine&amp;quot;. All these systems are modular, flexible, robust, but they all require a considerable amount of work from the user, to deal with the Falco payload format, the errors, the retries, the authentication to the API (AWS, Kubernetes Control Plane), the logs, the metrics, etc. Not all users and companies have the skills and/or the budget to maintain such an architecture.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;To answer these needs, we designed and created &lt;a href="https://github.com/falco-talon/falco-talon"&gt;&lt;code&gt;Falco Talon&lt;/code&gt;&lt;/a&gt;. The &lt;a href="https://github.com/falco-talon/falco-talon/releases/tag/v0.1.0"&gt;the first version is officially out!&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="what-is-falco-talon"&gt;What is Falco Talon?&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;Falco Talon&lt;/code&gt; is a &lt;em&gt;Response Engine&lt;/em&gt; for managing threats in Kubernetes clusters. It enhances the solutions proposed by the Falco community with a &lt;em&gt;no-code tailor-made&lt;/em&gt; solution. With easy rules, you can react to events from Falco in milliseconds.&lt;/p&gt;
&lt;h3 id="why-did-we-created-falco-talon"&gt;Why did we created Falco Talon?&lt;/h3&gt;
&lt;p&gt;Over the years, the Falco community proposed different methods to react to the Falco Events, what we call a &lt;em&gt;response engine&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;All these methods rely on a 3rd party FaaS (&lt;em&gt;Function as a Service&lt;/em&gt;) and come with drawbacks, all actions must be developped by the users to manage:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The errors&lt;/li&gt;
&lt;li&gt;The Falco event format&lt;/li&gt;
&lt;li&gt;The authentication&lt;/li&gt;
&lt;li&gt;The K8s SDK complexity&lt;/li&gt;
&lt;li&gt;The security&lt;/li&gt;
&lt;li&gt;The upgrades of the dependencies&lt;/li&gt;
&lt;li&gt;Latency&lt;/li&gt;
&lt;li&gt;Complexity to manage sequential actions&lt;/li&gt;
&lt;li&gt;Intrication between the function and the configuration&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;This is why we started to develop a custom solution specifically built for Falco: &lt;code&gt;Falco Talon&lt;/code&gt;&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Tailor made for the Falco events&lt;/li&gt;
&lt;li&gt;Easy to define rules&lt;/li&gt;
&lt;li&gt;No-code implementation for end-users&lt;/li&gt;
&lt;li&gt;UX close to Falco with the rules (yaml files with append, override mechanisms)&lt;/li&gt;
&lt;li&gt;Allow to set up sequential actions to run&lt;/li&gt;
&lt;li&gt;Structured logs (with a trace id)&lt;/li&gt;
&lt;li&gt;OTEL/Prometheus Metrics and OTEL Traces&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="what-is-it-good-for"&gt;What is it good for?&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;React in real-time to the Falco Events&lt;/li&gt;
&lt;li&gt;Allow fine granularity to match the events to react to&lt;/li&gt;
&lt;li&gt;Responding to default rules with specific overrides&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="what-is-it-not-yet-good-for"&gt;What is it not (yet?) good for?&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Complex reaction worflows with conditions between the steps&lt;/li&gt;
&lt;li&gt;Run actions at the host/node level through SSH (like Ansible does)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="docs"&gt;Docs&lt;/h2&gt;
&lt;p&gt;A dedicated website has been created to host the documentation: &lt;a href="https://docs.falco-talon.org"&gt;https://docs.falco-talon.org&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="how-falco-talon-works"&gt;How Falco Talon works&lt;/h2&gt;
&lt;p&gt;As the same manner Falcosidekick works, &lt;code&gt;Falco Talon&lt;/code&gt; receives the events from Falco by http. All you have to do to connect Falco and &lt;code&gt;Falco Talon&lt;/code&gt; is to set in your &lt;code&gt;falco.yaml&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;jsonOutput&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#a2f;font-weight:bold"&gt;true&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;jsonIncludeOutputProperty&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#a2f;font-weight:bold"&gt;true&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;httpOutput&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;enabled&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#a2f;font-weight:bold"&gt;true&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;url&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;http://&amp;lt;falco-talon&amp;gt;:2803/&amp;#34;&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;If you already use Falcosidekick to forward your Falco events to the world, an integration is available since &lt;a href="https://github.com/falcosecurity/falcosidekick/releases/tag/2.29.0"&gt;Falcosidekick 2.29.0&lt;/a&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;talon&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;address&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;http://&amp;lt;falco-talon&amp;gt;:2803/&amp;#34;&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;checkcert&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#a2f;font-weight:bold"&gt;false&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;When the events are received by &lt;code&gt;Falco Talon&lt;/code&gt;, an internal queue system based on NATS Jetstream is in charge to deduplicate them, to avoid to trigger the same action for the same cause for nothing.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Falco Talon&lt;/code&gt; will then compare the event with the rules created by the user, if an event matches with a rule, a series of actions are sequentially performed. At the end of each step, a notification with the status is sent, and a log is emmited.&lt;/p&gt;
&lt;h3 id="rules"&gt;Rules&lt;/h3&gt;
&lt;p&gt;The rules are the &amp;quot;core&amp;quot; of &lt;code&gt;Falco Talon&lt;/code&gt; as they describe which actions to trigger for which Falco event.&lt;/p&gt;
&lt;p&gt;All rules are written as yaml file, evaluated in the order they are given to &lt;code&gt;Falco Talon&lt;/code&gt; (as arguments or in the config file), with rules specified later in the file overriding the previous ones.&lt;/p&gt;
&lt;p&gt;The rules are composed of 2 blocks:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;the &lt;code&gt;action&lt;/code&gt; block defines which &lt;strong&gt;actionner&lt;/strong&gt; to use with its parameters, this block can be imported by multiple rules (like the &lt;code&gt;macros&lt;/code&gt; can be used in the Falco rules)&lt;/li&gt;
&lt;li&gt;the &lt;code&gt;rule&lt;/code&gt; block defines the criterias to match to trigger the actions&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The criterias to match the event with the actions can use all elements that compose a Falco event JSON payload:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;the Falco rule name&lt;/li&gt;
&lt;li&gt;the &lt;code&gt;priority&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;the &lt;code&gt;tags&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;the &lt;code&gt;output fields&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="examples"&gt;Examples&lt;/h4&gt;
&lt;div class="card card-sm pageinfo pageinfo-info my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;When &lt;code&gt;Falco Talon&lt;/code&gt; receives an event triggered by the Falco rule named &lt;code&gt;Terminal shell in container&lt;/code&gt;, and this event doesn't concern the kubernetes namespaces &lt;code&gt;kube-system&lt;/code&gt; and &lt;code&gt;falco&lt;/code&gt;, then the related pod is labeled &lt;code&gt;suspicious: true&lt;/code&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#008000;font-weight:bold"&gt;action&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;Label Pod as Suspicious&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;description&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;Add the label suspicious=true&amp;#34;&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;actionner&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;kubernetes:label&amp;#34;&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;parameters&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;labels&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;suspicious&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;true&amp;#34;&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#008000;font-weight:bold"&gt;rule&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;Terminal shell in container&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;description&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&amp;gt;&lt;span style="color:#b44;font-style:italic"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44;font-style:italic"&gt; Label the pod outside kube-system and falco namespaces if a shell is started inside&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;match&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;rules&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;- Terminal shell in container&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;output_fields&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;- k8s.ns.name!=kube-system, k8s.ns.name!=falco&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;actions&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;- &lt;span style="color:#008000;font-weight:bold"&gt;action&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;Label Pod as Suspicious&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The &lt;code&gt;action&lt;/code&gt; block are useful but not mandatory, the same result can be done by specifying the action in the &lt;code&gt;rule&lt;/code&gt; block directly:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#008000;font-weight:bold"&gt;rule&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;Terminal shell in container&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;match&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;rules&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;- Terminal shell in container&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;output_fields&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;- k8s.ns.name!=kube-system, k8s.ns.name!=falco&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;actions&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;- &lt;span style="color:#008000;font-weight:bold"&gt;action&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;Label Pod as Suspicious&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;actionner&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;kubernetes:label&amp;#34;&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;parameters&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;labels&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;suspicious&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;true&amp;#34;&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="actionners"&gt;Actionners&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;actionners&lt;/code&gt; are &lt;em&gt;on-catalog&lt;/em&gt; actions you can use. You just have to specify which one you want use to use, its parameters, and &lt;code&gt;Falco Talon&lt;/code&gt; will manage for you all the complexity. This is how we created a &lt;em&gt;no code&lt;/em&gt; response engine.&lt;/p&gt;
&lt;p&gt;Within this first version, we tried to integrate as much useful &lt;code&gt;actionners&lt;/code&gt; as possible, which allow you to manage a large variety of situations and reactions in Kubernetes.&lt;/p&gt;
&lt;p&gt;The available &lt;code&gt;actionners&lt;/code&gt; are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;kubernetes:terminate&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;kubernetes:label&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;kubernetes:networkpolicy&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;kubernetes:exec&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;kubernetes:script&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;kubernetes:log&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;kubernetes:delete&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;kubernetes:drain&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;kubernetes:download&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;kubernetes:tcpdump&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;aws:lambda&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;calico:networkpolicy&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cilium:networkpolicy&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To know more about what the &lt;code&gt;actionners&lt;/code&gt; do, what parameters they require, you can read on &lt;a href="https://docs.falco-talon.org/docs/actionners/list/"&gt;docs/actionners&lt;/a&gt;.&lt;/p&gt;
&lt;div class="card card-sm pageinfo pageinfo-info my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;You can notice all &lt;code&gt;actionners&lt;/code&gt; names are composed of 2 elements &lt;code&gt;x:y&lt;/code&gt;, the first element is the &lt;code&gt;category&lt;/code&gt; of the actionner. All &lt;code&gt;actionners&lt;/code&gt; in the same category share the same client, it avoid to have multi inits and instances.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="outputs"&gt;Outputs&lt;/h3&gt;
&lt;p&gt;Some &lt;code&gt;actionners&lt;/code&gt; require an &lt;code&gt;output&lt;/code&gt;, an &lt;code&gt;output&lt;/code&gt; is a target for the artifact created by the &lt;code&gt;actionner&lt;/code&gt;, for example for the file retrieved by &lt;code&gt;kubernetes:download&lt;/code&gt; or the &lt;code&gt;.pcap&lt;/code&gt; created by &lt;code&gt;kubernetes:tcpdump&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;3 &lt;code&gt;outputs&lt;/code&gt; are available today:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;local:file&lt;/code&gt; (only useful for local tests)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;aws:s3&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;minio:s3&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The list of the available &lt;code&gt;outputs&lt;/code&gt; can be found on &lt;a href="https://docs.falco-talon.org/docs/outputs/list/"&gt;docs/outputs&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id="example"&gt;Example&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- &lt;span style="color:#008000;font-weight:bold"&gt;rule&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;Redirect STDOUT/STDIN to Network Connection in Container&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;match&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;rules&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;- Redirect STDOUT/STDIN to Network Connection in Container&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;actions&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;- &lt;span style="color:#008000;font-weight:bold"&gt;action&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;Run tcpdump for 5s&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;actionner&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;kubernetes:tcpdump&amp;#34;&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;parameters&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;snaplen&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#666"&gt;512&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;duration&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#666"&gt;5&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;output&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;target&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;aws:s3&amp;#34;&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;parameters&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;bucket&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&amp;lt;my-bucket&amp;gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;prefix&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;/tcpdump/&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;region&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;us-east-1&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://v0-43--falcosecurity.netlify.app/blog/falco-talon-v0-1-0/images/awss3.png" alt="aws s3 with .pcap" loading="lazy" /&gt;
&lt;/p&gt;
&lt;h3 id="notifiers"&gt;Notifiers&lt;/h3&gt;
&lt;p&gt;Even we're talking about a &amp;quot;response engine&amp;quot;, a framework to automatically react to some events, we still want (we humans), to be noticed of what's happening or keep traces of the performed actions.&lt;/p&gt;
&lt;p&gt;Apart from logs output to &lt;code&gt;stdout&lt;/code&gt;, some &lt;code&gt;notifiers&lt;/code&gt; can be used to forward action results:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;elasticsearch&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;k8sevents&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;loki&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;slack&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;smtp&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;webhook&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The list of the available &lt;code&gt;notifiers&lt;/code&gt; can be found on &lt;a href="https://docs.falco-talon.org/docs/notifiers/list/"&gt;docs/notifiers&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id="examples-1"&gt;Examples&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;k8sevents&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;action&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;kubernetes:tcpdumpthought,&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;apiVersion&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;v1&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;eventTime&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;2024-09-05T12:52:10.819462Z&amp;#34;&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;firstTimestamp&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#a2f;font-weight:bold"&gt;null&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;involvedObject&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;kind&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;Pod&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;namespace&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;default&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;kind&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;Event&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;lastTimestamp&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#a2f;font-weight:bold"&gt;null&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;message&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;|&lt;span style="color:#b44;font-style:italic"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44;font-style:italic"&gt; Status: success
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44;font-style:italic"&gt; Message: action
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44;font-style:italic"&gt; Rule: Redirect STDOUT/STDIN to Network Connection in Container
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44;font-style:italic"&gt; Action: Run tcpdump for 5s
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44;font-style:italic"&gt; Actionner: kubernetes:tcpdump
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44;font-style:italic"&gt; Event: Redirect STDOUT/STDIN to Network Connection in Container
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44;font-style:italic"&gt; Namespace: default
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44;font-style:italic"&gt; Pod: cncf-55696bc998-5xjcb
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44;font-style:italic"&gt; Output: a tcpdump &amp;#34;tcpdump.pcap&amp;#34; has been created
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44;font-style:italic"&gt; TraceID: c954bd8b3391a08f23079552fdd639f3&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;metadata&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;creationTimestamp&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;2024-09-05T12:52:10Z&amp;#34;&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;generateName&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;falco-talon-&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;name&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;falco-talon-zgxfm&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;namespace&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;default&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;resourceVersion&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;115862544&amp;#34;&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;uid&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;3b4bd17f-ed1a-4693-bfd7-d10f674a8008&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;reason&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;falco-talon:action:kubernetes:tcpdump:success&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;reportingComponent&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;falcosecurity.org/falco-talon&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;reportingInstance&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;falco-talon&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;source&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;component&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;falco-talon&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;type&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;Normal&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;slack&lt;/code&gt;:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://v0-43--falcosecurity.netlify.app/blog/falco-talon-v0-1-0/images/slack.png" alt="slack" loading="lazy" /&gt;
&lt;/p&gt;
&lt;h2 id="a-tool-designed-for-the-production"&gt;A tool designed for the production&lt;/h2&gt;
&lt;p&gt;I spent 10 years of my career as a DevOps/SRE, managing traditional and cloud infrastructures, I know how painful it is to manage systems not well designed for the runtime. This is why we tried from the beginning to create a tool easy to rule all along it lifecycle.&lt;/p&gt;
&lt;h3 id="a-cli-to-validate-the-rules"&gt;A CLI to validate the rules&lt;/h3&gt;
&lt;p&gt;As it is for the Falco rules, the best way to manage the lifecycle of the rules for &lt;code&gt;Falco Talon&lt;/code&gt; is to follow the GitOps principles. This requires to set up a validation of their syntax as step in the CI.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;Falco Talon&lt;/code&gt; binary can also be used as a CLI, allowing to perfom tasks on the rules, like checking their validity or printing their results after the merges/overrides of several files:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ falco-talon rules check --help
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Check Falco Talon Rules file
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Usage:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; falco-talon rules check &lt;span style="color:#666"&gt;[&lt;/span&gt;flags&lt;span style="color:#666"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Flags:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -h, --help &lt;span style="color:#a2f"&gt;help&lt;/span&gt; &lt;span style="color:#a2f;font-weight:bold"&gt;for&lt;/span&gt; check
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Global Flags:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -c, --config string Falco Talon Config File &lt;span style="color:#666"&gt;(&lt;/span&gt;default &lt;span style="color:#b44"&gt;&amp;#34;/etc/falco-talon/config.yaml&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -r, --rules stringArray Falco Talon Rules File &lt;span style="color:#666"&gt;(&lt;/span&gt;default &lt;span style="color:#666"&gt;[&lt;/span&gt;/etc/falco-talon/rules.yaml&lt;span style="color:#666"&gt;])&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="examples-2"&gt;Examples&lt;/h4&gt;
&lt;p&gt;With a valid rules file:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ falco-talon rules check -c ./config.yaml -r ./rules.yaml
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;2024-09-05T16:42:28+02:00 INF rules &lt;span style="color:#b8860b"&gt;result&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;rules file valid&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;With an invalid rules file:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ falco-talon rules check -c ./config.yaml -r ./rules.yaml
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;2024-09-05T16:44:01+02:00 ERR rules &lt;span style="color:#b8860b"&gt;error&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;unknown actionner&amp;#34;&lt;/span&gt; &lt;span style="color:#b8860b"&gt;action&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;Label Pod as Suspicious&amp;#34;&lt;/span&gt; &lt;span style="color:#b8860b"&gt;actionner&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;foor:bar &lt;span style="color:#b8860b"&gt;rule&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;Terminal shell in container&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;2024-09-05T16:44:01+02:00 FTL rules &lt;span style="color:#b8860b"&gt;error&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;invalid rules&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a2f"&gt;exit&lt;/span&gt; status &lt;span style="color:#666"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="structured-logs"&gt;Structured Logs&lt;/h3&gt;
&lt;p&gt;The logs, whatever the component emitting them, keep always the same structure and contain a &lt;code&gt;trace_id&lt;/code&gt; field, allowing to follow the workflow performed by &lt;code&gt;Falco Talon&lt;/code&gt;.&lt;/p&gt;
&lt;div class="card card-sm pageinfo pageinfo-info my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;The value of &lt;code&gt;trace_id&lt;/code&gt; is also used to create the &lt;code&gt;TraceId&lt;/code&gt; the OTEL Traces, by using a log backend like Loki, it becomes easy to correlate the traces with the logs in the same UI, like Grafana.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;The CLI contains more features, take a look at them on &lt;a href="https://docs.falco-talon.org/docs/installation_usage/usage/"&gt;docs /installation_usage/usage&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id="example-1"&gt;Example&lt;/h4&gt;
&lt;p&gt;Each step is clearly identified by the &lt;em&gt;tag&lt;/em&gt; after the log level:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;2024-09-05T14:52:03+02:00 INF event &lt;span style="color:#b8860b"&gt;event&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;Redirect STDOUT/STDIN to Network Connection in Container&amp;#34;&lt;/span&gt; &lt;span style="color:#b8860b"&gt;output&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;&amp;lt;truncated&amp;gt; &lt;span style="color:#b8860b"&gt;priority&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;Critical &lt;span style="color:#b8860b"&gt;source&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;syscall &lt;span style="color:#b8860b"&gt;trace_id&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;c954bd8b3391a08f23079552fdd639f3
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;2024-09-05T14:52:03+02:00 INF match &lt;span style="color:#b8860b"&gt;event&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;Redirect STDOUT/STDIN to Network Connection in Container&amp;#34;&lt;/span&gt; &lt;span style="color:#b8860b"&gt;output&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;&amp;lt;truncated&amp;gt; &lt;span style="color:#b8860b"&gt;priority&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;Critical &lt;span style="color:#b8860b"&gt;rule&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;Reverse shell detected&amp;#34;&lt;/span&gt; &lt;span style="color:#b8860b"&gt;source&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;syscall &lt;span style="color:#b8860b"&gt;trace_id&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;c954bd8b3391a08f23079552fdd639f3
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;2024-09-05T14:52:10+02:00 INF action &lt;span style="color:#b8860b"&gt;action&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;Run tcpdump for 5s&amp;#34;&lt;/span&gt; &lt;span style="color:#b8860b"&gt;actionner&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;kubernetes:tcpdump &lt;span style="color:#b8860b"&gt;event&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;&lt;span style="color:#a2f"&gt;test&lt;/span&gt; &lt;span style="color:#b8860b"&gt;namespace&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;default &lt;span style="color:#b8860b"&gt;output&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;a tcpdump &amp;#39;tcpdump.pcap&amp;#39; has been created&amp;#34;&lt;/span&gt; &lt;span style="color:#b8860b"&gt;pod&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;cncf-55696bc998-5xjcb &lt;span style="color:#b8860b"&gt;rule&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;Reverse shell detected&amp;#34;&lt;/span&gt; &lt;span style="color:#b8860b"&gt;status&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;success &lt;span style="color:#b8860b"&gt;trace_id&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;c954bd8b3391a08f23079552fdd639f3
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;2024-09-05T14:52:10+02:00 INF notification &lt;span style="color:#b8860b"&gt;action&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;Run tcpdump for 5s&amp;#34;&lt;/span&gt; &lt;span style="color:#b8860b"&gt;actionner&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;kubernetes:tcpdump &lt;span style="color:#b8860b"&gt;notifier&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;k8sevents &lt;span style="color:#b8860b"&gt;rule&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;Reverse shell detected&amp;#34;&lt;/span&gt; &lt;span style="color:#b8860b"&gt;stage&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;action &lt;span style="color:#b8860b"&gt;status&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;success &lt;span style="color:#b8860b"&gt;trace_id&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;c954bd8b3391a08f23079552fdd639f3
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;2024-09-05T14:52:11+02:00 INF output &lt;span style="color:#b8860b"&gt;action&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;Run tcpdump for 5s&amp;#34;&lt;/span&gt; &lt;span style="color:#b8860b"&gt;bucket&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;xxxxx &lt;span style="color:#b8860b"&gt;category&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;aws &lt;span style="color:#b8860b"&gt;file&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;tcpdump.pcap &lt;span style="color:#b8860b"&gt;key&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;2024-09-05T14-52-10Z_default_cncf-55696bc998-5xjcb_tcpdump.pcap &lt;span style="color:#b8860b"&gt;output&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;the file &amp;#39;tcpdump.pcap&amp;#39; has been uploaded as the key &amp;#39;tcpdump/2024-09-05T14-52-10Z_default_cncf-55696bc998-5xjcb_tcpdump.pcap&amp;#39; to the bucket &amp;#39;xxxxx&amp;#39;&amp;#34;&lt;/span&gt; &lt;span style="color:#b8860b"&gt;output_target&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;aws:s3 &lt;span style="color:#b8860b"&gt;prefix&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;tcpdump/ &lt;span style="color:#b8860b"&gt;region&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;us-east-1 &lt;span style="color:#b8860b"&gt;status&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;success &lt;span style="color:#b8860b"&gt;trace_id&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;c954bd8b3391a08f23079552fdd639f3
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;2024-09-05T14:52:11+02:00 INF notification &lt;span style="color:#b8860b"&gt;action&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;Run tcpdump for 5s&amp;#34;&lt;/span&gt; &lt;span style="color:#b8860b"&gt;actionner&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;kubernetes:tcpdump &lt;span style="color:#b8860b"&gt;notifier&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;k8sevents &lt;span style="color:#b8860b"&gt;output_target&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;aws:s3 &lt;span style="color:#b8860b"&gt;rule&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;Reverse shell detected&amp;#34;&lt;/span&gt; &lt;span style="color:#b8860b"&gt;stage&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;output &lt;span style="color:#b8860b"&gt;status&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;success &lt;span style="color:#b8860b"&gt;trace_id&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;c954bd8b3391a08f23079552fdd639f3
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="metrics"&gt;Metrics&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;Falco Talon&lt;/code&gt; exposes the traditional &lt;code&gt;/metrics&lt;/code&gt; endpoint with metrics in the Prometheus format.&lt;/p&gt;
&lt;div class="card card-sm pageinfo pageinfo-info my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;To keep a consistency, all metrics related to &lt;code&gt;Falco Talon&lt;/code&gt; itself are prefixed with &lt;code&gt;falcosecurity_falco_talon_&lt;/code&gt;, it follows the same convention used by Falco for its metrics.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;For people interested by the metrics in the OTEL format, it's also available, see &lt;a href="https://docs.falco-talon.org/docs/installation_usage/metrics/"&gt;docs installation_usage/metrics&lt;/a&gt;&lt;/p&gt;
&lt;h4 id="example-2"&gt;Example&lt;/h4&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# HELP action_total number of actions
# TYPE action_total counter
falcosecurity_falco_talon_action_total{action=&amp;#34;Disable outbound connections&amp;#34;,actionner=&amp;#34;kubernetes:networkpolicy&amp;#34;,event=&amp;#34;Test logs&amp;#34;,namespace=&amp;#34;falco&amp;#34;,otel_scope_name=&amp;#34;github.com/Falco-Talon/falco-talon&amp;#34;,otel_scope_version=&amp;#34;devel&amp;#34;,pod=&amp;#34;falco-5b7kc&amp;#34;,rule=&amp;#34;Suspicious outbound connection&amp;#34;,status=&amp;#34;failure&amp;#34;} 6
falcosecurity_falco_talon_action_total{action=&amp;#34;Terminate Pod&amp;#34;,actionner=&amp;#34;kubernetes:terminate&amp;#34;,event=&amp;#34;Test logs&amp;#34;,namespace=&amp;#34;falco&amp;#34;,otel_scope_name=&amp;#34;github.com/Falco-Talon/falco-talon&amp;#34;,otel_scope_version=&amp;#34;devel&amp;#34;,pod=&amp;#34;falco-5b7kc&amp;#34;,rule=&amp;#34;Suspicious outbound connection&amp;#34;,status=&amp;#34;failure&amp;#34;} 6
# HELP event_total number of received events
# TYPE event_total counter
falcosecurity_falco_talon_event_total{event=&amp;#34;Unexpected outbound connection destination&amp;#34;,otel_scope_name=&amp;#34;github.com/Falco-Talon/falco-talon&amp;#34;,otel_scope_version=&amp;#34;devel&amp;#34;,priority=&amp;#34;Critical&amp;#34;,source=&amp;#34;syscalls&amp;#34;} 2
# HELP match_total number of matched events
# TYPE match_total counter
falcosecurity_falco_talon_match_total{event=&amp;#34;Unexpected outbound connection destination&amp;#34;,otel_scope_name=&amp;#34;github.com/Falco-Talon/falco-talon&amp;#34;,otel_scope_version=&amp;#34;devel&amp;#34;,priority=&amp;#34;Critical&amp;#34;,rule=&amp;#34;Suspicious outbound connection&amp;#34;,source=&amp;#34;syscalls&amp;#34;} 2
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="otel-traces"&gt;OTEL Traces&lt;/h3&gt;
&lt;p&gt;We know following logs can be not really convenient, and they may lack of useful informations. You can therefore enable the emits of Traces in the OTEL format. All backends accepting this format can be used to store and visualize them.&lt;/p&gt;
&lt;p&gt;To know how to set up the traces, see &lt;a href="https://docs.falco-talon.org/docs/installation_usage/traces/"&gt;docs installation_usage/traces&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id="examples-3"&gt;Examples&lt;/h4&gt;
&lt;p&gt;In Grafana with Tempo:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://v0-43--falcosecurity.netlify.app/blog/falco-talon-v0-1-0/images/grafana-trace-2.png" alt="grafana trace 2" loading="lazy" /&gt;
&lt;img src="https://v0-43--falcosecurity.netlify.app/blog/falco-talon-v0-1-0/images/grafana-trace-1.png" alt="grafana trace 1" loading="lazy" /&gt;
&lt;/p&gt;
&lt;p&gt;In Jaeger:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://v0-43--falcosecurity.netlify.app/blog/falco-talon-v0-1-0/images/jaeger.png" alt="jaeger" loading="lazy" /&gt;
&lt;/p&gt;
&lt;h2 id="installation"&gt;Installation&lt;/h2&gt;
&lt;p&gt;The easiest way, for now, to deploy &lt;code&gt;Falco Talon&lt;/code&gt; is to use the Helm chart included in the repo.&lt;/p&gt;
&lt;h3 id="with-helm"&gt;with Helm&lt;/h3&gt;
&lt;div class="card card-sm pageinfo pageinfo-info my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;Since version 0.2.0, chart has been moved under the official &lt;a href="https://github.com/falcosecurity/charts"&gt;&lt;code&gt;falcosecurity/charts repository&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;The procedure to install the &lt;code&gt;v0.1.0&lt;/code&gt; of &lt;code&gt;Falco Talon&lt;/code&gt; is:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm repo add falcosecurity https://falcosecurity.github.io/charts
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm repo update falcosecurity
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm upgrade --install falco-talon falcosecurity/falco-talon
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="shoutout"&gt;Shoutout&lt;/h2&gt;
&lt;p&gt;I would like to shoutout some persons without the project would have been possible:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/danpapandrea/"&gt;&lt;strong&gt;Dan Papandrea&lt;/strong&gt;&lt;/a&gt; who thought about the first specs of the project with me and found the name &lt;code&gt;Falco Talon&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/igor-eulalio-morgado-lopes-310687163/"&gt;&lt;strong&gt;Igor Eulalio&lt;/strong&gt;&lt;/a&gt; who develops &lt;code&gt;Falco Talon&lt;/code&gt; with me, introduced amazing features like the traces, and injected so much energy in the project&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/rachidzarouali/"&gt;&lt;strong&gt;Rachid Zarouali&lt;/strong&gt;&lt;/a&gt;, the tester #1, a lot of features came from his ideas and feedbacks, he's also always a pleasure to present a talk about &lt;code&gt;Falco Talon&lt;/code&gt; with him&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/nigel-douglas-sysdig/"&gt;&lt;strong&gt;Nigel Douglas&lt;/strong&gt;&lt;/a&gt; who tests and promotes &lt;code&gt;Falco Talon&lt;/code&gt; with talks and blog posts since the alpha stages&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/cpanato/"&gt;&lt;strong&gt;Carlos Tadeu Panato Júnior&lt;/strong&gt;&lt;/a&gt; the magician of the CI, who still continue to manage the upgrade of the dependencies&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-s-next"&gt;What's next?&lt;/h2&gt;
&lt;p&gt;This first release, the &lt;a href="https://github.com/falco-talon/falco-talon/releases/tag/v0.1.0"&gt;v0.1.0&lt;/a&gt;, is just GA and it's the beginning of the journey. All your feebacks and ideas are welcome, this project has for DNA to improve the security of the Kubernetes clusters by answering real needs and usages.&lt;/p&gt;
&lt;p&gt;The next big step to achieve is to join officially the &lt;a href="https://github.com/falcosecurity"&gt;&lt;code&gt;falcosecurity&lt;/code&gt; organization&lt;/a&gt;. &lt;a href="https://github.com/falcosecurity/evolution/issues/403"&gt;An issue has been created in the evolution repo&lt;/a&gt; to do so. Don't hesitate to vote for 🙏!&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Thomas&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;To go further:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GitHub repo of the &lt;code&gt;Falco Talon&lt;/code&gt; project: &lt;a href="https://github.com/falco-talon/falco-talon"&gt;https://github.com/falco-talon/falco-talon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Official docs of &lt;code&gt;Falco Talon&lt;/code&gt;: &lt;a href="https://docs.falco-talon.org/"&gt;https://docs.falco-talon.org/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A record of a talk (by Rachid and Thomas) in French to introduce &lt;code&gt;Falco Talon&lt;/code&gt;: &lt;a href="https://www.youtube.com/watch?v=Mx28fhyKX7Q"&gt;https://www.youtube.com/watch?v=Mx28fhyKX7Q&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>