mirror of
https://github.com/zeek/zeek.git
synced 2025-10-05 16:18:19 +00:00

- All 5 intelligence tests pass. - Some initial memory optimizations done. - More work needs done to reduce duplicate data in memory. - Input framework integration. - Define files to read in the "Bro intelligence format" in Intel::read_files. - Cluster transparency. - DNS Zones are a fully supported data type. - Queries for Intel::DOMAIN values will automatically check in DNS_ZONE intelligence.
38 lines
1.3 KiB
Text
38 lines
1.3 KiB
Text
#
|
|
# @TEST-EXEC: bro %INPUT >out
|
|
# @TEST-EXEC: btest-diff out
|
|
|
|
event bro_init()
|
|
{
|
|
Intel::insert([$ip=1.2.3.4, $meta=[$source="zeus-tracker", $class=Intel::MALICIOUS, $tags=set("example-tag1", "example-tag2")]]);
|
|
Intel::insert([$str="http://www.google.com/", $subtype=Intel::URL, $meta=[$source="source2", $class=Intel::MALICIOUS, $tags=set("infrastructure", "google")]]);
|
|
}
|
|
|
|
event bro_done()
|
|
{
|
|
local orig_h = 1.2.3.4;
|
|
|
|
if ( Intel::matcher([$ip=orig_h, $and_tags=set("example-tag1", "example-tag2")]) )
|
|
print "VALID";
|
|
|
|
if ( Intel::matcher([$ip=orig_h, $and_tags=set("don't match")]) )
|
|
print "INVALID";
|
|
|
|
if ( Intel::matcher([$ip=orig_h, $pred=function(meta: Intel::Item): bool { return T; } ]) )
|
|
print "VALID";
|
|
|
|
if ( Intel::matcher([$ip=4.3.2.1, $pred=function(meta: Intel::Item): bool { return T; } ]) )
|
|
print "INVALID";
|
|
|
|
if ( Intel::matcher([$ip=orig_h, $pred=function(meta: Intel::Item): bool { return F; } ]) )
|
|
print "INVALID";
|
|
|
|
if ( Intel::matcher([$str="http://www.google.com/", $subtype=Intel::URL, $and_tags=set("google")]) )
|
|
print "VALID";
|
|
|
|
if ( Intel::matcher([$str="http://www.google.com/", $subtype=Intel::URL, $and_tags=set("woah")]) )
|
|
print "INVALID";
|
|
|
|
if ( Intel::matcher([$str="http://www.example.com", $subtype=Intel::URL]) )
|
|
print "INVALID";
|
|
}
|