<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Get all parent processes of a given process with XQL in Cortex XDR Discussions</title>
    <link>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/get-all-parent-processes-of-a-given-process-with-xql/m-p/1252800#M9268</link>
    <description>&lt;DIV&gt;
&lt;P&gt;I am trying to obtain a &lt;STRONG&gt;linear process tree&lt;/STRONG&gt; for a specific process using &lt;STRONG&gt;XQL&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Example:&lt;/STRONG&gt;&lt;BR /&gt;In the Causality Chain view, the process tree for &lt;STRONG&gt;Process X&lt;/STRONG&gt; looks as follows:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE&gt;explorer.exe → Process Z → Process Y → Process X
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;I want to write a query that returns &lt;STRONG&gt;exactly those three process events&lt;/STRONG&gt; (excluding explorer.exe) that spawned the next process up until Process X.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I was able to create a query that lists &lt;STRONG&gt;all child processes of Process Z&lt;/STRONG&gt; (i.e., the full CGO tree). However, I am &lt;STRONG&gt;only interested in the linear parent–child chain leading to Process X&lt;/STRONG&gt;, and &lt;STRONG&gt;not&lt;/STRONG&gt; in any other child processes that Process Z or Process Y may have spawned.&lt;/P&gt;
&lt;/DIV&gt;</description>
    <pubDate>Wed, 22 Apr 2026 17:25:10 GMT</pubDate>
    <dc:creator>MaaHaa</dc:creator>
    <dc:date>2026-04-22T17:25:10Z</dc:date>
    <item>
      <title>Get all parent processes of a given process with XQL</title>
      <link>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/get-all-parent-processes-of-a-given-process-with-xql/m-p/1252800#M9268</link>
      <description>&lt;DIV&gt;
&lt;P&gt;I am trying to obtain a &lt;STRONG&gt;linear process tree&lt;/STRONG&gt; for a specific process using &lt;STRONG&gt;XQL&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Example:&lt;/STRONG&gt;&lt;BR /&gt;In the Causality Chain view, the process tree for &lt;STRONG&gt;Process X&lt;/STRONG&gt; looks as follows:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE&gt;explorer.exe → Process Z → Process Y → Process X
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;I want to write a query that returns &lt;STRONG&gt;exactly those three process events&lt;/STRONG&gt; (excluding explorer.exe) that spawned the next process up until Process X.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I was able to create a query that lists &lt;STRONG&gt;all child processes of Process Z&lt;/STRONG&gt; (i.e., the full CGO tree). However, I am &lt;STRONG&gt;only interested in the linear parent–child chain leading to Process X&lt;/STRONG&gt;, and &lt;STRONG&gt;not&lt;/STRONG&gt; in any other child processes that Process Z or Process Y may have spawned.&lt;/P&gt;
&lt;/DIV&gt;</description>
      <pubDate>Wed, 22 Apr 2026 17:25:10 GMT</pubDate>
      <guid>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/get-all-parent-processes-of-a-given-process-with-xql/m-p/1252800#M9268</guid>
      <dc:creator>MaaHaa</dc:creator>
      <dc:date>2026-04-22T17:25:10Z</dc:date>
    </item>
    <item>
      <title>Re: Get all parent processes of a given process with XQL</title>
      <link>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/get-all-parent-processes-of-a-given-process-with-xql/m-p/1252970#M9269</link>
      <description>&lt;P data-end="101" data-start="87"&gt;Hello &lt;a href="https://live.paloaltonetworks.com/t5/user/viewprofilepage/user-id/432284037"&gt;@MaaHaa&lt;/a&gt;,&lt;/P&gt;
&lt;P data-end="101" data-start="87"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P data-end="236" data-start="103"&gt;Cortex XDR stores processes as a causality graph, so XQL returns all child processes by default, not just a single parent-child path.&lt;/P&gt;
&lt;P data-end="445" data-start="238"&gt;As far as I know, XQL cannot automatically walk the chain step-by-step. You can only manually reconstruct it using instance IDs, for example:&lt;BR data-end="382" data-start="379" /&gt;&lt;CODE data-end="445" data-start="382"&gt;filter action_process_instance_id in ("X_ID", "Y_ID", "Z_ID")&lt;/CODE&gt;&lt;/P&gt;
&lt;P data-end="465" data-start="447"&gt;I hope this helps.&lt;/P&gt;</description>
      <pubDate>Fri, 24 Apr 2026 08:30:07 GMT</pubDate>
      <guid>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/get-all-parent-processes-of-a-given-process-with-xql/m-p/1252970#M9269</guid>
      <dc:creator>ThisizAmen</dc:creator>
      <dc:date>2026-04-24T08:30:07Z</dc:date>
    </item>
    <item>
      <title>Re: Get all parent processes of a given process with XQL</title>
      <link>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/get-all-parent-processes-of-a-given-process-with-xql/m-p/1253073#M9274</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://live.paloaltonetworks.com/t5/user/viewprofilepage/user-id/932715601"&gt;@ThisizAmen&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks four your reply.&lt;BR /&gt;Unfortunately, I'm a complete Beginner in XQL. Could you provide an example for&amp;nbsp;manually reconstructing the process chain? How could I retrieve the PID of e.g. process Y or process Z?&lt;BR /&gt;In the alert event, I only have the PID of the main process (x) and the CGO (which in this case is Z, but could also be a process higher up in the chain).&lt;/P&gt;</description>
      <pubDate>Mon, 27 Apr 2026 07:32:56 GMT</pubDate>
      <guid>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/get-all-parent-processes-of-a-given-process-with-xql/m-p/1253073#M9274</guid>
      <dc:creator>MaaHaa</dc:creator>
      <dc:date>2026-04-27T07:32:56Z</dc:date>
    </item>
    <item>
      <title>Re: Get all parent processes of a given process with XQL</title>
      <link>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/get-all-parent-processes-of-a-given-process-with-xql/m-p/1253084#M9276</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P data-end="18" data-start="0"&gt;Greetings&amp;nbsp;&lt;a href="https://live.paloaltonetworks.com/t5/user/viewprofilepage/user-id/432284037"&gt;@MaaHaa&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P data-end="76" data-start="20"&gt;There is no problem, you can get the PID via this query:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="relative w-full mt-4 mb-1"&gt;
&lt;DIV class=""&gt;
&lt;DIV class="relative"&gt;
&lt;DIV class="h-full min-h-0 min-w-0"&gt;
&lt;DIV class="h-full min-h-0 min-w-0"&gt;
&lt;DIV class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"&gt;
&lt;DIV class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"&gt;
&lt;DIV class="pointer-events-none absolute end-1.5 top-1 z-2 md:end-2 md:top-1"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="relative"&gt;
&lt;DIV class="pe-11 pt-3"&gt;
&lt;DIV class="relative z-0 flex max-w-full"&gt;
&lt;DIV id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼk ͼy" dir="ltr"&gt;
&lt;DIV class="cm-scroller"&gt;
&lt;DIV class="cm-content q9tKkq_readonly"&gt;&lt;SPAN&gt;dataset = xdr_data&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;| filter event_type = ENUM.PROCESS&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;| filter action_process_instance_id = "X_ID"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;| fields&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;action_process_image_name,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;action_process_pid,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;actor_process_image_name,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;actor_process_pid,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;actor_process_instance_id&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV class="cm-content q9tKkq_readonly"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class=""&gt;
&lt;DIV class=""&gt;&lt;SPAN&gt;CGO is the process responsible for the whole chain, not necessarily the immediate parent.&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P data-end="413" data-start="404"&gt;And also, You might think: I have X and Z, can I just find what’s between them? Basically, no via XQL. My knowledge is not as deep as the Palo Alto engineers themselves, so I suggest you reach out to them for this particular case.&lt;/P&gt;</description>
      <pubDate>Mon, 27 Apr 2026 13:20:59 GMT</pubDate>
      <guid>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/get-all-parent-processes-of-a-given-process-with-xql/m-p/1253084#M9276</guid>
      <dc:creator>ThisizAmen</dc:creator>
      <dc:date>2026-04-27T13:20:59Z</dc:date>
    </item>
  </channel>
</rss>

