| 650 | dummy_module_2 = scan._make_dummy_module("module_2") |
| 651 | |
| 652 | class DummyModule(BaseModule): |
| 653 | watched_events = ["DNS_NAME"] |
| 654 | _name = "dummy_module" |
| 655 | |
| 656 | async def handle_event(self, event): |
| 657 | new_event = None |
| 658 | if event.data == "evilcorp.com": |
| 659 | new_event = scan.make_event( |
| 660 | "one.evilcorp.com", |
| 661 | "DNS_NAME", |
| 662 | event, |
| 663 | context="{module} invoked forbidden magick to discover {event.type} {event.data}", |
| 664 | module=dummy_module_1, |
| 665 | ) |
| 666 | elif event.data == "one.evilcorp.com": |
| 667 | new_event = scan.make_event( |
| 668 | "two.evilcorp.com", |
| 669 | "DNS_NAME", |
| 670 | event, |
| 671 | context="{module} pledged its allegiance to cthulu and was awarded {event.type} {event.data}", |
| 672 | module=dummy_module_1, |
| 673 | ) |
| 674 | elif event.data == "two.evilcorp.com": |
| 675 | new_event = scan.make_event( |
| 676 | "three.evilcorp.com", |
| 677 | "DNS_NAME", |
| 678 | event, |
| 679 | context="{module} asked nicely and was given {event.type} {event.data}", |
| 680 | module=dummy_module_2, |
| 681 | ) |
| 682 | elif event.data == "three.evilcorp.com": |
| 683 | new_event = scan.make_event( |
| 684 | "four.evilcorp.com", |
| 685 | "DNS_NAME", |
| 686 | event, |
| 687 | context="{module} used brute force to obtain {event.type} {event.data}", |
| 688 | module=dummy_module_2, |
| 689 | ) |
| 690 | if new_event is not None: |
| 691 | await self.emit_event(new_event) |
| 692 | |
| 693 | dummy_module = DummyModule(scan) |
| 694 |
no outgoing calls
searching dependent graphs…