Agent KB_modules_p4 - grisuno/LazyOwn GitHub Wiki
Subsystem: modules (page 4 of 14)
Previous: KB_modules_p3.md
modules/dns_beacon.py
- Doc: DNS Beacon — covert C2 channel via DNS tunneling.
- Layer: utility
- Language: py
- Symbols:
DNSBeacon(class, line 23)class DNSBeaconDNSC2Server(class, line 199)class DNSC2Server__init__(method, line 38)def __init__(self, domain, dns_server, sleep_seconds, jitter_percent, dns_type, encode_method)_ensure_dnspython(method, line 57)def _ensure_dnspython(self)_encode(method, line 63)def _encode(self, data)_decode(method, line 70)def _decode(self, data)_jittered_sleep(method, line 78)def _jittered_sleep(self)_dns_query(method, line 84)def _dns_query(self, name, qtype)_build_query(method, line 96)def _build_query(self, msg_type, payload)check_in(method, line 105)def check_in(self)send_result(method, line 135)def send_result(self, command, output, exit_code)run(method, line 171)def run(self)__init__(method, line 211)def __init__(self, domain, log_source, interface)register_beacon(method, line 225)def register_beacon(self, beacon_id, hostname)list_beacons(method, line 235)def list_beacons(self)send_task(method, line 239)def send_task(self, beacon_id, command)process_query_log(method, line 248)def process_query_log(self, line)_handle_result(method, line 294)def _handle_result(self, labels, query)get_results(method, line 327)def get_results(self, beacon_id)
- Depends on:
core/safe_exec.py - Imported by:
cli/commands/dns_exfil.py
modules/domain_dominance.py
- Doc: Domain Dominance Engine — automated Active Directory takeover.
- Layer: business_logic
- Language: py
- Symbols:
DomainInfo(class, line 49)class DomainInfoCredentialStash(class, line 65)class CredentialStashDominanceResult(class, line 75)class DominanceResultDomainDominance(class, line 89)class DomainDominance__init__(method, line 103)def __init__(self)get_instance(method, line 110)def get_instance(cls)dominate(method, line 121)def dominate(self, domain, dc_ip, username, password, ntlm_hash)enumerate_domain(method, line 194)def enumerate_domain(self, domain, dc_ip)extract_credentials(method, line 227)def extract_credentials(self, domain_info, known_creds)escalate(method, line 260)def escalate(self, domain_info, stash)persist(method, line 314)def persist(self, domain_info)_discover_dc(method, line 340)def _discover_dc(self, domain, dns_servers)_find_dcs(method, line 366)def _find_dcs(self, domain, dc_ip)_find_domain_admins(method, line 392)def _find_domain_admins(self, domain, dc_ip)_enumerate_users(method, line 426)def _enumerate_users(self, dc_ip)_enumerate_computers(method, line 469)def _enumerate_computers(self, dc_ip)_enumerate_groups(method, line 495)def _enumerate_groups(self, dc_ip)_enumerate_spns(method, line 516)def _enumerate_spns(self, dc_ip)_enumerate_trusts(method, line 546)def _enumerate_trusts(self, domain, dc_ip)_asrep_roast(method, line 575)def _asrep_roast(self, domain_info)_kerberoast(method, line 625)def _kerberoast(self, domain_info)_psexec_session(method, line 666)def _psexec_session(self, target, domain, user, password)_wmiexec_session(method, line 697)def _wmiexec_session(self, target, domain, user, password)_pth_session(method, line 728)def _pth_session(self, target, domain, user, ntlm_hash)_attempt_dcsync(method, line 768)def _attempt_dcsync(self, dc_ip)_load_config(method, line 827)def _load_config(self)_domain_to_dn(method, line 838)def _domain_to_dn(self, domain)_seal_loot_secret(method, line 850)def _seal_loot_secret(secret)_unseal_loot_secret(method, line 871)def _unseal_loot_secret(stored)_save_credential(method, line 890)def _save_credential(self, username, secret, secret_type, source)_save_session(method, line 924)def _save_session(self, session_id, target, method, user)_save_dominance_report(method, line 944)def _save_dominance_report(self)
- Depends on:
core/hardening.py - Imported by:
cli/commands/lateral_migrated.py,tests/test_security_alerts_fix.py
modules/dotnet_payload.py
- Doc: .NET/C# payload generation — execute-assembly, inline-assembly, Roslyn compilation.
- Layer: utility
- Language: py
- Symbols:
DotNetPayloadConfig(class, line 293)class DotNetPayloadConfigDotNetPayloadFactory(class, line 315)class DotNetPayloadFactory__init__(method, line 327)def __init__(self, output_dir)_detect_compiler(method, line 333)def _detect_compiler()list_templates(method, line 364)def list_templates()_resolve_template(method, line 368)def _resolve_template(self, config)generate_source(method, line 389)def generate_source(self, config)compile(method, line 403)def compile(self, config, source_code)generate(method, line 454)def generate(self, config)generate_powershell_reflective(method, line 481)def generate_powershell_reflective(self, config)generate_inline_assembly(method, line 500)def generate_inline_assembly(self, config)to_format(method, line 520)def to_format(self, data, fmt)
- Imported by:
cli/commands/payload_arsenal.py
modules/dpapi_harvester.py
- Doc: DPAPI credential decryption and harvesting engine.
- Layer: utility
- Language: py
- Symbols:
DPAPICredential(class, line 44)class DPAPICredentialDPAPIMasterKey(class, line 54)class DPAPIMasterKeyDPAPIHarvester(class, line 63)class DPAPIHarvester__init__(method, line 79)def __init__(self, sessions_dir, masterkey_path)harvest_all(method, line 90)def harvest_all(self)_harvest_master_keys(method, line 105)def _harvest_master_keys(self)_harvest_credential_manager(method, line 120)def _harvest_credential_manager(self)_harvest_chrome(method, line 143)def _harvest_chrome(self)_harvest_chrome_offline(method, line 188)def _harvest_chrome_offline(self)_harvest_edge(method, line 198)def _harvest_edge(self)_harvest_wifi(method, line 210)def _harvest_wifi(self)_harvest_rdp(method, line 250)def _harvest_rdp(self)_harvest_windows_vault(method, line 262)def _harvest_windows_vault(self)_crack_login_data(method, line 286)def _crack_login_data(self, login_db_path, key, source)_crack_cookies(method, line 320)def _crack_cookies(self, cookies_path, key, source)_extract_sid_from_file(method, line 355)def _extract_sid_from_file(filepath)export_credentials(method, line 367)def export_credentials(self)masterkey_report(method, line 386)def masterkey_report(self)DATA_BLOB(class, line 160)class DATA_BLOB(Structure)
- Imported by:
cli/commands/dpapi.py
modules/duckdns.sh
- Doc: Solicita el TOKEN y el DOMAIN al usuario
- Layer: utility
- Language: sh
modules/edr_detector.py
- Doc: EDR/AV Detection and Evasion Profiling Engine.
- Layer: utility
- Language: py
- Symbols:
EDRFinding(class, line 174)class EDRFindingEDRProfile(class, line 182)class EDRProfileEDRDetector(class, line 191)class EDRDetectordetect_local(method, line 202)def detect_local()detect_remote_commands(method, line 221)def detect_remote_commands(remote_type)_local_processes(method, line 292)def _local_processes()_local_services(method, line 305)def _local_services()_local_drivers(method, line 322)def _local_drivers()_match_signatures(method, line 335)def _match_signatures(profile)_generate_recommendations(method, line 370)def _generate_recommendations(profile)_severity(method, line 428)def _severity(profile)generate_edr_check_script(method, line 440)def generate_edr_check_script(remote_type)
- Imported by:
cli/commands/edr_detect.py
modules/eegg.sh
- Doc: Definición de colores
- Layer: utility
- Language: sh
- Symbols:
init_board(function, line 26)show_board(function, line 40)move_white_pawns(function, line 61)move_black_pawns(function, line 78)
modules/engage_summary.py
- Doc: Rich per-step engagement summaries from evidence and sessions artefacts.
- Layer: utility
- Language: py
- Symbols:
marker_lines(function, line 35)def marker_lines(text, limit)full_output(function, line 51)def full_output(step, sessions_dir)held_scan_ports(function, line 64)def held_scan_ports(target, sessions_dir)detail_for(function, line 98)def detail_for(tool, text, target, sessions_dir)next_actions(function, line 150)def next_actions(target, sessions_dir, limit)render_text(function, line 175)def render_text(engagement_id, target, shell, steps, sessions_dir)render_markdown(function, line 210)def render_markdown(engagement_id, target, shell, steps, next_list, sessions_dir)write_report(function, line 247)def write_report(engagement_id, target, shell, steps, sessions_dir)
- Depends on:
cli/recommendation_signals.py,modules/enrich.py,modules/evidence.py - Imported by:
skills/unified_orchestrator.py,tests/test_engage_summary.py
modules/engagement_hooks.py
- Doc: modules/engagement_hooks.py — Engagement narration and notification fabric
- Layer: utility
- Language: py
- Symbols:
_safe_str(function, line 78)def _safe_str(value, maxlen)_load_payload(function, line 88)def _load_payload()EngagementEvent(class, line 101)class EngagementEventINotificationSink(class, line 150)class INotificationSink(ABC)StreamEventSink(class, line 167)class StreamEventSink(INotificationSink)CollabNotificationSink(class, line 204)class CollabNotificationSink(INotificationSink)_OutboundHTTPSink(class, line 242)class _OutboundHTTPSink(INotificationSink)TelegramNotificationSink(class, line 278)class TelegramNotificationSink(_OutboundHTTPSink)DiscordNotificationSink(class, line 311)class DiscordNotificationSink(_OutboundHTTPSink)NotificationBroadcaster(class, line 336)class NotificationBroadcasterEngagementNarrator(class, line 382)class EngagementNarrator_load_seen_beacons(function, line 444)def _load_seen_beacons()_save_seen_beacons(function, line 455)def _save_seen_beacons(seen)_sanitize_client_id(function, line 466)def _sanitize_client_id(client_id)get_default_narrator(function, line 482)def get_default_narrator()publish_shell_obtained(function, line 491)def publish_shell_obtained(client_id, primary_ip, hostname, user, platform, narrator)append_approval_record(function, line 564)def append_approval_record(record)list_pending_approvals(function, line 575)def list_pending_approvals()resolve_approval(function, line 601)def resolve_approval(approval_id, decision, operator)is_valid_target(function, line 626)def is_valid_target(value)now(method, line 124)def now(cls, kind, target, message, payload, severity)render_line(method, line 143)def render_line(self)name(method, line 155)def name(self)deliver(method, line 159)def deliver(self, event)name(method, line 178)def name(self)deliver(method, line 181)def deliver(self, event)name(method, line 213)def name(self)deliver(method, line 216)def deliver(self, event)name(method, line 252)def name(self)_build_request(method, line 255)def _build_request(self, event)deliver(method, line 258)def deliver(self, event)name(method, line 288)def name(self)_build_request(method, line 291)def _build_request(self, event)name(method, line 320)def name(self)_build_request(method, line 323)def _build_request(self, event)__init__(method, line 349)def __init__(self, sinks)default(method, line 354)def default(cls)add(method, line 365)def add(self, sink)deliver(method, line 370)def deliver(self, event)__init__(method, line 393)def __init__(self, broadcaster)narrate(method, line 400)def narrate(self, kind, target, message, payload, severity)_persist(method, line 417)def _persist(self, event)
- Depends on:
core/logging.py,modules/collab_bp.py - Imported by:
modules/event_bus.py,modules/pipeline_engine.py
modules/enrich.py
- Doc: Async target enrichment with scan dedup (LAZY enrich parity).
- Layer: utility
- Language: py
- Symbols:
EnrichResult(class, line 30)class EnrichResultscan_files_for(function, line 40)def scan_files_for(sessions_dir, target)should_rescan(function, line 57)def should_rescan(sessions_dir, target, fresh_sec)resolve_dns(function, line 73)def resolve_dns(target, timeout)fetch_http(function, line 86)def fetch_http(target, timeout)EnrichEngine(class, line 100)class EnrichEngineshared_engine(function, line 137)def shared_engine()__init__(method, line 103)def __init__(self, max_workers)submit(method, line 108)def submit(self, target)_run(method, line 121)def _run(self, target)shutdown(method, line 128)def shutdown(self, wait)
- Imported by:
cli/commands/pwn.py,cli/commands/session_ops.py,modules/engage_summary.py,skills/autonomous_daemon.py,tests/test_autonomous_ops.py
modules/entra_id_attacks.py
- Doc: Azure AD / Entra ID attack module — Graph API abuse, OAuth consent grants, device code phishing.
- Layer: utility
- Language: py
- Symbols:
EntraIDConfig(class, line 57)class EntraIDConfigEntraIDAttackEngine(class, line 81)class EntraIDAttackEngine__init__(method, line 92)def __init__(self, config)device_code_phish(method, line 96)def device_code_phish(self, scope)poll_device_code(method, line 129)def poll_device_code(self, device_code, interval, timeout)oauth_consent_grant(method, line 166)def oauth_consent_grant(self, redirect_uri)service_principal_credential_theft(method, line 203)def service_principal_credential_theft(self)managed_identity_abuse(method, line 235)def managed_identity_abuse(self, resource)entra_connect_sync_abuse(method, line 266)def entra_connect_sync_abuse(self)conditional_access_bypass(method, line 307)def conditional_access_bypass(self)enumerate_tenant(method, line 345)def enumerate_tenant(self)summary(method, line 368)def summary(self)
- Imported by:
cli/commands/cloud_attacks.py
modules/estorides_fusion.py
- Doc: Estorides intel fusion: merge OSINT graph entities into campaign graphs.
- Layer: utility
- Language: py
- Symbols:
estorides_checkout(function, line 48)def estorides_checkout()find_export(function, line 68)def find_export(sessions_dir)run_export(function, line 84)def run_export(sessions_dir, cli_path, timeout_sec)_norm(function, line 123)def _norm(value)load_export(function, line 128)def load_export(path)_from_raw(function, line 142)def _from_raw(document)community_for(function, line 180)def community_for(kind, value)merge_estorides(function, line 187)def merge_estorides(nodes, edges, est, cap)find_lan_bundle(function, line 268)def find_lan_bundle(sessions_dir)load_lan_bundle(function, line 288)def load_lan_bundle(path)split_lan_targets(function, line 323)def split_lan_targets(est)
- Imported by:
cli/commands/surface.py,modules/attack_surface3d.py,modules/intel_fusion.py,tests/test_estorides_fusion.py
modules/estorides_importer.py
- Doc: estorides_importer
- Layer: utility
- Language: py
- Symbols:
EstoridesEntity(class, line 84)class EstoridesEntityImportResult(class, line 96)class ImportResultSeedResult(class, line 128)class SeedResultextract_seeds_from_world_model(function, line 143)def extract_seeds_from_world_model(world_model_path)extract_seeds_from_hosts_file(function, line 175)def extract_seeds_from_hosts_file(path)extract_seeds_from_db(function, line 203)def extract_seeds_from_db(db_path)extract_seeds_from_scope(function, line 242)def extract_seeds_from_scope(scope_entries)run_estorides_discover(function, line 272)def run_estorides_discover(seed_type, seed_value, max_depth, max_steps, out_json, timeout)run_estorides_run(function, line 332)def run_estorides_run(query, out_json, timeout)EstoridesCaseReader(class, line 385)class EstoridesCaseReaderEstoridesStixParser(class, line 495)class EstoridesStixParserfind_lan_bundle_files(function, line 586)def find_lan_bundle_files(lan_dir, sessions_dir)LanBundleReader(class, line 622)class LanBundleReaderensure_directories(function, line 694)def ensure_directories()EstoridesToLazyOwnBridge(class, line 700)class EstoridesToLazyOwnBridgeFeedbackLoop(class, line 881)class FeedbackLoopexport_combined_graph(function, line 1027)def export_combined_graph(output_path)success(method, line 110)def success(self)to_dict(method, line 113)def to_dict(self)new_assets(method, line 139)def new_assets(self)__init__(method, line 388)def __init__(self, db_path)available(method, line 393)def available(self)_ensure_conn(method, line 396)def _ensure_conn(self)list_cases(method, line 402)def list_cases(self, limit)get_entities(method, line 414)def get_entities(self, case_id, entity_types, limit)get_host_entities(method, line 469)def get_host_entities(self, case_id)get_all_entities(method, line 473)def get_all_entities(self, case_id)stats(method, line 476)def stats(self)close(method, line 489)def close(self)__init__(method, line 511)def __init__(self, stix_path)available(method, line 515)def available(self)parse(method, line 518)def parse(self)parse_by_type(method, line 552)def parse_by_type(self, entity_types)_extract_value(method, line 563)def _extract_value(obj, stix_type)__init__(method, line 632)def __init__(self, lan_dir)available(method, line 636)def available(self)read_devices(method, line 639)def read_devices(self)parse(method, line 652)def parse(self)attack_targets(method, line 683)def attack_targets(self)__init__(method, line 703)def __init__(self, db_path, config_path)import_entities(method, line 711)def import_entities(self, entities, add_to_scope, add_to_db)_import_to_db(method, line 755)def _import_to_db(self, imports, result)_import_to_scope(method, line 801)def _import_to_scope(self, imports, result)get_combined_surface(method, line 834)def get_combined_surface(self)__init__(method, line 892)def __init__(self, max_iterations, max_depth, max_steps, timeout)run(method, line 908)def run(self, seed_methods)_gather_seeds(method, line 1001)def _gather_seeds(self, methods, seen)
- Depends on:
core/logging.py,modules/db.py - Imported by:
cli/commands/estorides.py,modules/intelligence_engine.py
modules/evasion_engine.py
- Doc: Advanced Evasion Engine for LazyOwn C2 operations.
- Layer: utility
- Language: py
- Symbols:
TrafficMorphConfig(class, line 25)class TrafficMorphConfigMalleableProfile(class, line 37)class MalleableProfileEvasionEngine(class, line 52)class EvasionEngine__init__(method, line 130)def __init__(self, config)set_config(method, line 136)def set_config(self, config)_random_chrome_version(method, line 139)def _random_chrome_version(self)_random_firefox_version(method, line 142)def _random_firefox_version(self)_random_safari_version(method, line 145)def _random_safari_version(self)_generate_ja4_hash(method, line 148)def _generate_ja4_hash(self)_generate_user_agent(method, line 162)def _generate_user_agent(self, os_family)_generate_headers(method, line 180)def _generate_headers(self, user_agent)_pick_uri_pool(method, line 209)def _pick_uri_pool(self)_generate_cert_fingerprint(method, line 217)def _generate_cert_fingerprint(self)_compute_jitter(method, line 220)def _compute_jitter(self)_compute_sleep(method, line 224)def _compute_sleep(self)_get_domain_front(method, line 232)def _get_domain_front(self)generate_profile(method, line 244)def generate_profile(self, os_family)rotate_profile(method, line 264)def rotate_profile(self, os_family)get_active_profile(method, line 269)def get_active_profile(self)get_beacon_config(method, line 272)def get_beacon_config(self)morph_traffic(method, line 287)def morph_traffic(self, config)_persist_profile(method, line 311)def _persist_profile(self, profile)get_history(method, line 328)def get_history(self)profile_to_json(method, line 343)def profile_to_json(self, profile)
- Imported by:
cli/commands/evasive_payload.py,skills/lazyown_mcp.py
modules/evasive_payloads.py
- Doc: Advanced evasive payload generation with multiple obfuscation strategies.
- Layer: utility
- Language: py
- Symbols:
EvasivePayloadGenerator(class, line 18)class EvasivePayloadGenerator__init__(method, line 84)def __init__(self)_random_var(method, line 87)def _random_var(self, length)_random_string(method, line 93)def _random_string(self, length)_xor_encode(method, line 97)def _xor_encode(self, data, key)_rot13(method, line 102)def _rot13(self, data)_gzip_compress(method, line 114)def _gzip_compress(self, data)_apply_encoding_chain(method, line 118)def _apply_encoding_chain(self, data, chain)generate_powershell_obfuscated(method, line 138)def generate_powershell_obfuscated(self, payload, obfuscation_level)generate_javascript_obfuscated(method, line 178)def generate_javascript_obfuscated(self, payload)generate_vba_obfuscated(method, line 197)def generate_vba_obfuscated(self, payload)generate_linux_evasive(method, line 214)def generate_linux_evasive(self, rhost, rport, technique)generate_shellcode_loader_powershell(method, line 239)def generate_shellcode_loader_powershell(self, shellcode_b64, injection_technique)generate_lolbas_execution(method, line 284)def generate_lolbas_execution(self, payload_url, technique)generate_polymorphic_command(method, line 334)def generate_polymorphic_command(self, base_cmd, iterations)list_techniques(method, line 374)def list_techniques(self)
- Imported by:
cli/commands/evasive_payload.py
modules/event_bus.py
- Doc: UnifiedEventBus — central nervous system connecting all LazyOwn components.
- Layer: infrastructure
- Language: py
- Symbols:
EventCategory(class, line 47)class EventCategory(str, Enum)EventSeverity(class, line 73)class EventSeverity(str, Enum)LazyEvent(class, line 82)class LazyEventSink(class, line 133)class Sink(ABC)JsonlSink(class, line 143)class JsonlSink(Sink)CollabBusSink(class, line 163)class CollabBusSink(Sink)EngagementSink(class, line 202)class EngagementSink(Sink)UnifiedEventBus(class, line 230)class UnifiedEventBusget_event_bus(function, line 570)def get_event_bus()publish_event(function, line 575)def publish_event(category, event_type, source, payload, severity, target, operator)to_dict(method, line 96)def to_dict(self)to_json(method, line 111)def to_json(self)from_dict(method, line 115)def from_dict(cls, d)write(method, line 137)def write(self, event)close(method, line 140)def close(self)__init__(method, line 146)def __init__(self, filepath)write(method, line 151)def write(self, event)close(method, line 159)def close(self)__init__(method, line 166)def __init__(self)_bus(method, line 170)def _bus(self)write(method, line 181)def write(self, event)close(method, line 198)def close(self)write(method, line 205)def write(self, event)close(method, line 226)def close(self)__init__(method, line 255)def __init__(self)_init_sinks(method, line 273)def _init_sinks(self)instance(method, line 287)def instance(cls)subscriber_count(method, line 295)def subscriber_count(self)subscribe(method, line 300)def subscribe(self, subscriber_id, callback)subscribe_topic(method, line 305)def subscribe_topic(self, subscriber_id, topic, callback)subscribe_async(method, line 315)def subscribe_async(self, subscriber_id)unsubscribe(method, line 327)def unsubscribe(self, subscriber_id)publish(method, line 336)def publish(self, event)drain(method, line 354)def drain(self)shutdown(method, line 372)def shutdown(self)_dispatch_loop(method, line 416)def _dispatch_loop(self)_dispatch_event(method, line 441)def _dispatch_event(self, event)_notify_shutdown(method, line 479)def _notify_shutdown(self)_match_topic(method, line 517)def _match_topic(self, topic, event)history(method, line 556)def history(self, n, category)history_since(method, line 564)def history_since(self, since_ts)
- Depends on:
cli/commands/enum.py,core/logging.py,modules/collab_bp.py,modules/engagement_hooks.py - Imported by:
lazyc2.py,lazyown.py,modules/command_executor.py,modules/event_consumers.py,modules/loop_ai_bridge.py,modules/state_manager.py,modules/unified_bridge.py,skills/lazyown_mcp.py,tests/test_loop_ai_bridge.py
modules/event_consumers.py
- Doc: Event Consumers — reactive layer that makes EventBus events drive real actions.
- Layer: infrastructure
- Language: py
- Symbols:
_load_payload(function, line 43)def _load_payload()_inject_objective(function, line 54)def _inject_objective(text, priority, source)_update_world_model_host(function, line 72)def _update_world_model_host(address, state, services)_update_soul(function, line 110)def _update_soul(phase, credentials, access)PhaseTracker(class, line 146)class PhaseTrackerAutoRecommender(class, line 201)class AutoRecommenderCredentialReactor(class, line 272)class CredentialReactorSoulSync(class, line 320)class SoulSyncDashboardPusher(class, line 358)class DashboardPusherwire_all_consumers(function, line 380)def wire_all_consumers(bus)unwire_all_consumers(function, line 409)def unwire_all_consumers(bus)__init__(method, line 156)def __init__(self)__call__(method, line 159)def __call__(self, event)__init__(method, line 204)def __init__(self)__call__(method, line 207)def __call__(self, event)__call__(method, line 282)def __call__(self, event)__call__(method, line 323)def __call__(self, event)__call__(method, line 361)def __call__(self, event)
- Depends on:
core/logging.py,modules/event_bus.py,modules/state_manager.py - Imported by:
lazyc2.py,lazyown.py,skills/autonomous_daemon.py
modules/event_engine.py
- Doc: LazyOwn Event Engine
- Layer: infrastructure
- Language: py
- Symbols:
load_rules(function, line 99)def load_rules()save_rules(function, line 110)def save_rules(rules)add_rule(function, line 114)def add_rule(rule)_read_watermark(function, line 130)def _read_watermark()_write_watermark(function, line 137)def _write_watermark(offset)_row_matches(function, line 144)def _row_matches(row, trigger)_append_event(function, line 173)def _append_event(event)process_new_rows(function, line 181)def process_new_rows()read_events(function, line 250)def read_events(limit, status)ack_event(function, line 270)def ack_event(event_id)
- Imported by:
lazyc2.py,skills/heartbeat.py,skills/lazyown_daemon.py,skills/lazyown_mcp.py,skills/sessions_watcher.py
modules/evidence.py
- Doc: Content-addressed evidence vault independent of disposable traffic.
- Layer: utility
- Language: py
- Symbols:
EvidenceConfig(class, line 20)class EvidenceConfighash_bytes(function, line 37)def hash_bytes(data)_validate_hash(function, line 42)def _validate_hash(value)EvidenceStore(class, line 54)class EvidenceStore__init__(method, line 57)def __init__(self, base_dir)blob_path(method, line 65)def blob_path(self, content_hash)put(method, line 70)def put(self, data)get(method, line 90)def get(self, content_hash)exists(method, line 98)def exists(self, content_hash)garbage_collect(method, line 105)def garbage_collect(self, referenced)
- Imported by:
modules/engage_summary.py,skills/autonomous_daemon.py,skills/lazyown_mcp.py,tests/test_engage_summary.py,tests/test_lazy_parity.py,tests/test_safety_gates.py
modules/evilhttprev.sh
- Layer: utility
- Language: sh
Next: KB_modules_p5.md