Lyon Avenue was three blocks down.
When Kendra got there, she spotted a black Toyota SUV parked at the end of the cul-de-sac. Its engine was droning, and it flashed its headlights twice. It was a signal that it was safe to approach.
So Kendra did.
As she drew closer, she recognised Jim Braddock in the front passenger seat, looking craggy and grizzled like he always did. He was a bear of a man with the stillness of a Buddha.
She recognised the guy behind the wheel as well. Adam Larsen. He looked sleek and urbane, like he had just stepped off the pages of a Hammett novel.
Kendra popped open the SUV’s door and slipped into the back seat, she could feel an undercurrent of nervous energy in the air. It was an unspoken feeling of tension that hung heavy.
She looked at Jim, then at Adam. ‘Well, well. Fancy meeting you gentlemen in the neighbourhood.’
Adam thumbed his nose and gave her a thin smile. ‘Good to see you too, Kendra. Heard you got held up.’
The concern on Jim’s face was fatherly. He reached out and touched her hand. ‘The police network’s been filled with chatter about disturbances in Remuera and Newmarket. Are you okay?’
‘I...’ Kendra hesitated and bunched up her shoulders. ‘It’s been rough and tumble, but I’m managing.’
She gave Jim and Adam a rundown of events. The bombing at the department store. The firefight in the parking garage. What she uncovered at the Hosseini residence. The VAJA operators that she had to neutralise.
When she was done, Jim exchanged a guarded look with Adam. Then he returned his gaze to Kendra. His gravelly voice was soft. ‘Little girl, I’m sorry that you had to go through all that.’
Kendra grimaced. ‘The hardest thing was what I saw at the mansion. Those people...’ She trailed off, then swallowed. ‘And VAJA? I just can’t bring myself to believe that Ryan could have gotten himself mixed up with terrorism. Or Leila and Saeed, for that matter. It just doesn’t... fit.’
Kendra unzipped her bag and reached into it. She dug out a stack of pamphlets. She handed some to Jim and some to Adam.
Adam flicked through. ‘It sure looks incriminating.’
Jim tapped his finger. ‘Or designed to appear that way.’ He shook his head. ‘I don’t mean to sound indelicate here, but how much do you know about what Ryan’s been up to? I mean, since your relationship with him ended.’
Kendra leaned back against her seat and folded her arms. ‘To be honest, not a whole lot. When I left ten years ago, Ryan was angry, heartbroken. He yelled at me. Warned me never to contact him. Never to look him up.’
Adam nodded slowly. ‘And... that’s what you did.’
‘Yeah. Yeah, I figured it was for the best. For both our sakes.’
‘So you never trawled Facebook or Twitter? Just to sneak a peek at his life every now and then?’
‘No, never. Believe me, it was hard. Fucking hard.’ Kendra tipped her chin. ‘But, somehow, I mustered up the self-discipline never to do it. Once or twice, though, I did stumble upon the odd story about the Hosseinis in the New Zealand Herald. Their philanthropy. Their investments. But, even then, I always clicked away. I didn’t need the grief.’
‘No. No, I’m sure you didn’t.’ Jim exchanged another look with Adam.
And there it was again – that cagey expression on their faces. That partaking of conspiratorial knowledge, like they were keeping something from her.
The moment stretched into awkward silence, punctuated only by the humming of the SUV’s engine.
Kendra thought back to how it all began.
Jim was the father of Section One. It was a black-ops programme that combined civilian intelligence gathering with paramilitary direct action. It allowed small teams of covert operators to find, fix and finish threats anywhere, everywhere.
Adam had been one of those shadow warriors. He was the tip of the spear. Smart enough to gather on-field intel and tough enough to transition into the wetwork.
For all intents and purposes, Section One was a revolution. One that hit fast and hard, neutralising persons of interest, disrupting terror networks. And it laid the groundwork for a new intervention policy – why publicly commit thousands of troops for kinetic action when you can just send in a handful of quiet professionals?
Easy in. Easy out. Seamless.
That is, until an op went bad in Kuala Lumpur, leaving a senior officer named Nathan Raines dead. Then the powers-that-be got cold feet, and they slashed funding. They also muscled through an oversight committee and culled the herd.
Jim was sweet-talked into retiring.
Adam was unceremoniously dumped from Section One.
Kendra, of course, had missed out on all the fun and games. She was already out of the game at the point. Consigned to therapy.
In a sense, they were all in the same boat.
They were star operatives who had been put out to pasture.
Absolutely tragic.
Kendra curled her lip and leaned forward. She jabbed the back of Adam’s headrest with her finger. ‘Look, I woke up this morning feeling good about myself. Like, shit, I’d actually made some progress. No more moping around. No more feeling depressed. And by lunchtime, I could actually sit in a crowded café and not suffer an automatic panic attack. And that was big for me. Huge. Because it felt like I had finally – finally – reached a milestone. I was starting to get a grip on all the bad stuff that’s been bouncing around in my head. Exorcising all the ghosts. And then...’ She shot Jim a disgruntled look. ‘Well, Ryan parachuted back into my life, and everything’s gone to hell. And – oh yeah – innocent people are dead.’ She cleaved the air with her hand. ‘And, suddenly, I’m dancing with smoke and mirrors, risking my life when I shouldn’t have to. And I’m wondering how someone like me goes from a cheerful morning to a shitty afternoon like this. So, for fuck’s sake, what aren’t you telling me? What?’
Adam blinked. He opened his mouth like he was about to respond, but then he hesitated. And he turned to Jim, raising his hands in mock defeat. ‘It’s your call, Mr Wizard. But, yeah, she deserves to know.’
Jim shifted in his seat and cleared his throat. ‘Okay. All right...’
‘If you’re worrying about my state of mind, well, don’t,’ Kendra said. ‘I’ve proven myself capable. More than capable. So give it to me straight, minus the sugar-coating.’
Adam smirked. ‘She’s a tough chick. She can handle it.’
‘Fair enough.’ Jim nodded, relenting. ‘Okay. Let’s dial back the clock a little. About six months ago, the GCSB learned that a VAJA operative, code-named Onyx, had arrived in the country. He was posing under the cover identity of Behrouz Farhadi, an Iranian businessman living in exile.’
‘What’s his real name?’ Kendra asked.
‘His real name is Karim Movahed. Former colonel in the Quds Force.’
‘Bad news, then.’
‘Very. Now, through a social dinner, Onyx makes contact with Saeed Hosseini, and from there, he touches base with Ryan. He’s looking for software engineers. A pool of talent with a very specific skillset. And Ryan’s company seems to fit the bill. This gives the GCSB the jitters, and Trevor Walsh immediately places the Hosseinis under surveillance.’
Kendra shook her head, uneasy.
Trevor Walsh was the director of the GCSB, which was short for the Government Communications Security Bureau. It was an agency that specialised in signals intelligence – the covert interception of data streams.
With bases in Waihopai and Tangimoana, the GCSB’s infrastructure acted as a giant sponge, capturing and storing anything transmitted via radio waves, satellite links and hard lines. Algorithms and analysts then trawled through the data, looking for red flags.
What made the GCSB really formidable, though, was that it was also part of Echelon – an intelligence network made up of New Zealand, Australia, the United States, the United Kingdom and Canada. That expanded its scope far beyond the Pacific region, giving it an augmented purview that was almost limitless.
That made a lot of people unhappy, least of all the liberals, which was why legislation had been ushered in to limit the GCSB’s influence.
Kendra spoke, ‘Walsh doesn’t have the authority to spy on citizens without executive approval. That’s jurisdictional overreach, and it’s illegal.’
Jim shrugged and rubbed his beard. ‘Right you are. It is illegal. The GCSB’s mandate is very clear – it can only surveil foreign nationals like Onyx. Citizens like the Hosseinis are meant to be off-limits.’
‘So why is Walker overstepping?’ Kendra asked.
Adam cocked his eyebrow. ‘Do you remember Stuxnet? Remember how angry the Iranians were? How they vowed revenge?’
Kendra frowned.
In 2010, Stuxnet was a computer worm that penetrated several Iranian nuclear facilities. It targeted the centrifuges that were used to enrich uranium. As a result, they went haywire, spinning out of control, ripping themselves apart. By some estimates, about twenty percent of the centrifuges were destroyed.
This event was made all the more impressive by the fact that the computers at the facilities were actually air-gapped. That meant that they were operating in insulated networks that weren’t connected to the internet. Nonetheless, Stuxnet managed to slip through and infect them anyway, with devastating results.
Officially, no country ever took responsibility for the cyberattack. Speculation was rife in the media, but the West maintained plausible deniability.
However, Kendra knew better.
It was Echelon programmers who had coded the malware, while Israeli agents inside Iran had delivered the actual payload. It was all done in an attempt to prevent Iran from acquiring a nuclear weapon.
In retrospect, though, it didn’t stop Iran’s efforts at all. It set them back a couple of years, yeah, but it sure as hell didn’t weaken their resolve. The Iranians simply hardened their defences and increased their efforts at counter-intelligence.
‘So let me get this straight,’ Kendra said. ‘Onyx is looking for a way to strike back. He wants to do to us what we did to them.’
‘Bazinga,’ Adam said. ‘He wants a Stuxnet-style event, except he’s targeting our Echelon infrastructure specifically.’
‘Disrupting our eyes and ears?’
‘Absolutely. He’s going for the crown jewel – Xkeyscore.’
Kendra swallowed, starting to see the endgame now.
XKeyscore was a subdivision within the Echelon system. It was a full-take database that the American NSA ran in cooperation with the GCSB. It allowed agents from both nations to share signals intelligence. It worked pretty much like a search engine, except one that was used for clandestine purposes.
‘But we’ve got the best countermeasures in the world,’ Kendra said. ‘Coding and distributing malware to cripple XKeyscore is not going to be the easiest thing to achieve.’
‘Which is why Onyx zeroed in on Ryan,’ Adam said. ‘Because his company produces the antivirus software that the GCSB is currently using on its servers at Waihopai and Tangimoana. Who better than him to know what our vulnerabilities are?’
Kendra nodded warily.
Ryan had always been brilliant at computers, and from what she had read in the news, his software had real-time heuristics that were among the best in the industry. It wasn’t surprising to hear that his company was responsible for providing cyber security at the GCSB.
If Onyx had compromised Ryan, then all he would have to do was compel Ryan to upload the malware by means of a routine antivirus update. It would bypass all the usual safeguards and act like a Trojan horse, crippling Xkeyscore from the inside out, disrupting covert operations in the Pacific and beyond.
A nightmare.
Adam wagged his finger. ‘Ryan’s software is designed to repel black-hat penetrations from the outside. But if the source code itself is tainted with a backdoor entry, then you can see how VAJA would be able to take advantage of that.’
‘Again, that is why Onyx needs Ryan,’ Jim said. ‘He has both technical skill and administrative privileges.’
‘Exactly.’
Kendra wrinkled her nose. ‘Wait. Hold up. I’m sorry, but am I the only one who sees the lapse in logic here? Okay, sure, it’s well-known that the Hosseinis are secular Muslims. They hate the ayatollahs and the Islamic Republic. So, to get close to them, Onyx poses as someone from a similar background and secures their friendship. I can buy that. But getting Ryan and his company to create a cyberweapon? That’s one hell of a red flag. There’s no way he would willingly do it.’
Jim shrugged. ‘That may be true, but here’s something you don’t know. Leila and Saeed have been investing heavily in the alternative-energy sector, trying to jump on to the bandwagon. But it appears they’ve miscalculated. These past few months, their portfolio’s gone from bad to worse, and they’re desperate to turn that around. Because if they don’t, they’re facing total financial ruin within a year.’
Adam snapped his fingers. ‘The shit’s been weighing on Ryan’s mind. Clouding his judgement. So, yeah, he doesn’t think too hard about accepting Onyx’s offer, because the money on the table is too good to pass up. It’s cash the family desperately needs.’
Kendra fidgeted, smoothing her hands along her lap. She sighed and shook her head, still reluctant to believe it. ‘But this is a cyberweapon we’re talking about. Something so obviously malicious and deadly. Ryan wouldn’t agree to that. Not in good conscience.’
‘Listen, Ryan wasn’t required to construct the malware in its entirety. Nope. He only had to build the programmable-logic controller – the artificial-intelligence rootkit. That looked innocent enough because PLCs are used in everything from elevators to assembly lines. So, yes, Ryan could have easily overlooked its true purpose, especially considering the circumstances.’
‘So... what? Onyx has different teams in different countries assembling different components?’
‘Exactly. And when the time is right, they’ll put the entire package together and weaponise it. Prep it for delivery via Ryan’s antivirus software.’
Kendra scoffed. ‘That’s overly ambitious. A ridiculous jigsaw.’
‘Which is where the GCSB steps in,’ Jim said. ‘Walsh puts the Hosseinis between a rock and a hard place. He tells them the truth about Onyx and coerces them to do their patriotic duty – stop a terrorist plot.’
‘How?’
‘By getting Ryan to go off-spec. Create a PLC that looks legit but in reality isn’t. The goal is to sabotage the malware from the moment of conception. Make sure it’s dead on arrival.’
‘So Walsh turns Ryan into an asset, a mole. But he doesn’t have the training for that. He doesn’t have the mentality.’ Kendra raked her hand through her hair, frustrated. ‘Why didn’t Walsh just go through Section One? Why take such a big gamble?’
‘Because after what happened in Kuala Lumpur, Section One is barely functional, and Deirdre Raines is still dealing with bureaucratic fallout. Our work in counterterrorism? Direct action? It’s all under the microscope now. Deirdre couldn’t help even if she wanted to.’
Kendra clenched and unclenched her jaw. Her cheeks felt flushed. ‘Those operators who were following Ryan in the city centre – let me take a wild swing. They were contractors, weren’t they? Hired on short notice?’
‘The GCSB’s role has always been advisory; to gather and curate intelligence. So, no, they don’t have any direct-action capability. That’s why Walsh chose to outsource. He got mercenaries to babysit Ryan.’
‘Fucking genius. What was in the briefcase Ryan was carrying?’
‘The source code and the blueprints for the PLC. He was supposed to pass it to Onyx.’
Kendra thought about the operator that she had been forced to kill in the parking garage. It was a case of crossed signals and mistaken identity. But that didn’t make her feel any better about the situation.
Kendra winced. ‘Yeah, it all worked out so well, didn’t it?’
Adam spread his hands. ‘Look, there are two possibilities here. One – Ryan’s defected to VAJA. Or two – he’s being blackmailed somehow. Either way, he set up those mercs to die.’
Kendra thought about Leila and Saeed. ‘It’s number two. It has to be. Somehow, Onyx found out he was being played, and he snatches Ryan’s parents. And he’s using that to strong-arm Ryan.’
‘You think?’
‘I’m positive. Because if what you’re saying is accurate, then Onyx will want Ryan to repair all the holes in the rootkit. Make it fully functional.’
‘That’s a reasonable enough assumption,’ Jim said. ‘But here’s another complication – Walsh has just placed a kill order on Ryan.’
‘He did what?’
‘Traffic cams showed Ryan fleeing from the scene of the blast. And along with what the police have now found at the mansion, Walsh has gone into full-blown panic. He believes Ryan is the problem, and he now wants to cover his own ass by eliminating him. Because, remember, this whole thing was an unsanctioned op to begin with.’
Adam thumbed his nose. ‘Walsh is a moron, and this is exactly what Onyx wants. The GCSB is running around, chasing its own shadow.’
Kendra leaned back against her seat. She exhaled shakily and rubbed her temples. She felt as if her world has just tilted sideways, and everything was unravelling now.
Yeah, a part of her was relieved that Ryan was not a terrorist. It vindicated her faith in him and justified all the tender memories. But another part of her was afraid for him and his family. She wondered if they would even survive this clusterfuck.
Kendra wet her lips, her voice faltering. ‘We have to rescind that kill order and get the Hosseinis back. They didn’t deserve this. Any of this.’
‘Agreed.’ Jim nodded. ‘It’s time we untangled this messy knot.’
‘But how? Where do we even begin?’
Adam winked and broke into a grin. ‘O ye of little faith. For the record, Jim and I haven’t just been sitting around, twiddling our thumbs. We’ve been doing our homework and following a trail of our own. And, yes, we have a way to find and fix Onyx.’
Kendra straightened, daring herself to hope. ‘Tell me.’