Beispiel #1
0
        public static bool FilterThreat(CyThreatMetaData threat, string[] classificationFilter, string[] subClassificationFilter, string[] nameFilter = null,
                                        string[] literalPathFilter = null,
                                        string[] globPathFilter    = null,
                                        string[] regexPathFilter   = null)
        {
            bool classificationFilterHasWildcard = false;

            if (classificationFilter != null)
            {
                classificationFilterHasWildcard = classificationFilter.Contains("*");
            }
            bool sub_classificationFilterHasWildcard = false;

            if (subClassificationFilter != null)
            {
                sub_classificationFilterHasWildcard = subClassificationFilter.Contains("*");
            }

            bool includeInResults = true;

            if ((null != classificationFilter) && (!classificationFilterHasWildcard))
            {
                includeInResults &= classificationFilter.Contains(threat.classification, StringComparer.InvariantCultureIgnoreCase);
            }
            if ((includeInResults) && ((null != subClassificationFilter) && (!sub_classificationFilterHasWildcard)))
            {
                includeInResults &= subClassificationFilter.Contains(threat.sub_classification, StringComparer.InvariantCultureIgnoreCase);
            }
            if ((includeInResults) && (null != nameFilter))
            {
                includeInResults &= nameFilter.Contains(threat.name, StringComparer.InvariantCultureIgnoreCase);
            }
            return(includeInResults);
        }
Beispiel #2
0
 private async Task <object> Retrieve(CyThreatMetaData metadata)
 {
     return(await Connection.RequestThreatDevicesAsync(metadata));
 }