<?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: DQL behind the ThirdParty Vulnerability app in DQL</title>
    <link>https://community.dynatrace.com/t5/DQL/DQL-behind-the-ThirdParty-Vulnerability-app/m-p/263170#M1461</link>
    <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.dynatrace.com/t5/user/viewprofilepage/user-id/63301"&gt;@ANLTH&lt;/a&gt;,&lt;BR /&gt;&lt;BR /&gt;Here is an answer I got from the Application Security team:&lt;/P&gt;
&lt;DIV class="p-rich_text_section"&gt;"Unfortunately we are not writing ownership info to vulnerability state reports, the underlying data for Vulnerability dashboards in 3rd gen. The workaround is to 1) query affected entities 2) add a lookup query to fetch ownership info for the affected PGs. Here’s an example:"&lt;/DIV&gt;
&lt;DIV class="p-rich_text_block--no-overflow"&gt;&lt;BR /&gt;&lt;LI-CODE lang="javascript"&gt;fetch events
| filter dt.system.bucket=="default_security_events"
| filter event.provider=="Dynatrace"
| filter event.type=="VULNERABILITY_STATE_REPORT_EVENT"
| filter event.level=="ENTITY"
| sort timestamp, direction:"descending"
| summarize {
	vulnerability.resolution.status = takeFirst(vulnerability.resolution.status),
	affected_entity.management_zones.names = takeFirst(affected_entity.management_zones.names),
	affected_entity.vulnerable_component.name = takeFirst(affected_entity.vulnerable_component.name),
	affected_entity.name = takeFirst(affected_entity.name),
	vulnerability.parent.mute.status = takeFirst(vulnerability.parent.mute.status),
	vulnerability.parent.resolution.status = takeFirst(vulnerability.parent.resolution.status),
	vulnerability.stack = takeFirst(vulnerability.stack),
	vulnerability.parent.risk.level = takeFirst(vulnerability.parent.risk.level)
},
 by: {
	vulnerability.id,
	affected_entity.id
}
| filter vulnerability.parent.resolution.status == "OPEN" AND vulnerability.parent.mute.status == "NOT_MUTED"
| filter in(vulnerability.stack,{"CODE","CODE_LIBRARY","SOFTWARE","CONTAINER_ORCHESTRATION"})
| filter in(vulnerability.parent.risk.level,{"CRITICAL","HIGH","MEDIUM","LOW","NONE"})

| filter vulnerability.resolution.status=="OPEN"

//add ownership information
| lookup [
fetch dt.entity.process_group
| fieldsAdd tags
| parse toString(tags), "LD ('owner:'|'owner\\\\:') (SPACE)? LD:Team ('\"')"
| fieldsRemove tags
], sourceField:affected_entity.id, lookupField:id, fields:{Team}
// end of adding ownership info​&lt;/LI-CODE&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 21 Nov 2024 10:43:16 GMT</pubDate>
    <dc:creator>MaciejNeumann</dc:creator>
    <dc:date>2024-11-21T10:43:16Z</dc:date>
    <item>
      <title>DQL behind the ThirdParty Vulnerability app</title>
      <link>https://community.dynatrace.com/t5/DQL/DQL-behind-the-ThirdParty-Vulnerability-app/m-p/248317#M982</link>
      <description>&lt;P&gt;I am woriking on understanding how we shall use ownership in Dynatrace in relation to Applicaiton Security.&lt;/P&gt;
&lt;P&gt;I have added the Owner tag to some processes that has vulnerabilites, and I am able to filter by the tag and get the relevant vulnerabilites - the app is not able to derive the DQL behind the request and open it with a Notebook or Dashboard.&lt;/P&gt;
&lt;P&gt;How does the DQL behind the request look like?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="ANLTH_0-1718355215364.png" style="width: 400px;"&gt;&lt;img src="https://community.dynatrace.com/t5/image/serverpage/image-id/20545i4EE4DB34BD578AD8/image-size/medium?v=v2&amp;amp;px=400" role="button" title="ANLTH_0-1718355215364.png" alt="ANLTH_0-1718355215364.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 17 Jun 2024 06:31:33 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/DQL/DQL-behind-the-ThirdParty-Vulnerability-app/m-p/248317#M982</guid>
      <dc:creator>ANLTH</dc:creator>
      <dc:date>2024-06-17T06:31:33Z</dc:date>
    </item>
    <item>
      <title>Re: DQL behind the ThirdParty Vulnerability app</title>
      <link>https://community.dynatrace.com/t5/DQL/DQL-behind-the-ThirdParty-Vulnerability-app/m-p/263170#M1461</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.dynatrace.com/t5/user/viewprofilepage/user-id/63301"&gt;@ANLTH&lt;/a&gt;,&lt;BR /&gt;&lt;BR /&gt;Here is an answer I got from the Application Security team:&lt;/P&gt;
&lt;DIV class="p-rich_text_section"&gt;"Unfortunately we are not writing ownership info to vulnerability state reports, the underlying data for Vulnerability dashboards in 3rd gen. The workaround is to 1) query affected entities 2) add a lookup query to fetch ownership info for the affected PGs. Here’s an example:"&lt;/DIV&gt;
&lt;DIV class="p-rich_text_block--no-overflow"&gt;&lt;BR /&gt;&lt;LI-CODE lang="javascript"&gt;fetch events
| filter dt.system.bucket=="default_security_events"
| filter event.provider=="Dynatrace"
| filter event.type=="VULNERABILITY_STATE_REPORT_EVENT"
| filter event.level=="ENTITY"
| sort timestamp, direction:"descending"
| summarize {
	vulnerability.resolution.status = takeFirst(vulnerability.resolution.status),
	affected_entity.management_zones.names = takeFirst(affected_entity.management_zones.names),
	affected_entity.vulnerable_component.name = takeFirst(affected_entity.vulnerable_component.name),
	affected_entity.name = takeFirst(affected_entity.name),
	vulnerability.parent.mute.status = takeFirst(vulnerability.parent.mute.status),
	vulnerability.parent.resolution.status = takeFirst(vulnerability.parent.resolution.status),
	vulnerability.stack = takeFirst(vulnerability.stack),
	vulnerability.parent.risk.level = takeFirst(vulnerability.parent.risk.level)
},
 by: {
	vulnerability.id,
	affected_entity.id
}
| filter vulnerability.parent.resolution.status == "OPEN" AND vulnerability.parent.mute.status == "NOT_MUTED"
| filter in(vulnerability.stack,{"CODE","CODE_LIBRARY","SOFTWARE","CONTAINER_ORCHESTRATION"})
| filter in(vulnerability.parent.risk.level,{"CRITICAL","HIGH","MEDIUM","LOW","NONE"})

| filter vulnerability.resolution.status=="OPEN"

//add ownership information
| lookup [
fetch dt.entity.process_group
| fieldsAdd tags
| parse toString(tags), "LD ('owner:'|'owner\\\\:') (SPACE)? LD:Team ('\"')"
| fieldsRemove tags
], sourceField:affected_entity.id, lookupField:id, fields:{Team}
// end of adding ownership info​&lt;/LI-CODE&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 21 Nov 2024 10:43:16 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/DQL/DQL-behind-the-ThirdParty-Vulnerability-app/m-p/263170#M1461</guid>
      <dc:creator>MaciejNeumann</dc:creator>
      <dc:date>2024-11-21T10:43:16Z</dc:date>
    </item>
  </channel>
</rss>

