<?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 Re: Custom BIOC Rule won't apply to Prevention Profile in Cortex XDR Discussions</title>
    <link>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/custom-bioc-rule-won-t-apply-to-prevention-profile/m-p/1249055#M9170</link>
    <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://live.paloaltonetworks.com/t5/user/viewprofilepage/user-id/309634035"&gt;@M.McClure&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Greetings for the day.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P data-end="373" data-start="83"&gt;The behavior you are experiencing is a design limitation of Cortex XDR and not a bug. When a Behavioral Indicator of Compromise (BIOC) rule is added to a Restrictions Profile for prevention, it is converted into a rule that must be evaluated locally by the Cortex XDR agent on the endpoint.&lt;/P&gt;
&lt;P data-end="373" data-start="83"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P data-end="740" data-start="375"&gt;To ensure the agent can enforce these rules in real time without relying on server-side context, certain fields are prohibited in the BIOC query logic. Adding an exception based on Host Name (or device name prefixes) makes the rule ineligible for prevention enforcement, causing it to disappear from selection lists or lose the "Add to restrictions profile" option.&lt;/P&gt;
&lt;P data-end="740" data-start="375"&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4 data-end="788" data-start="747"&gt;Prohibited Fields for Prevention BIOCs:&lt;/H4&gt;
&lt;P data-end="887" data-start="790"&gt;A BIOC rule cannot be applied to a prevention profile if it contains any of the following fields:&lt;/P&gt;
&lt;UL data-end="1264" data-start="889"&gt;
&lt;LI data-end="964" data-start="889"&gt;
&lt;P data-end="964" data-start="891"&gt;&lt;STRONG data-end="906" data-start="891"&gt;All Events:&lt;/STRONG&gt; Host Name (this is likely what is triggering your issue).&lt;/P&gt;
&lt;/LI&gt;
&lt;LI data-end="1018" data-start="965"&gt;
&lt;P data-end="1018" data-start="967"&gt;&lt;STRONG data-end="983" data-start="967"&gt;File Events:&lt;/STRONG&gt; Device Type, Device Serial Number.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI data-end="1086" data-start="1019"&gt;
&lt;P data-end="1086" data-start="1021"&gt;&lt;STRONG data-end="1040" data-start="1021"&gt;Process Events:&lt;/STRONG&gt; Device Type, Device Serial Number, User Name.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI data-end="1129" data-start="1087"&gt;
&lt;P data-end="1129" data-start="1089"&gt;&lt;STRONG data-end="1108" data-start="1089"&gt;Network Events:&lt;/STRONG&gt; Country, Raw Packet.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI data-end="1264" data-start="1130"&gt;
&lt;P data-end="1264" data-start="1132"&gt;&lt;STRONG data-end="1149" data-start="1132"&gt;XQL Specific:&lt;/STRONG&gt; Complex operators like &lt;CODE data-end="1183" data-start="1173"&gt;contains&lt;/CODE&gt; or &lt;CODE data-end="1191" data-start="1187"&gt;in&lt;/CODE&gt; used with wildcards (*) are often unsupported; use regex (&lt;CODE data-end="1254" data-start="1250"&gt;~=&lt;/CODE&gt;) instead.&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;H4 data-end="1294" data-start="1271"&gt;Recommended Solution:&lt;/H4&gt;
&lt;P data-end="1440" data-start="1296"&gt;Instead of including host-based exceptions within the BIOC rule itself, you should separate the behavioral definition from the deployment scope.&lt;/P&gt;
&lt;H5 data-end="1471" data-start="1442"&gt;1. Modify the BIOC Rule:&lt;/H5&gt;
&lt;P data-end="1652" data-start="1472"&gt;Remove the filters or exceptions related to host names or device prefixes. Ensure the rule only defines the behavior you want to block (for example, the execution of &lt;CODE data-end="1650" data-start="1638"&gt;chrome.exe&lt;/CODE&gt;).&lt;/P&gt;
&lt;H5 data-end="1689" data-start="1654"&gt;2. Add to Restriction Profile:&lt;/H5&gt;
&lt;UL data-end="1809" data-start="1690"&gt;
&lt;LI data-end="1733" data-start="1690"&gt;
&lt;P data-end="1733" data-start="1692"&gt;Navigate to &lt;STRONG data-end="1730" data-start="1704"&gt;Detection Rules &amp;gt; BIOC&lt;/STRONG&gt;.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI data-end="1809" data-start="1734"&gt;
&lt;P data-end="1809" data-start="1736"&gt;Right-click your generic rule and select &lt;STRONG data-end="1808" data-start="1777"&gt;Add to restrictions profile&lt;/STRONG&gt;.&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;H5 data-end="1853" data-start="1811"&gt;3. Use Policy Management for Scoping:&lt;/H5&gt;
&lt;UL data-end="2208" data-start="1854"&gt;
&lt;LI data-end="1932" data-start="1854"&gt;
&lt;P data-end="1932" data-start="1856"&gt;Navigate to &lt;STRONG data-end="1929" data-start="1868"&gt;Endpoints &amp;gt; Policy Management &amp;gt; Prevention &amp;gt; Policy Rules&lt;/STRONG&gt;.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI data-end="2020" data-start="1933"&gt;
&lt;P data-end="2020" data-start="1935"&gt;Create a policy rule that targets only your servers (by group, alias, or hostname).&lt;/P&gt;
&lt;/LI&gt;
&lt;LI data-end="2108" data-start="2021"&gt;
&lt;P data-end="2108" data-start="2023"&gt;Assign the Restriction Profile containing your custom BIOC to this specific policy.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI data-end="2208" data-start="2109"&gt;
&lt;P data-end="2208" data-start="2111"&gt;For end-user devices, use a different policy rule that does not include this Restriction Profile.&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P data-end="2362" data-start="2210"&gt;This approach allows the BIOC to remain agent-enforceable while still restricting the block action to the specific set of servers you intend to protect.&lt;/P&gt;
&lt;H4 data-end="2401" data-start="2369"&gt;Alternative for Google Chrome:&lt;/H4&gt;
&lt;P data-is-only-node="" data-is-last-node="" data-end="2753" data-start="2403"&gt;If your goal is specifically to block Chrome, it is often recommended to use the &lt;STRONG data-end="2505" data-start="2484"&gt;Add to Block list&lt;/STRONG&gt; feature within the Restriction Profile directly, adding the executable names (for example, &lt;CODE data-end="2609" data-start="2597"&gt;chrome.exe&lt;/CODE&gt;, &lt;CODE data-end="2628" data-start="2611"&gt;ChromeSetup.exe&lt;/CODE&gt;) rather than using a behavioral BIOC. BIOCs are asynchronous and may allow initial execution before terminating the process.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you feel this has answered your query, please let us know by clicking like and on&amp;nbsp;&lt;STRONG&gt;"mark this as a Solution".&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks &amp;amp; Regards,&lt;BR /&gt;S. Subashkar Sekar&lt;/P&gt;</description>
    <pubDate>Thu, 26 Feb 2026 13:21:23 GMT</pubDate>
    <dc:creator>susekar</dc:creator>
    <dc:date>2026-02-26T13:21:23Z</dc:date>
    <item>
      <title>Custom BIOC Rule won't apply to Prevention Profile</title>
      <link>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/custom-bioc-rule-won-t-apply-to-prevention-profile/m-p/1248727#M9168</link>
      <description>&lt;P&gt;We are attempting to make a custom BIOC rule to prevent the use of certain softwares on our servers. Applying the BIOC to a prevention profile works, except for when we add any exceptions. Say we are attempting to block Google Chrome on servers, we add an exception for a prefix used for end user device names and the BIOC can no longer be applied to any prevention rule. Am I missing something? Is this a bug perhaps?&lt;/P&gt;</description>
      <pubDate>Fri, 20 Feb 2026 19:18:47 GMT</pubDate>
      <guid>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/custom-bioc-rule-won-t-apply-to-prevention-profile/m-p/1248727#M9168</guid>
      <dc:creator>M.McClure</dc:creator>
      <dc:date>2026-02-20T19:18:47Z</dc:date>
    </item>
    <item>
      <title>Re: Custom BIOC Rule won't apply to Prevention Profile</title>
      <link>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/custom-bioc-rule-won-t-apply-to-prevention-profile/m-p/1249055#M9170</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://live.paloaltonetworks.com/t5/user/viewprofilepage/user-id/309634035"&gt;@M.McClure&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Greetings for the day.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P data-end="373" data-start="83"&gt;The behavior you are experiencing is a design limitation of Cortex XDR and not a bug. When a Behavioral Indicator of Compromise (BIOC) rule is added to a Restrictions Profile for prevention, it is converted into a rule that must be evaluated locally by the Cortex XDR agent on the endpoint.&lt;/P&gt;
&lt;P data-end="373" data-start="83"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P data-end="740" data-start="375"&gt;To ensure the agent can enforce these rules in real time without relying on server-side context, certain fields are prohibited in the BIOC query logic. Adding an exception based on Host Name (or device name prefixes) makes the rule ineligible for prevention enforcement, causing it to disappear from selection lists or lose the "Add to restrictions profile" option.&lt;/P&gt;
&lt;P data-end="740" data-start="375"&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4 data-end="788" data-start="747"&gt;Prohibited Fields for Prevention BIOCs:&lt;/H4&gt;
&lt;P data-end="887" data-start="790"&gt;A BIOC rule cannot be applied to a prevention profile if it contains any of the following fields:&lt;/P&gt;
&lt;UL data-end="1264" data-start="889"&gt;
&lt;LI data-end="964" data-start="889"&gt;
&lt;P data-end="964" data-start="891"&gt;&lt;STRONG data-end="906" data-start="891"&gt;All Events:&lt;/STRONG&gt; Host Name (this is likely what is triggering your issue).&lt;/P&gt;
&lt;/LI&gt;
&lt;LI data-end="1018" data-start="965"&gt;
&lt;P data-end="1018" data-start="967"&gt;&lt;STRONG data-end="983" data-start="967"&gt;File Events:&lt;/STRONG&gt; Device Type, Device Serial Number.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI data-end="1086" data-start="1019"&gt;
&lt;P data-end="1086" data-start="1021"&gt;&lt;STRONG data-end="1040" data-start="1021"&gt;Process Events:&lt;/STRONG&gt; Device Type, Device Serial Number, User Name.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI data-end="1129" data-start="1087"&gt;
&lt;P data-end="1129" data-start="1089"&gt;&lt;STRONG data-end="1108" data-start="1089"&gt;Network Events:&lt;/STRONG&gt; Country, Raw Packet.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI data-end="1264" data-start="1130"&gt;
&lt;P data-end="1264" data-start="1132"&gt;&lt;STRONG data-end="1149" data-start="1132"&gt;XQL Specific:&lt;/STRONG&gt; Complex operators like &lt;CODE data-end="1183" data-start="1173"&gt;contains&lt;/CODE&gt; or &lt;CODE data-end="1191" data-start="1187"&gt;in&lt;/CODE&gt; used with wildcards (*) are often unsupported; use regex (&lt;CODE data-end="1254" data-start="1250"&gt;~=&lt;/CODE&gt;) instead.&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;H4 data-end="1294" data-start="1271"&gt;Recommended Solution:&lt;/H4&gt;
&lt;P data-end="1440" data-start="1296"&gt;Instead of including host-based exceptions within the BIOC rule itself, you should separate the behavioral definition from the deployment scope.&lt;/P&gt;
&lt;H5 data-end="1471" data-start="1442"&gt;1. Modify the BIOC Rule:&lt;/H5&gt;
&lt;P data-end="1652" data-start="1472"&gt;Remove the filters or exceptions related to host names or device prefixes. Ensure the rule only defines the behavior you want to block (for example, the execution of &lt;CODE data-end="1650" data-start="1638"&gt;chrome.exe&lt;/CODE&gt;).&lt;/P&gt;
&lt;H5 data-end="1689" data-start="1654"&gt;2. Add to Restriction Profile:&lt;/H5&gt;
&lt;UL data-end="1809" data-start="1690"&gt;
&lt;LI data-end="1733" data-start="1690"&gt;
&lt;P data-end="1733" data-start="1692"&gt;Navigate to &lt;STRONG data-end="1730" data-start="1704"&gt;Detection Rules &amp;gt; BIOC&lt;/STRONG&gt;.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI data-end="1809" data-start="1734"&gt;
&lt;P data-end="1809" data-start="1736"&gt;Right-click your generic rule and select &lt;STRONG data-end="1808" data-start="1777"&gt;Add to restrictions profile&lt;/STRONG&gt;.&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;H5 data-end="1853" data-start="1811"&gt;3. Use Policy Management for Scoping:&lt;/H5&gt;
&lt;UL data-end="2208" data-start="1854"&gt;
&lt;LI data-end="1932" data-start="1854"&gt;
&lt;P data-end="1932" data-start="1856"&gt;Navigate to &lt;STRONG data-end="1929" data-start="1868"&gt;Endpoints &amp;gt; Policy Management &amp;gt; Prevention &amp;gt; Policy Rules&lt;/STRONG&gt;.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI data-end="2020" data-start="1933"&gt;
&lt;P data-end="2020" data-start="1935"&gt;Create a policy rule that targets only your servers (by group, alias, or hostname).&lt;/P&gt;
&lt;/LI&gt;
&lt;LI data-end="2108" data-start="2021"&gt;
&lt;P data-end="2108" data-start="2023"&gt;Assign the Restriction Profile containing your custom BIOC to this specific policy.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI data-end="2208" data-start="2109"&gt;
&lt;P data-end="2208" data-start="2111"&gt;For end-user devices, use a different policy rule that does not include this Restriction Profile.&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P data-end="2362" data-start="2210"&gt;This approach allows the BIOC to remain agent-enforceable while still restricting the block action to the specific set of servers you intend to protect.&lt;/P&gt;
&lt;H4 data-end="2401" data-start="2369"&gt;Alternative for Google Chrome:&lt;/H4&gt;
&lt;P data-is-only-node="" data-is-last-node="" data-end="2753" data-start="2403"&gt;If your goal is specifically to block Chrome, it is often recommended to use the &lt;STRONG data-end="2505" data-start="2484"&gt;Add to Block list&lt;/STRONG&gt; feature within the Restriction Profile directly, adding the executable names (for example, &lt;CODE data-end="2609" data-start="2597"&gt;chrome.exe&lt;/CODE&gt;, &lt;CODE data-end="2628" data-start="2611"&gt;ChromeSetup.exe&lt;/CODE&gt;) rather than using a behavioral BIOC. BIOCs are asynchronous and may allow initial execution before terminating the process.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you feel this has answered your query, please let us know by clicking like and on&amp;nbsp;&lt;STRONG&gt;"mark this as a Solution".&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks &amp;amp; Regards,&lt;BR /&gt;S. Subashkar Sekar&lt;/P&gt;</description>
      <pubDate>Thu, 26 Feb 2026 13:21:23 GMT</pubDate>
      <guid>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/custom-bioc-rule-won-t-apply-to-prevention-profile/m-p/1249055#M9170</guid>
      <dc:creator>susekar</dc:creator>
      <dc:date>2026-02-26T13:21:23Z</dc:date>
    </item>
  </channel>
</rss>

