diff --git a/planning_notes/overall_story_plan/mission_initializations/m03_ghost_in_the_machine/stages/stage_7/m03_npc_victoria.ink b/planning_notes/overall_story_plan/mission_initializations/m03_ghost_in_the_machine/stages/stage_7/m03_npc_victoria.ink new file mode 100644 index 0000000..ef639a9 --- /dev/null +++ b/planning_notes/overall_story_plan/mission_initializations/m03_ghost_in_the_machine/stages/stage_7/m03_npc_victoria.ink @@ -0,0 +1,693 @@ +// =========================================== +// Mission 3: Ghost in the Machine +// NPC: Victoria Sterling (Cipher) +// Location: Conference Room (Day) / Executive Office (Night) +// =========================================== + +// Influence and state tracking +VAR victoria_influence = 0 +VAR victoria_trusts_player = false +VAR victoria_suspicious = false +VAR rfid_clone_started = false +VAR rfid_clone_complete = false +VAR topic_zero_day_philosophy = false +VAR topic_free_market = false +VAR topic_ethics = false +VAR recruitment_discussed = false + +// External variables (from opening briefing) +EXTERNAL player_approach +EXTERNAL handler_trust + +// =========================================== +// INITIAL MEETING - Conference Room (Daytime) +// =========================================== + +=== start === +#speaker:victoria_sterling + +{not recruitment_discussed: + #display:victoria-professional + [Victoria Sterling stands as you enter. Professional attire, confident bearing.] + + Victoria: You must be {player_name}. Welcome to WhiteHat Security. + + Victoria: I'm Victoria Sterling, CEO. Have a seat. + + [She gestures to the conference table.] + + ~ recruitment_discussed = true + -> first_impression +} + +{recruitment_discussed and not rfid_clone_complete: + #display:victoria-neutral + Victoria: Back for more conversation? + -> hub +} + +{rfid_clone_complete: + #display:victoria-neutral + Victoria: We covered the main points. I'll be in touch about the training program. + #exit_conversation + -> DONE +} + +// =========================================== +// FIRST IMPRESSION +// =========================================== + +=== first_impression === +#speaker:victoria_sterling + +Victoria: I reviewed your background. Freelance pen testing, some CTF competition work. + +Victoria: Solid technical skills. But that's not why you're here. + +* [Why am I here?] + You: Why am I here, then? + Victoria: To see if you understand the philosophy behind real security research. + ~ victoria_influence += 5 + -> philosophy_intro + +* [I'm interested in advanced research] + ~ victoria_influence += 10 + You: I want to work on cutting-edge research. Real impact. + Victoria: "Real impact." Good. Let's talk about what that means. + -> philosophy_intro + +* [I heard Zero Day does interesting work] + ~ victoria_influence += 5 + ~ victoria_suspicious += 5 + You: I've heard Zero Day's training programs are... unconventional. + Victoria: [Slight pause] We push boundaries, yes. Let me explain our approach. + -> philosophy_intro + +// =========================================== +// VICTORIA'S PHILOSOPHY INTRODUCTION +// =========================================== + +=== philosophy_intro === +#speaker:victoria_sterling + +Victoria: The traditional security model is broken. Researchers find vulnerabilities, report them to vendors, wait months for patches. + +Victoria: Meanwhile, those same vulnerabilities get discovered by others. Sold on dark markets. Exploited. + +* [That's the responsible disclosure debate] + ~ victoria_influence += 10 + You: The responsible disclosure versus full disclosure debate. Classic dilemma. + Victoria: Exactly. But there's a third option most won't discuss. + -> market_efficiency_pitch + +* [Researchers deserve to be paid] + ~ victoria_influence += 15 + You: Researchers deserve compensation for their work. Fair pay for valuable discoveries. + Victoria: [Nods appreciatively] Finally, someone who gets it. + -> market_efficiency_pitch + +* [Sounds like you sell vulnerabilities] + ~ victoria_influence -= 5 + ~ victoria_suspicious += 10 + You: This sounds like you're advocating selling vulnerabilities. + Victoria: "Selling" is such a crude term. Think of it as market-driven research incentives. + -> market_efficiency_pitch + +// =========================================== +// MARKET EFFICIENCY PITCH +// =========================================== + +=== market_efficiency_pitch === +#speaker:victoria_sterling + +Victoria: We provide liquidity to the vulnerability market. + +Victoria: Every system tends toward disorder. That's thermodynamics - entropy is inevitable. + +Victoria: The question isn't whether systems will fail. It's who benefits from that knowledge. + +~ topic_free_market = true + +-> hub + +// =========================================== +// CONVERSATION HUB +// =========================================== + +=== hub === ++ {not topic_zero_day_philosophy} [Ask about Zero Day's mission] + -> zero_day_philosophy + ++ {not topic_ethics} [Question the ethics] + -> ethics_discussion + ++ {victoria_influence >= 20 and not rfid_clone_started} [Move closer to examine the whiteboard] + -> clone_rfid_opportunity + ++ {rfid_clone_started and not rfid_clone_complete} [Continue the conversation (RFID cloning in progress)] + -> clone_rfid_distraction + ++ [End the conversation] + #exit_conversation + #speaker:victoria_sterling + {victoria_influence >= 30: + Victoria: I think you'd be a good fit for our training program. I'll be in touch. + ~ victoria_trusts_player = true + } + {victoria_influence < 30 and victoria_influence >= 10: + Victoria: We'll review your application. Thank you for your time. + } + {victoria_influence < 10: + Victoria: I'm not sure you're the right fit for Zero Day's culture. We'll be in touch. + } + -> DONE + +// =========================================== +// ZERO DAY PHILOSOPHY DISCUSSION +// =========================================== + +=== zero_day_philosophy === +#speaker:victoria_sterling + +~ topic_zero_day_philosophy = true + +Victoria: Zero Day's mission is simple: recognize that vulnerability knowledge has inherent value. + +Victoria: We discover, we price according to demand, we connect buyers with opportunities. + +* [What do buyers do with the exploits?] + You: And what do the buyers do with these exploits? + Victoria: That's not our concern. We're security professionals, not moralists. + Victoria: A gun manufacturer isn't responsible for every shooting. + ~ victoria_influence += 5 + -> moral_rationalization + +* [That sounds like willful ignorance] + ~ victoria_influence -= 10 + ~ victoria_suspicious += 10 + You: "Not our concern"? That's willful ignorance of the consequences. + Victoria: [Slight defensiveness] It's recognizing the reality of how markets work. + -> moral_rationalization + +* [The free market argument] + ~ victoria_influence += 15 + You: So you're applying free market principles to vulnerability research. + Victoria: [Smiles] Precisely. Supply and demand. Transparent economics. + -> moral_rationalization + +=== moral_rationalization === +#speaker:victoria_sterling + +Victoria: We live in a world where vulnerabilities exist whether we like it or not. + +Victoria: Our choice isn't between exploit sales happening or not happening. They already happen. + +Victoria: Our choice is whether security researchers get fairly compensated, or whether only criminals profit. + +~ victoria_influence += 5 + +-> hub + +// =========================================== +// ETHICS DISCUSSION +// =========================================== + +=== ethics_discussion === +#speaker:victoria_sterling + +~ topic_ethics = true + +Victoria: Let me guess - you want to ask about the "morality" of selling exploits. + +Victoria: Go ahead. I've heard every argument. + +* [What about innocent people getting hurt?] + ~ victoria_influence -= 5 + You: What about when exploits you sold hurt innocent people? Hospitals, critical infrastructure? + Victoria: [Measured response] That's on the buyer, not the researcher who discovered the vulnerability. + -> ethics_response_harm + +* [There's a difference between research and weaponization] + ~ victoria_influence += 5 + You: There's a line between security research and creating weapons. Where do you draw that line? + Victoria: Interesting question. Most people don't even acknowledge there is a line to discuss. + -> ethics_response_nuance + +* [I'm not here to judge] + ~ victoria_influence += 15 + ~ player_approach = "diplomatic" + You: I'm not here to judge your business model. I'm here to understand it. + Victoria: [Genuinely pleased] That's refreshing. Most people lead with moral indignation. + -> ethics_response_pragmatic + +=== ethics_response_harm === +#speaker:victoria_sterling + +Victoria: Do you hold pharmaceutical companies responsible when someone overdoses on painkillers? + +Victoria: Do you blame car manufacturers for drunk driving fatalities? + +Victoria: Tools have utility. People choose how to use them. + +~ victoria_influence -= 5 + +-> hub + +=== ethics_response_nuance === +#speaker:victoria_sterling + +Victoria: The line is intent. We don't create exploits TO hurt people. We discover vulnerabilities that already exist. + +Victoria: If someone uses a crowbar to break into a house, you don't blame the crowbar manufacturer. + +~ victoria_influence += 10 + +-> hub + +=== ethics_response_pragmatic === +#speaker:victoria_sterling + +Victoria: Pragmatism. I appreciate that. + +Victoria: The truth is, I sleep fine at night because I believe in information freedom. + +Victoria: Vulnerabilities are facts about reality. Suppressing facts doesn't make anyone safer. + +~ victoria_influence += 10 +~ victoria_trusts_player = true + +-> hub + +// =========================================== +// RFID CLONING SEQUENCE +// =========================================== + +=== clone_rfid_opportunity === +#speaker:victoria_sterling + +[You stand and move toward the whiteboard, getting closer to Victoria.] + +You: This network diagram - is this your training lab architecture? + +Victoria: Yes, that's the 192.168.100.0 subnet. Students practice on isolated VMs. + +[RFID CLONER ACTIVE - Stay within 2 meters for 10 seconds] +[Progress bar appears on screen] + +~ rfid_clone_started = true + +You need to keep Victoria talking while the RFID cloner does its work. + +-> clone_rfid_distraction + +// =========================================== +// RFID CLONING DISTRACTION +// =========================================== + +=== clone_rfid_distraction === +#speaker:victoria_sterling + +Victoria: The training network uses real vulnerable services. Much more effective than theoretical exercises. + +[CLONING IN PROGRESS...] + +* [What services are in the lab?] + You: What kind of services do you run in the lab environment? + Victoria: FTP, HTTP, some legacy services like distcc. Real-world targets. + -> clone_check_1 + +* [How do students access it?] + You: How do students access the training network? + Victoria: VPN from the server room workstations. Keeps it air-gapped from the internet. + -> clone_check_1 + +* [Impressive setup] + You: That's an impressive training environment. More realistic than most. + ~ victoria_influence += 5 + Victoria: We pride ourselves on authenticity. Real exploits, real scenarios. + -> clone_check_1 + +=== clone_check_1 === +#speaker:victoria_sterling + +[CLONING 50% COMPLETE...] + +Victoria: Of course, what students learn in the lab is just the beginning. + +Victoria: Real Zero Day research requires understanding market dynamics, pricing models, buyer relationships. + +* [How do you price vulnerabilities?] + You: How do you determine pricing for a zero-day vulnerability? + Victoria: CVSS score is the baseline. Then sector premiums based on defensive capacity. + -> clone_check_2 + +* [That sounds complex] + You: That sounds more complex than pure technical work. + Victoria: Security research is as much economics as it is code. Most researchers don't grasp that. + ~ victoria_influence += 5 + -> clone_check_2 + +* [Who are your typical buyers?] + ~ victoria_suspicious += 5 + You: Who typically buys from Zero Day? + Victoria: [Slight pause] Clients who need access to specialized research. I can't discuss specifics. + -> clone_check_2 + +=== clone_check_2 === +#speaker:victoria_sterling + +[CLONING 75% COMPLETE...] + +Victoria: You're asking good questions. Technical competence is common. Strategic thinking is rare. + +* [I believe in understanding the full picture] + ~ victoria_influence += 10 + You: Technical skills alone aren't enough. You need to understand the ecosystem. + Victoria: Exactly. That's why most security researchers stay poor while we thrive. + -> clone_complete + +* [Stay focused on the whiteboard] + [You pretend to study the network diagram] + You: This training lab must have taken significant investment. + Victoria: Worth every dollar. Our students become operational faster than any university program. + -> clone_complete + +* [Just a few more seconds...] + [Keep her talking] + You: And the certifications - do you offer any formal credentials? + Victoria: We don't believe in traditional certifications. Results speak louder than paper. + -> clone_complete + +// =========================================== +// RFID CLONE COMPLETE +// =========================================== + +=== clone_complete === +#speaker:victoria_sterling + +[CLONING 100% COMPLETE] +[Device vibrates subtly in your pocket] +[VICTORIA STERLING'S EXECUTIVE KEYCARD CLONED] + +You step back from the whiteboard, creating distance naturally. + +#complete_task:clone_rfid_card +#unlock_aim:network_recon +#unlock_aim:gather_evidence +~ rfid_clone_complete = true + +Victoria: I think that covers the basic philosophy. The training program starts next month if you're interested. + +* [I'm very interested] + ~ victoria_influence += 10 + You: This is exactly the kind of work I've been looking for. + Victoria: Excellent. I'll have my assistant send you the enrollment details. + -> meeting_end + +* [I need to consider it] + You: Let me think it over. This is a significant decision. + Victoria: Of course. Take your time. Reach out when you've decided. + -> meeting_end + +* [Thank you for your time] + You: I appreciate you taking the time to explain Zero Day's approach. + Victoria: My pleasure. It's rare to meet someone who actually wants to understand rather than judge. + ~ victoria_influence += 5 + -> meeting_end + +=== meeting_end === +#speaker:victoria_sterling + +Victoria: Feel free to look around the office if you'd like. Reception area, main hallway. Get a feel for the company culture. + +{victoria_trusts_player: + Victoria: And {player_name}? I think you'd fit in well here. We need more pragmatists. +} + +Victoria: I have another meeting in a few minutes. But we'll be in touch. + +[Victoria's phone buzzes. She glances at it.] + +Victoria: Excuse me, I need to take this. + +#exit_conversation +-> DONE + +// =========================================== +// NIGHTTIME CONFRONTATION (Optional) +// =========================================== +// This knot is called if player chooses to confront Victoria +// at the end of the mission + +=== nighttime_confrontation === +#speaker:victoria_sterling + +[Location: Victoria's Executive Office or Main Hallway] +[Time: Late night] + +#display:victoria-shocked + +Victoria: {player_name}? What are you doing here at this hour? + +[She sees that you've clearly been investigating] + +Victoria: You're not a recruit, are you. + +* [SAFETYNET agent. You're under investigation.] + You: SAFETYNET. You're under investigation for exploit sales to ENTROPY cells. + -> confrontation_safetynet + +* [I know about St. Catherine's Hospital] + You: I know about St. Catherine's. The ProFTPD exploit. Six people died. + -> confrontation_hospital + +* [You can help us take down The Architect] + You: We know about The Architect. You can help us stop Phase 2. + -> confrontation_recruitment + +=== confrontation_safetynet === +#speaker:victoria_sterling + +#display:victoria-defensive + +Victoria: SAFETYNET. Of course. The moral guardians of the status quo. + +Victoria: You have no authority here. This is a legitimate business. + +* [Show her the exploit catalog] + You: [$12,500 for the hospital exploit. With a healthcare premium.] + -> show_evidence + +* [You sold weapons. People died.] + You: You sold the tools that killed six people. That's not research, that's murder for profit. + -> moral_confrontation + +=== confrontation_hospital === +#speaker:victoria_sterling + +#display:victoria-conflicted + +Victoria: St. Catherine's... [pause] That was a buyer's deployment decision. Not our responsibility. + +* [You charged extra because they couldn't defend themselves] + You: You charged a healthcare premium. Extra money because hospitals can't protect themselves. + Victoria: [Defensive] That's market pricing. Reflecting risk and value. + -> moral_confrontation + +* [Six people in critical care. Two in surgery.] + You: Six people died when patient monitoring failed. Real people. Real deaths. + Victoria: [Visibly affected] I... we didn't deploy the ransomware. We just provided— + You: The weapon. You provided the weapon and took payment. + -> moral_confrontation + +=== confrontation_recruitment === +#speaker:victoria_sterling + +#display:victoria-calculating + +Victoria: The Architect? [Pause] You found the directive, didn't you. + +Victoria: Phase 2. Healthcare SCADA. Energy grid ICS. + +* [50,000 patient treatment delays. 1.2 million without power.] + You: 50,000 patients. 1.2 million people without power in winter. That's genocide-scale harm. + Victoria: [Shaken] Those were projections. Theoretical maximums for pricing— + -> moral_confrontation + +* [You can stop it. Become a double agent.] + You: You can stop Phase 2. Feed us intelligence. Become a double agent. + -> recruitment_pitch + +=== moral_confrontation === +#speaker:victoria_sterling + +#display:victoria-conflicted + +Victoria: I'm a security researcher. I discover vulnerabilities. That's not a crime. + +Victoria: The market exists with or without me. I just participate honestly. + +* [Is $12,500 worth six lives?] + You: Was $12,500 worth six lives? Can you honestly tell me you sleep well? + Victoria: [Long pause] I... [she struggles] The market model is sound. Individual cases don't invalidate— + You: Individual cases? Those are people. With families. With futures you erased for profit. + -> victoria_breaking_point + +* [The Architect is using you] + You: The Architect is using you. You're not a researcher, you're an arms dealer for a terrorist network. + Victoria: [Defensive but wavering] We have standards. Vetting processes— + You: You sold to GHOST. To Ransomware Incorporated. You knew exactly who they were. + -> victoria_breaking_point + +=== victoria_breaking_point === +#speaker:victoria_sterling + +#display:victoria-broken + +[Victoria sits down heavily, the confidence gone] + +Victoria: I told myself it was about market efficiency. About fair compensation for researchers. + +Victoria: I built a whole philosophy around it. Rational. Defensible. + +[She looks at her hands] + +Victoria: But when I read the news about St. Catherine's... the patient deaths... I knew. + +Victoria: I knew it was our exploit. And I did nothing. + +* [You can still do something now] + -> recruitment_pitch + +* [You need to face justice] + -> arrest_option + +* [Say nothing, let her process] + -> victoria_decision + +=== recruitment_pitch === +#speaker:victoria_sterling + +Victoria: Become a double agent? Feed SAFETYNET intelligence on The Architect? + +Victoria: If I do that, ENTROPY will kill me. You know that. + +* [We can protect you. Witness protection.] + You: SAFETYNET can protect you. New identity, relocation, the full program. + Victoria: [Considering] And in exchange? + You: Everything you know about The Architect. Zero Day's client list. Phase 2 targets. + -> recruitment_consideration + +* [It's the only way to stop more deaths] + You: Phase 2 will kill thousands. You're the only one positioned to stop it. + Victoria: [Conflicted] I'd be betraying everything I built... + You: You'd be saving lives. Isn't that what security research is supposed to be about? + -> recruitment_consideration + +* [Or you can go to prison] + You: The alternative is federal prison. ENTROPY operational charges. 20 years minimum. + Victoria: [Grimly] That's not exactly a choice. + You: It's more choice than you gave those six people at St. Catherine's. + -> recruitment_consideration + +=== recruitment_consideration === +#speaker:victoria_sterling + +[Victoria is silent for a long moment] + +Victoria: If I do this... if I feed you intelligence on The Architect... + +Victoria: I want immunity. Full immunity from prosecution. + +Victoria: And protection for my family. They don't know about Zero Day. They're innocent. + +* [SAFETYNET can arrange that] + ~ victoria_trusts_player = true + You: We can arrange immunity and family protection. But you have to give us everything. + Victoria: [Nods slowly] Alright. I'll do it. I'll be your double agent. + #complete_task:victoria_choice_made + -> recruitment_success + +* [I can't promise immunity without authorization] + You: I don't have authority to grant immunity. But I can advocate for it. + Victoria: [Frustrated] Not good enough. I need guarantees. + You: Help us now, and I'll fight for your immunity. That's all I can promise. + -> recruitment_conditional + +=== recruitment_success === +#speaker:victoria_sterling + +Victoria: What do you need to know? + +Victoria: The Architect's real identity? I don't know it. None of us do. + +Victoria: But I know the communication channels. The encryption protocols. The payment methods. + +Victoria: And I know the Phase 2 timeline. It's not theoretical. It's active. + +You: When? + +Victoria: Q4 2024. Three months from now. The Architect's already positioning assets. + +#exit_conversation +-> DONE + +=== arrest_option === +#speaker:victoria_sterling + +Victoria: Prison. [Hollow laugh] I suppose that's what I deserve. + +Victoria: For what it's worth... I'm sorry. About St. Catherine's. About all of it. + +Victoria: I convinced myself I was just participating in a market. But markets can be immoral too. + +[She stands, hands out] + +Victoria: I won't resist. Just... tell them the truth at trial. I wasn't trying to kill anyone. + +You: Intent doesn't erase consequences. + +Victoria: No. I suppose it doesn't. + +#complete_task:victoria_choice_made +#exit_conversation +-> DONE + +=== recruitment_conditional === +#speaker:victoria_sterling + +Victoria: Not good enough. I'm not risking my life on promises. + +Victoria: [Stands] You have your evidence. Use it however you want. + +Victoria: But I'm not betraying The Architect without guaranteed protection. + +[She walks toward the door] + +Victoria: I'll take my chances with lawyers. + +#complete_task:victoria_choice_made +#exit_conversation +-> DONE + +=== victoria_decision === +#speaker:victoria_sterling + +[Victoria looks up at you] + +Victoria: What happens now? + +* [You help us, or you face trial] + -> recruitment_pitch + +* [That's up to you] + You: What happens now is your choice. Prison, or redemption. + Victoria: [Long pause] Redemption. I choose redemption. + -> recruitment_pitch + +* [Justice happens] + -> arrest_option + +// =========================================== +// END +// =========================================== diff --git a/planning_notes/overall_story_plan/mission_initializations/m03_ghost_in_the_machine/stages/stage_7/m03_opening_briefing.ink b/planning_notes/overall_story_plan/mission_initializations/m03_ghost_in_the_machine/stages/stage_7/m03_opening_briefing.ink new file mode 100644 index 0000000..985d9c8 --- /dev/null +++ b/planning_notes/overall_story_plan/mission_initializations/m03_ghost_in_the_machine/stages/stage_7/m03_opening_briefing.ink @@ -0,0 +1,422 @@ +// =========================================== +// Mission 3: Ghost in the Machine +// ACT 1: OPENING BRIEFING +// =========================================== + +// Variables for tracking player choices +VAR player_approach = "" // cautious, aggressive, diplomatic +VAR handler_trust = 50 // Agent 0x99's confidence in player +VAR knows_m2_connection = false // Did player ask about hospital attack? +VAR mission_priority = "" // stealth, speed, thoroughness +VAR asked_about_victoria = false // Did player ask about Victoria? + +// External variables (set by game) +EXTERNAL player_name +EXTERNAL scenario_state + +// =========================================== +// OPENING +// =========================================== + +=== start === +#speaker:agent_0x99 + +[Location: SAFETYNET Secure Communication Channel] +[Visual: Agent 0x99's avatar - Haxolottle mascot with headset] + +Agent 0x99: {player_name}, thanks for picking up. We have a developing situation. + +Agent 0x99: Zero Day Syndicate. You heard of them? + +* [Refresh my memory] + You: Remind me - what's their deal? + -> briefing_main + +* [The exploit marketplace] + ~ handler_trust += 10 + You: The exploit marketplace. They sell zero-day vulnerabilities. + Agent 0x99: Exactly. And we've got evidence they're escalating. + -> briefing_main + +* [Just brief me] + ~ player_approach = "direct" + You: Skip the background. What's the mission? + Agent 0x99: Right to business. I like it. + -> briefing_main + +// =========================================== +// MAIN BRIEFING +// =========================================== + +=== briefing_main === +#speaker:agent_0x99 + +Agent 0x99: Zero Day operates under the cover of WhiteHat Security Services. +Agent 0x99: Legitimate pen testing firm by day. Exploit marketplace by night. + +{player_approach == "direct": + Agent 0x99: Here's what matters: we need intel on their operations. + -> objectives +} + +Agent 0x99: They've been selling exploits to other ENTROPY cells. + +* [Which cells?] + You: Which ENTROPY cells are they selling to? + Agent 0x99: Ransomware Incorporated, Social Fabric, Critical Mass... possibly others. + ~ handler_trust += 5 + -> st_catherines_connection + +* [What kind of exploits?] + You: What kind of exploits are we talking about? + Agent 0x99: Healthcare infrastructure. Energy grid SCADA systems. Critical targets. + -> st_catherines_connection + +* [This sounds serious] + ~ player_approach = "cautious" + You: This sounds more serious than usual. + Agent 0x99: It is. Much more serious. + -> st_catherines_connection + +=== st_catherines_connection === +#speaker:agent_0x99 + +Agent 0x99: Remember the St. Catherine's Hospital attack from last month? + +Agent 0x99: The ransomware that killed six people in critical care? + +* [Of course I remember] + ~ knows_m2_connection = true + ~ handler_trust += 5 + You: Of course. The ProFTPD exploit. Patient monitoring systems went down. + Agent 0x99: Right. We think Zero Day sold that exploit. + -> mission_stakes + +* [That was ENTROPY?] + ~ knows_m2_connection = true + You: Wait - that hospital attack was ENTROPY? + Agent 0x99: We didn't have confirmation at the time. Now we do. + -> mission_stakes + +* [I heard about it] + ~ knows_m2_connection = true + You: I saw the news coverage. Six deaths. + Agent 0x99: Six confirmed. The real number might be higher. + -> mission_stakes + +=== mission_stakes === +#speaker:agent_0x99 + +Agent 0x99: Zero Day didn't deploy the ransomware. They just sold the exploit. + +Agent 0x99: For $12,500. With a "healthcare premium" markup. + +{knows_m2_connection: + Agent 0x99: They charged MORE because hospitals can't defend themselves as well. + Agent 0x99: Calculated profit from human suffering. +} + +* [That's murder for profit] + ~ handler_trust += 10 + ~ player_approach = "cautious" + You: That's not hacking. That's murder for profit. + Agent 0x99: Exactly. And they're planning Phase 2. + -> objectives + +* [We need to stop them] + ~ handler_trust += 5 + You: We need to shut them down. Now. + Agent 0x99: Agreed. That's the mission. + -> objectives + +* [What's Phase 2?] + You: You said Phase 2. What's Phase 2? + Agent 0x99: That's what you're going to find out. + -> objectives + +// =========================================== +// MISSION OBJECTIVES +// =========================================== + +=== objectives === +#speaker:agent_0x99 + +Agent 0x99: Your mission objectives: + +Agent 0x99: One - infiltrate WhiteHat Security and clone Victoria Sterling's executive keycard. +Agent 0x99: Two - access their training network and gather intelligence on exploit sales. +Agent 0x99: Three - find physical evidence linking Zero Day to the hospital attack. + +* [Who's Victoria Sterling?] + ~ asked_about_victoria = true + -> victoria_briefing + +* [What's the training network?] + -> training_network_briefing + +* [How do I get in?] + -> cover_story + +=== victoria_briefing === +#speaker:agent_0x99 + +Agent 0x99: Victoria Sterling, CEO of WhiteHat Security. Former DEFCON speaker, respected researcher. + +Agent 0x99: And likely the operational lead for Zero Day Syndicate. Codename: "Cipher." + +Agent 0x99: Smart, charismatic, ideologically committed to "free market vulnerability research." + +* [She rationalizes selling exploits as capitalism] + ~ handler_trust += 5 + You: So she's convinced herself selling hospital exploits is just economics? + Agent 0x99: Exactly. She's not a sociopath. She's a true believer. + Agent 0x99: Which might make her more dangerous. + -> clone_keycard_objective + +* [Can we turn her?] + ~ handler_trust += 10 + ~ player_approach = "diplomatic" + You: Any chance she's recruitable? As a double agent? + Agent 0x99: Possible. If you can make her see the human cost of her philosophy. + Agent 0x99: But that's optional. Primary mission is intelligence gathering. + -> clone_keycard_objective + +* [Got it. The mission?] + -> clone_keycard_objective + +=== clone_keycard_objective === +#speaker:agent_0x99 + +Agent 0x99: You'll meet Victoria under the cover of a potential recruit consultation. + +Agent 0x99: While you're with her, clone her RFID executive keycard. + +Agent 0x99: That keycard will give you server room access after hours. + +* [How do I clone it?] + You: How does the RFID cloning work? + -> rfid_tutorial + +* [Sounds risky] + ~ player_approach = "cautious" + You: Cloning her card while she's watching? That's risky. + Agent 0x99: You'll need to be within 2 meters for about 10 seconds. Create a distraction if needed. + -> training_network_briefing + +* [I can handle it] + ~ player_approach = "aggressive" + ~ handler_trust += 5 + You: I've done proximity ops before. I can handle it. + Agent 0x99: Good. Here's the technical details. + -> rfid_tutorial + +=== rfid_tutorial === +#speaker:agent_0x99 + +Agent 0x99: We're providing you with an RFID cloner device. Pocket-sized. + +Agent 0x99: Get within 2 meters of Victoria for about 10 seconds. The device does the rest. + +Agent 0x99: It'll vibrate when the clone is complete. Then get some distance to be safe. + +* [What if she notices?] + You: What if she notices something? + Agent 0x99: If questioned, say you're interested in their security research. Play curious recruit. + -> training_network_briefing + +* [Understood] + -> training_network_briefing + +=== training_network_briefing === +#speaker:agent_0x99 + +Agent 0x99: Once you have server room access, you'll find their training network. + +Agent 0x99: It's a VM environment at 192.168.100.0/24. Zero Day uses it to test exploits before selling them. + +Agent 0x99: Run reconnaissance - port scanning, service enumeration, the usual. + +* [What am I looking for specifically?] + You: What specific intel am I after? + Agent 0x99: Operational logs. Client communications. Evidence of the hospital attack. + Agent 0x99: And anything about Phase 2 - their future target list. + -> cover_story + +* [Standard pentest procedures] + ~ handler_trust += 5 + You: Standard penetration test procedures. Got it. + Agent 0x99: Exactly. Scan, enumerate, exploit if needed. + -> cover_story + +* [Ready for the cover story] + -> cover_story + +// =========================================== +// COVER STORY & APPROACH +// =========================================== + +=== cover_story === +#speaker:agent_0x99 + +Agent 0x99: Your cover: you're a cybersecurity researcher interested in Zero Day training programs. + +Agent 0x99: Victoria is meeting you to assess whether you're recruit material. + +Agent 0x99: Entry point: conference room meeting at 2 PM. Then you'll have until nightfall to prep. + +{asked_about_victoria: + Agent 0x99: Be natural with Victoria. She's smart - she'll spot nervousness. +} + +* [What's my background story?] + You: What's my background if she asks technical questions? + Agent 0x99: You're a freelance pentester. Worked with small firms, looking for bigger opportunities. + Agent 0x99: Interested in "the morally gray" side of security research. That'll appeal to her philosophy. + -> mission_approach + +* [When do I infiltrate the server room?] + You: When do I actually infiltrate the server room? + Agent 0x99: After the daytime meeting, there's a time skip to nighttime. + Agent 0x99: Most staff gone. Just a security guard on patrol. That's when you move. + -> mission_approach + +* [I understand the setup] + -> mission_approach + +// =========================================== +// CRITICAL CHOICE: Mission Approach +// =========================================== + +=== mission_approach === +#speaker:agent_0x99 + +Agent 0x99: Before you go in - how do you want to approach this? + +Agent 0x99: Your call. I trust your judgment. + ++ [Careful and methodical] + ~ player_approach = "cautious" + ~ mission_priority = "thoroughness" + You: I'll be thorough. Document everything, leave no stone unturned. + Agent 0x99: Smart approach. The more intel we get, the better our case. + Agent 0x99: Just remember there's a guard on night patrol. Stealth matters. + -> final_instructions + ++ [Fast and decisive] + ~ player_approach = "aggressive" + ~ mission_priority = "speed" + You: I'll move fast. Get the objectives done and get out. + Agent 0x99: Speed has advantages. Less time for things to go wrong. + Agent 0x99: But don't rush past critical evidence. The hospital connection proof is vital. + -> final_instructions + ++ [Adapt to the situation] + ~ player_approach = "diplomatic" + ~ mission_priority = "stealth" + You: I'll read the situation. Stay flexible. + ~ handler_trust += 10 + Agent 0x99: Adaptability. That's why you're good at this. + Agent 0x99: Trust your instincts. Call if you need guidance. + -> final_instructions + +// =========================================== +// FINAL INSTRUCTIONS +// =========================================== + +=== final_instructions === +#speaker:agent_0x99 + +{player_approach == "cautious": + Agent 0x99: Your careful approach is good for this mission. Zero Day leaves paper trails. + Agent 0x99: Find the documents. Connect the dots. +} + +{player_approach == "aggressive": + Agent 0x99: You'll need speed for the network challenges. But take time for physical evidence. + Agent 0x99: Operational logs, client lists, anything linking them to St. Catherine's. +} + +{player_approach == "diplomatic": + Agent 0x99: Victoria might respect honesty if you find the right moment. + Agent 0x99: Optional objective: assess whether she's recruitable as a double agent. +} + +Agent 0x99: Field Operations Rule 7 - "When infiltrating corporate environments, remember that the most valuable intelligence is often in the least secure location." + +{knows_m2_connection: + Agent 0x99: And {player_name}... six people died because of what Zero Day sold. + Agent 0x99: Four in critical care. Two during emergency surgery when systems failed. + Agent 0x99: Whatever you find, make it count. +} + +* [I won't let you down] + ~ handler_trust += 10 + You: I'll get the evidence. Zero Day is going down. + Agent 0x99: That's what I wanted to hear. Stay safe out there. + -> deployment + +* [Any last advice?] + You: Any last advice before I go in? + -> last_advice + +* [I'm ready] + -> deployment + +=== last_advice === +#speaker:agent_0x99 + +Agent 0x99: Victoria will test you. Philosophical questions about security ethics. + +Agent 0x99: Play the curious researcher. Don't tip your hand. + +Agent 0x99: And if you find evidence of James Park's involvement... + +Agent 0x99: He's a mid-level consultant. Might be innocent, might be complicit. Your call on what to do. + +* [I'll assess in the field] + ~ handler_trust += 5 + You: I'll make that judgment when I have the facts. + Agent 0x99: Good answer. Collect evidence first, decide later. + -> deployment + +* [Every ENTROPY operative goes down] + ~ player_approach = "aggressive" + You: If he's involved with ENTROPY, he's compromised. + Agent 0x99: Maybe. But gather proof before making that call. + -> deployment + +* [Understood] + -> deployment + +// =========================================== +// DEPLOYMENT +// =========================================== + +=== deployment === +#speaker:agent_0x99 + +Agent 0x99: WhiteHat Security is at 1247 Market Street, downtown financial district. + +Agent 0x99: I'll be on comms if you need support. The drop-site terminal in the server room connects directly to me. + +{handler_trust >= 70: + Agent 0x99: And {player_name}? I know you'll do this right. You always do. +} + +{handler_trust >= 50 and handler_trust < 70: + Agent 0x99: Good luck. You've got this. +} + +{handler_trust < 50: + Agent 0x99: Stay focused. Don't let the stakes psych you out. +} + +Agent 0x99: Remember: meet with Victoria, clone her keycard, then night infiltration. + +Agent 0x99: Go get 'em, {player_name}. Haxolottle out. + +[Transition: Fade to WhiteHat Security reception lobby, 2 PM] + +#start_gameplay +#complete_task:briefing_received +-> END