Privileged · Fiction

Part V: Thinning Fog

The building is awake now, not because it feels safe, but because it has been taught fear. Somewhere in the calm, an artery is still pulsing.

Claire Donnelly learned early that the most dangerous moment in any incident is the moment you start to feel competent.

Competence makes you impatient. Impatience makes you skip. Skipping makes you bleed.

Wave two had ended with a painted door and a captured trace. The decoy endpoint had done what it was supposed to do. It had pulled the attacker’s hand out of the dark long enough for the system to take a clean fingerprint.

A custom client identifier. A pattern of timing. A preference for authority names embedded in automation. A shape that looked less like chaos and more like a person who understood how companies argue with themselves.

Now it was morning again, and the building was awake in a new way.

It was not awake because it felt safe. It was awake because it had stopped believing that safety was a feeling.

Rita Alvarez had turned ritual into law. Out of band verification. Dual approval.

Manual gates. Printed lists. No emergency process without governance. No exception that could be justified with urgency. The building had accepted inconvenience as the price of being un-steered.

But the attacker was still there. Somewhere.

The question was where the artery still pulsed.

Oliver Wilson stood at the front of the war room with an unwashed mug of coffee in his hand. He looked like someone who had been trained to stay calm during fire and had simply decided that this, too, was fire.

He pointed to the whiteboard where Claire had written two questions in thick marker.

Who is the partner in this?

Where does the voice come from?

Edward Cole had added a third under it.

What else is listening?

Aisha Desai sat cross-legged in a chair that was not meant to hold a person in that posture. Her laptop was open, her screen a patchwork of log snippets and data frames.

She was quiet in the way people are quiet when they are doing something that requires both precision and restraint.

Julian Rowe arrived late. He looked like he had spent the night holding a dam.

He did not apologize. In this room, apologies were not currency. Evidence was.

Connor Lane arrived next, carrying a folder of printed emails. He looked different.

Not polished. Not smooth. His face had a hardness now that came from learning the cost of being liked.

Marianne Beck joined from a video feed. Her camera angle was too high, as if she wanted distance even in pixels. Her voice, when she spoke, had the sound of someone who had spent years managing perception and was now being forced to manage reality.

Rita joined in person. She always did. Rita treated physical presence as a control.

You can fake a message. You cannot as easily fake a body in a chair in front of you,

not without leaving a different kind of mark.

Claire looked around the room and did the simplest thing she knew.

She stated the facts.

“We have an attacker who exploited supply chain to shape rules that shaped behavior,” she said. “They attempted to drive privileged access drift using deceptive wording, partner pressure, and automation. They can impersonate text. They can mimic voice. They know our static phrases. They tried to open a diagnostic window through Gatekeeper. We disabled their partner lever. We found a modified build runner image that edits configuration in memory. We captured a client fingerprint tied to their earlier activity.”

Oliver nodded once. “Good. Now we stop summarizing and start moving.”

He tapped the table and looked at Edward.

“Start with the fingerprint,” Oliver said. “Where else does it appear?”

Edward’s fingers moved. “I ran a search across internal proxies, registry logs, and build runner telemetry. The client fingerprint appears in three places. One, six weeks ago, during the runner image tag update. Two, during the first build time fetch to the mirror domain. Three, yesterday, when they tried to pivot out of the decoy.”

Claire asked, “Any other occurrences?”

Edward nodded. “Yes. Two days ago, that same client identifier appeared in a request sent by one of our internal support tools to renew an access token, which is what lets a system stay logged in without asking again. The request went through an older internal proxy route, a middle-layer path that forwarded traffic to the destination system.

We later disabled that route because it allowed requests to bypass some of the newer checks.”

Aisha looked up. “That means they were still using the proxy path after we thought it was mostly dormant.”

Edward replied, “Yes. Which means it was not dormant. It was just quiet.”

Julian’s expression tightened. “Support tooling?”

Claire said, “We already saw support tooling service accounts used to change identity provider configuration during the noise event.”

Edward nodded. “I am matching the activity across the logs. The same set of service identities are involved.”

Oliver wrote a single phrase on the whiteboard under arteries.

Support tooling.

Then he drew a line from it to the build environment.

Then he drew another line to the partner integration.

The lines formed a triangle.

“Three throats,” Oliver said. “Partner. Build. Support tooling. We have already cut partner. We are rebuilding build. That leaves support tooling.”

Julian looked like he wanted to argue. The support floor was his responsibility.

Calling it a throat felt like calling it a vulnerability. Vulnerability felt like blame.

Claire didn’t let the argument happen. She spoke first, steady.

“Support tooling is not Support,” she said. “It is the machinery around it. And it is a favorite place to hide because people treat it as internal and benevolent. We need to audit its permissions.”

Rita nodded. “We will.”

Oliver looked at Aisha. “What do we know about the voice?”

Aisha’s fingers paused. “Voice impersonation is likely. We found internal audio recordings accessible beyond intended scope. Edward locked the repository. But the attacker may have already copied. Deepfake detection is unreliable at incident speed. Ritual beats detection.”

Oliver said, “We already learned that. Give me something actionable.”

Aisha nodded.

“The actionable part is to identify where voice calls can trigger action. Support phone trees. Pager processes. Executive escalations. We should reduce voice-initiated changes to zero without callback verification.”

Rita said, “Already implemented for access and automation. But we need to expand to configuration toggles.”

Edward added, “And to registry promotions.”

Claire wrote in her notebook: expand ritual to all change types.

Oliver turned to Connor.

“Partner question,” he said. “Adversary or victim? What have you got?”

Connor opened his folder and slid a printed timeline across the table.

“This is not flattering,” he said. “But it is honest. The partner requested premium diagnostics as early as last quarter. They requested a direct lever into Gatekeeper.

We gave it. It was presented as a reliability feature. Their liaison Caleb pushed for it.

He also used the same language patterns we mapped. Praise, unique case, urgency,

mild access.”

Marianne’s voice came through the speaker. “We cannot accuse a partner without proof.”

Claire said, “We are not accusing yet. We are deciding how to treat.”

Connor continued, “After we disabled the lever, the partner escalated in writing.

Their escalation included the portal link to the hidden endpoint. That endpoint bypassed their normal VPN posture. That suggests either they intentionally used a legacy transit route, or they were unaware and their environment is compromised.”

Oliver asked, “Do we have evidence of their engineers using that route?”

Edward replied, “We have traffic data showing that route was used outside their typical working hours. But partners have global teams. It is not definitive.”

Aisha added, “Their automation could run at night.”

Connor said, “But that traffic does not carry their usual client fingerprint. It carries the anomalous fingerprint tied to the attacker.”

Claire felt the pattern tighten.

“So, the traffic using the legacy transit route is likely attacker driven,” she said.

Edward nodded. “Likely.”

Marianne said, “Likely is not proof.”

Rita replied, “Likely is enough to close doors.”

Marianne exhaled. “Closing doors is not the only consequence. We have legal exposure.”

Oliver said, “We can manage legal. We cannot manage compromise.”

Claire watched Marianne’s face on the screen. She looked tired. She looked like she was trying to hold two realities at once.

“We can separate treatment from attribution,” Claire said. “We treat them as hostile until verified. That is operational. We do not publicly accuse. That is legal.”

Marianne nodded reluctantly. “Fine.”

Oliver moved to the next question.

“How do we expose the true foothold?” he said. “We have a fingerprint. We have a modified runner image. We have token persistence issues. Where is the attacker living right now?”

Edward looked at his screen. “If the build runner image, the standard software environment our automated build systems start from, was compromised, and the registry label that marks an image as approved was changed automatically, then the attacker did one of two things. Either they gained control of the identity the build system uses to perform jobs, or they interfered with the approval process that places trusted images into the internal registry.”

Rita said, “That approval process now requires my approval.”

Edward nodded. “Now. But six weeks ago it was automated. The attacker used that.”

Aisha said, “If they compromised the job runner identity, they could also use it to access other internal systems that trust that identity.”

Claire asked, “What trusts job runner?”

Edward replied, “Registry. Build runners. Some internal configuration service. Some artifact stores.”

Claire’s eyes narrowed. “Configuration service?”

Edward nodded. “Yes. The same class of service that could flip the identity provider toggle during the noise event if support tooling identity had access.”

Oliver said, “So the foothold may be an automation identity. Not a human.”

Claire felt the earlier phrase from the blog post she had insisted they avoid returning. She pushed it away. This was not about poetry.

“It is an identity problem,” she said. “Automation identities are privileged access.

We treat them like people with more power.”

Rita wrote on the whiteboard in thick letters.

Automation is a person.

Oliver said, “We rotate keys.”

Edward shook his head.

“Rotation helps, but if they have persistence in a runner image, they can capture new keys. If they have persistence in a configuration service, they can re-grant.

We need to isolate and rebuild from clean.”

Oliver said, “Then we rebuild support tooling and automation pipeline.”

Julian winced. “That will blow up the support floor.”

Claire looked at Julian. “We will not let it blow. We will stage. But we will not keep a compromised throat because it is inconvenient.”

Julian’s mouth tightened. Then he nodded. “Okay.”

He looked like a person who had learned to choose pain that prevents worse pain.

Oliver’s posture changed. He had the look of someone deciding to walk into a storm instead of waiting for it.

“Wave three begins with counterplay paying off,” he said, almost mocking his own outline. “So we are going to cash out the bait. We are going to trace the fingerprint through internal logs to its origin. We are going to identify which system minted the requests and which identity signed them. Then we are going to cut that identity out of the body.”

Rita added, “And we are going to confront the partner with terms. Either they submit to a security review and cooperate, or the relationship ends.”

Marianne’s eyes widened slightly. “Ending is extreme.”

Rita said, “So is being steered.”

Claire watched the shift. The building had moved from defense to boundary assertion. The attacker would feel it.

When a building asserts a boundary, an attacker either withdraws or breaks something.

Oliver said, “Edward, start correlation on the fingerprint. Find the earliest origin you can. Aisha, analyze linguistic drift in automated messages. I want to know if the same author pattern appears across channels. Connor, prepare partner confrontation.

Julian, implement a new triage script on the floor. I want every access pressure ticket flagged. Claire, you and I will map the arteries and decide where to cut.”

Claire nodded.

She liked the clarity. Clarity is not comfort, but it is direction.

The room moved.

***

The first cut was not technological. It was procedural.

Claire and Oliver walked to governance to meet Rita at the table where the printed lists lived.

Rita had created a binder. It contained phone numbers, escalation contacts, and a simple rule on the first page in bold.

If it changes a system, it requires verification.

Claire asked, “How often are people trying to bypass?”

Rita replied, “Often. They do not call it bypass. They call it speed.”

Oliver said, “And the attacker uses that.”

Rita nodded. “Yes.”

Claire opened the binder and saw a second sheet taped inside.

A daily verification code, hand written, rotated that morning. Not stored anywhere digital.

Aisha would hate this. She would call it manual. She would call it brittle.

Claire thought it was survival.

“What happens when someone forgets?” Claire asked.

Rita replied, “They learn.”

Oliver asked, “Any new impersonation attempts overnight?”

Rita slid a paper across the table. A list. Three text impersonations. Two voice impersonations. One automated request containing an authority name.

All denied.

Rita’s handwriting beside each entry was the same.

Verified. Denied.

Claire felt a small fierce satisfaction. The ritual was absorbing the hits.

But there was something else on the list.

A name Claire did not expect.

The attempted impersonation of Julian Rowe.

Claire stared. “They used Julian?”

Rita nodded. “They called Support, used his voice, tried to authorize a configuration change to reduce friction in ticket routing. It was denied.”

Oliver’s eyes narrowed. “They are expanding. They are trying to find the weakest authority.”

Claire said, “Or the most useful.”

Julian’s authority was not executive. It was operational. It was a voice that could move tired analysts.

That meant the attacker understood the human network, not only the technical network.

Claire looked at Oliver. “We have to assume they are reading our incident channel.”

Oliver replied, “Yes.”

Rita said, “Then we reduce what the channel reveals.”

Claire thought for a moment. “We cannot hide everything. But we can separate planning from execution. Plan in person. Execute in systems.”

Rita nodded. “Agreed.”

Oliver said, “We also move some decision making to a clean room.”

Claire asked, “What do you mean?”

Oliver replied, “No laptops. No chat. Whiteboard. Paper. Face to face. Only then we translate into actions with verification.”

Claire felt the building shifting to older methods because modern ones were compromised. She did not feel nostalgia. She felt anger.

The company had built powerful tools and left them too open. Now it was paying for that openness with inconvenience.

Rita said, “We can do that.”

Oliver nodded. “We do it today. Because we are going to confront the partner and cut an artery. I do not want the attacker reading our plan.”

Claire agreed.

They left governance and walked back through the hallway.

People passed them, heads down, eyes tired, some whispering about outages, some whispering about the assistant being disabled, some whispering about partners being furious.

None of them knew the full shape of the incident. That was intentional. Full knowledge is not always safety. In the middle of a breach, too much shared detail can become guidance for whatever is still inside.

Claire entered the war room and watched Edward working.

He had built a correlation chart. The client fingerprint occurrences were plotted on a timeline. Next to them, he had plotted token refresh anomalies, registry tag updates, Gatekeeper approvals, and support tooling configuration changes.

The chart looked like a heartbeat with irregular spikes.

Edward pointed at the earliest occurrence. “This is the origin. Six weeks ago. A request to the internal registry through the legacy proxy path. It includes the fingerprint.

That request came from a machine identity named runner manager.”

Claire asked, “What is runner manager?”

Edward replied, “A service identity that manages build runners. It can pull runner images, promote tags, and update configuration.”

Oliver asked, “Who owns it?”

Edward said, “Platform team owns it, but it is used by automation.”

Aisha looked up. “If the attacker compromised runner manager, they can move through many systems that trust it.”

Claire said, “It is an artery.”

Edward nodded. “Yes. And it is probably still compromised.”

Oliver asked, “Can we revoke it?”

Edward replied, “Yes, but it will stop builds entirely until we replace.”

Marianne’s voice cut in from the speaker. “We cannot stop builds entirely.”

Rita replied, “We can stop builds.”

Marianne said, “We have customers. We have obligations.”

Claire said, “We have an attacker living in the build artery. If we keep building, we keep giving them a bloodstream.”

Marianne’s eyes hardened. “I need a plan that does not shut down the company.”

Oliver said, “Then we do a controlled shutdown. We freeze builds for twenty-four hours. We rebuild runner manager identity. We rebuild runner images. We redeploy with signed promotion. Then we resume.”

Marianne asked, “Can you guarantee twenty-four hours?”

Oliver replied, “No. I can guarantee we will not be steered.”

Marianne’s mouth tightened. “That is not an answer.”

Rita said, “It is the only honest one.”

Claire watched Marianne’s face. She looked like someone who wanted a promise because promises feel like control. In incidents like this, promises are often lies.

Aisha wrote, “We can keep a minimal emergency build path for urgent patches, but it must be fully offline and deterministic. No network. No caches. No shared identities. Two humans present.”

Edward nodded. “We can set up a clean room build. It will be slow, but it will exist.”

Marianne’s voice softened slightly. “Okay. Do that. But communicate. We cannot surprise teams.”

Claire thought of the attacker reading communication and smiled without humor.

“Surprise is now a security feature,” she said.

Marianne shot her a look. “Do not be cute.”

Claire replied, “I am not. I am accurate.”

Oliver said, “We freeze builds.”

Rita nodded. “Approved.”

Edward exhaled. “Executing. Build pipeline pause. Runner manager identity revocation. New identity will be created.”

Claire watched the move happen. It was a cut that would hurt. But the artery had to be clamped.

***

While builds froze, Connor prepared for partner confrontation.

He walked into the war room with a new posture. He was not trying to sell. He was trying to survive.

“I have a call with Caleb in forty minutes,” he said. “He asked to bring their security lead.”

Claire said, “Good.”

Connor looked at her. “Good?”

Claire nodded. “If they are a victim, their security lead will want clarity. If they are adversary, their security lead will be theater.”

Connor swallowed. “We keep it factual.”

Oliver said, “We keep it procedural. We give them terms.”

Rita added, “And we do not reveal our bait or our fingerprint. Not yet.”

Claire nodded. “We do not teach them.”

Connor asked, “What are the terms?”

Rita wrote them on paper.

One. Their integration remains disabled until they complete a security review.

Two. They provide logs from their environment for the relevant period.

Three. They rotate credentials and rebuild any automation that touched the integration.

Four. They accept a safe support path that does not include any privileged diagnostic lever.

Five. They sign an addendum acknowledging that misuse of integration endpoints is grounds for termination.

Marianne’s voice came through the speaker. “We cannot demand logs from a partner.”

Rita replied, “We can demand cooperation as a condition of integration.”

Marianne said, “Legal will object.”

Oliver said, “Legal can object. Security will act.”

Claire added, “We are not demanding. We are offering a choice. Cooperate or separate.”

Connor looked pale. “They will not like that.”

Claire replied, “Good.”

Connor nodded slowly. “Okay.”

The call began.

Caleb’s face appeared on the screen, calm, polished, almost friendly. Beside him sat a woman with sharp eyes and a tight mouth. Her name tag read Evelyn.

Caleb smiled. “Connor. Claire. Thank you for making time.”

Connor did not mirror the smile. “We need to discuss your integration.”

Evelyn spoke first. “I am Evelyn. I lead security for our platform operations. We are concerned. Your service disruption impacted us.”

Claire replied, “We understand. We detected misuse of privileged diagnostic pathways. We disabled the pathway. We are hardening.”

Caleb’s smile faded slightly. “We did not misuse anything.”

Claire said, “We are not accusing you. We are stating that the pathway was used in a way that is not safe. We will not restore it.”

Evelyn leaned forward. “What evidence do you have that the pathway was misused?”

Claire chose her words carefully. “We observed access requests through your integration endpoints outside expected patterns. We observed automated requests that attempted to leverage authority names. We observed attempts to induce our team to bypass verification. Those behaviors are consistent with compromise.”

Evelyn’s eyes narrowed. “Consistent with compromise of your system or ours?”

Claire replied, “Yes.”

Evelyn said, “So you do not know if the problem is us?”

Claire said, “We know the lever was used through your path. That is enough to disable it until verified.”

Caleb exhaled sharply. “This is punitive.”

Rita spoke, her voice calm and flat. “This is boundary.”

Evelyn looked at Rita. “Who are you?”

Rita replied, “Governance. I approve changes. I am telling you the change is not approved.”

Evelyn’s mouth tightened. “We are partners.”

Rita replied, “Partnership does not override safety.”

Caleb tried to smooth. “We can find a compromise.”

Claire said, “We are not here to compromise on privilege. We are here to offer terms for re-integration.”

She read the terms, one by one, without heat.

Evelyn listened. Caleb looked increasingly annoyed.

When Claire finished, Caleb said, “You cannot demand our logs.”

Claire replied, “Then you cannot have the integration.”

Caleb leaned back. “You are threatening termination?”

Rita said, “We are stating conditions.”

Evelyn spoke, her voice colder. “If we provide logs, what guarantees do we have they will be protected?”

Claire replied, “We will sign a confidentiality addendum. We will scope the request.

We will limit to relevant endpoints. We will treat your logs like evidence.”

Evelyn studied Claire’s face. “You sound like you have dealt with this before.”

Claire did not smile. “Yes.”

Evelyn looked at Caleb. “We should cooperate. If our environment is compromised,

we need to know.”

Caleb’s jaw tightened. “We do not have evidence we are compromised.”

Evelyn replied, “That is the point. We need evidence.”

Claire watched the exchange. This was the moment where the partner question could tilt.

If Evelyn had real power, the partner might cooperate. If she was theater, she would lose.

Caleb said, “We will consider your terms.”

Evelyn said, “We will provide logs for the relevant endpoints. But we will not sign a termination addendum.”

Rita replied, “Then the integration stays disabled.”

Caleb stared. “You are unreasonable.”

Claire said, “We are consistent.”

Evelyn’s eyes flickered. She looked like someone weighing a cost.

“We will sign a limited misuse clause,” Evelyn said slowly. “Not termination. A breach response clause.”

Rita said, “That may be acceptable.”

Marianne’s voice came through the speaker, sharp. “Do not concede too much.”

Claire ignored it. Marianne was not in the room. Her voice could be compromised.

The ritual said in person decisions.

Rita said, “We will have legal draft. Until then, integration remains disabled.”

Evelyn nodded. “Understood.”

Caleb’s smile returned, but it was thinner. “We expect prompt resolution.”

Claire replied, “We expect prompt cooperation.”

The call ended.

Connor exhaled like he had been holding his breath.

“That went better than I expected,” he said.

Claire replied, “It went real. That matters more.”

Oliver asked, “Adversary or victim?”

Claire thought. “Evelyn looked sincere. Caleb looked like pressure. It may be a compromised partner path, not an intentionally malicious partner. But we treat it as hostile until proven.”

Rita nodded. “Agreed.”

Connor asked, “What if they refuse?”

Claire replied, “Then we separate. We survive.”

***

The next lead came from the build freeze.

Edward revoked runner manager identity. Builds halted. A clean room build was established with two humans present, Aisha insisted on it, and a new runner manager identity was created with least privilege.

But when Edward attempted to create the new identity, the system refused.

Permission denied.

Claire’s heart rate jumped.

Edward posted, “Runner manager identity creation is blocked. The identity provider says insufficient privilege for platform admin.”

Oliver wrote, “That makes no sense. You are platform admin.”

Edward replied, “I am. But the system is denying based on a policy.”

Claire said, “Policy changed.”

Edward replied, “Yes. It looks like a policy was modified to restrict creation of new automation identities unless approved by a specific role.”

Rita asked, “Which role?”

Edward replied, “Executive override role.”

Marianne’s voice came through. “What is that?”

Claire’s mouth went dry. Executive override role was supposed to exist only on paper.

A theoretical role for emergency corporate governance, not used in day-to-day operations. A role that people assume is safe because it is rare.

Rare things are dangerous. Rare things are untested.

Aisha typed, “They changed policy to require a role that is hard to get. They are trying to prevent us from rebuilding.”

Oliver said, “Who has that role?”

Edward replied, “Marianne does.”

Silence in the room.

Claire looked at the speaker where Marianne’s face was framed in pixels.

Marianne’s eyes widened. “I did not change any policy.”

Rita said, “We verify.”

Rita called Marianne using the printed list. Marianne answered. She confirmed she was on the video feed and had not made any policy changes.

That did not matter. The policy still existed. The attacker had used the existence of an executive role to create friction in recovery.

They were using governance itself as a lever.

Claire felt anger rise. “This is how they win. They make recovery require authority.

They impersonate authority.”

Oliver said, “So we remove the dependency on executive override. We revert the policy.”

Edward replied, “Reverting requires the executive override role.”

Rita looked at Claire. “We need Marianne in person.”

Claire nodded. “And we need to treat Marianne’s device as suspect.”

Oliver said, “Bring her to the clean room. No laptops. No phones. Physical identity.

Then we use a known safe workstation to revert.”

Marianne’s voice tightened. “You are treating me like compromised.”

Rita replied, “We are treating everyone like potentially impersonated. That is not personal.”

Marianne stared. Then she said, “Fine. I will come.”

Claire watched her hang up and felt a strange sense of reversal. The executive was now subject to the ritual, not above it. That was necessary.

Two hours later, Marianne arrived in the war room.

She looked furious, but also frightened. Fury is often fear with sharper edges.

Rita met her at the door and said, “No devices.”

Marianne hesitated. Then she handed over her phone and laptop.

Rita placed them in a sealed bag.

Marianne said, “This is ridiculous.”

Claire replied, “Ridiculous is a deepfake voice calling Support as Oliver.”

Marianne’s mouth tightened. She said nothing.

They escorted her to the clean room, a small conference space with a single hardened workstation Edward had prepared. The workstation had no browser history, no personal accounts, no saved credentials. It was as close to a clean instrument as the company could make in a day.

Rita pulled up the identity policy and pointed.

“This policy blocks creation of automation identities unless the executive override role approves,” Rita said. “We need to revert it.”

Marianne stared at the screen. “I did not do this.”

Claire said, “We know. But your role is required to undo it. That is why the attacker did it.”

Marianne’s eyes flickered. She looked like she understood, finally, the nature of being a lever.

She breathed in. “Okay. Tell me what to do.”

Rita guided her through the approval. Marianne used her role to revert the policy. Rita confirmed the change. Edward attempted automation identity creation again.

Success.

Edward exhaled. “We are back.”

Claire felt a momentary easing, then forced herself not to trust it.

This was the competence moment. The dangerous moment. The moment where you want to believe you are winning.

The attacker was still there.

They would not let recovery be that clean without trying again.

***

That night, the partner delivered logs.

Evelyn sent them through a secure channel, along with a note that was short and almost blunt.

“We found anomalies,” she wrote. “We are concerned.”

Connor forwarded the note to Claire and Oliver. Connor did not gloat. He looked grim.

“They might actually be compromised,” he said.

Aisha opened the logs and began to parse. She did not read them like a person reading a story. She read them like a person reading a body.

At 1:12 a.m., she found the heart of it.

A set of automated requests was coming from a small virtual machine (VM) in the partner’s network, a software-based server named diag relay, short for diagnostic relay.

The machine used a distinctive client identifier, a label indicating what software was making the request. It was the same fingerprint they had seen before.

Aisha posted, “That same fingerprint appears in the partner’s logs. It comes from a virtual machine inside their network. That machine sent requests through the older transit route, an indirect path that forwarded traffic to the destination system. It also tried to contact our decoy endpoint, the bait address we created to lure the attacker into revealing themselves.”

Connor’s face drained. “So they are compromised?”

Claire said, “Or they are adversary and sloppy enough to leave a trace.”

Aisha replied, “The VM also contacted an external host for updates.”

Edward asked, “Which host?”

Aisha posted the domain.

It was not the mirror domain they had seen earlier. It was a different one. A domain that looked like a software update service, bland, almost corporate.

Claire stared. “That is their command and control.”

Oliver said, “Now we have infrastructure.”

Rita said, “We do not chase external without inside clean.”

Oliver nodded. “But we can coordinate with partner to take their VM offline.

That is inside their environment. It will stop that path.”

Connor said, “Evelyn will cooperate.”

Claire said, “We require them to isolate diag relay immediately.”

Connor nodded and drafted a message. Claire reviewed it. She removed any language that sounded apologetic. She added a single sentence that was procedural.

“Treat this as active compromise. Isolate now.”

Connor sent it.

Evelyn replied within ten minutes.

“Isolating. Also, we found the VM image was pulled from a third-party marketplace three months ago.”

Aisha read that line and felt the story deepen.

A third-party marketplace image. A supply chain inside their supply chain. The attacker had nested.

Claire wrote, “So they planted in the partner’s diagnostic relay. Then used partner integration to push into us.”

Edward added, “And used our runner manager to plant into our build.”

Oliver said, “That is the arc. They used partner as staging. Then used our supply chain to distribute persuasion. Then used our access automation to create drift.”

Claire nodded. “And now they are trying to stop recovery by blocking automation identity creation.”

Rita said, “They are strategic.”

Oliver said, “So we treat them as strategic.”

Aisha wrote, “We should assume their external host also talks to other victims.

The domain may be used across campaigns.”

Oliver replied, “We can coordinate with partner incident response. They can contact law enforcement. We focus on inside.”

Claire agreed.

But something in Evelyn’s note stuck with her.

The VM image was pulled from a marketplace three months ago.

That was long before their assistant drift began. Long before the mirror domain.

Long before the noise event. It suggested planning.

Claire asked Aisha, “Do we have any evidence the attacker touched our environment before six weeks ago?”

Aisha replied, “Possibly. The earliest fingerprint occurrence in our logs is six weeks.

But absence of logs is not absence of activity.”

Edward added, “We did not have full outbound logs at build time. We had blind spots.”

Claire nodded. The attacker had likely been inside longer than they knew.

And if they had been inside longer, they may have planted other arteries.

This was why wave three had to be the counterplay paying off. Not just chasing the fingerprint. Exposing the true foothold. Finding the arteries beneath the glass.

***

The next day, as partner isolated their VM, the attacker struck again.

Not with noise. With precision.

At 10:07 a.m., a request appeared in the identity policy system. It was a request to create a new executive override role member.

The request was submitted under Marianne’s identity.

The request asked to add a new user: a contractor account named Solis Consult.

Claire’s stomach tightened.

Oliver wrote, “Is it real?”

Rita wrote, “We verify.”

Rita called Marianne. Marianne was in a meeting with Claire and Oliver. She had not submitted it. Her phone and laptop were still sealed. The request was forged.

The attacker was trying to place themselves inside an executive role. They were trying to gain the power to block recovery again or to approve their own changes.

Rita wrote, “Denied.”

Claire wrote, “Audit how the request was submitted. If Marianne’s identity can be used without her device, we have an identity provider compromise.”

Edward replied, “Checking.”

Aisha added, “Or they have session tokens in the identity provider admin interface.

Or they compromised a system that can submit on behalf.”

Edward posted within minutes.

“The request came from a service account,” he wrote. “Not from Marianne’s device.

The service account is used by a workflow automation tool that processes role membership requests.”

Claire’s blood went cold.

Workflow automation.

Another artery.

A system meant to reduce friction in governance. A system meant to make requests easier.

Easier is dangerous.

Oliver wrote, “Disable the workflow automation tool?”

Marianne wrote, “No. That tool runs multiple business processes.”

Rita wrote, “It will be disabled for identity role changes. Immediately.”

Edward replied, “We can restrict it.”

Claire wrote, “Restrict. Do not disable everything. But stop it from touching executive roles.”

Edward replied, “Applying restrictions. Now.”

Rita wrote, “Also, any request to change executive roles must be submitted only through in person governance for the next seven days.”

Marianne wrote, “Seven days is long.”

Rita replied, “Compromise is longer.”

Claire felt something shift again. The attacker was being forced to reveal additional arteries. Workflow automation. Support tooling. Build runner manager. Gatekeeper. Partner integration. Identity provider policies.

The building was learning its own body by watching where it bled.

That is a brutal way to learn. It is also effective.