Home
VAPT Web Application PentestAPI PentestMobile App PentestInfrastructure PentestAI & LLM PentestOT / ICS PentestIoT PentestPenetration TestingAll VAPT services
Red Team Red Team EngagementAdversary SimulationAssumed BreachPurple TeamingSocial Engineering
CompanyResourcesBlogFree Consultation

Detection decay: keeping purple team rules working after the session

Rules written in a purple team session pass under test conditions and go quiet later. This is what to run in the weeks after so the content survives.

Joel Aviad OssiJoel Aviad OssiRed Team Lead, RedTeam Security
7 min read
A workbench holding a tripwire strung between two brass posts, one post shifted so the wire sags, beside a calibration weight, a small oil can and a closed ledger.

Key takeaways

  • A rule that fired on session day proved that the logic matches the procedure when the telemetry arrives, and nothing about November.
  • Soak new content in monitoring mode for two weeks before it reaches an alerting queue, then tune by excluding identities and image paths rather than by widening the pattern.
  • Keep a short record with each rule saying what it keys on, when it was last validated and what would break it, in the same version control as the rule itself.
  • Count a technique as covered only when a rule for it fired against a real procedure on a date you can name.
  • Re-run the same entries a quarter later; the second run measures decay, which is the number the first session cannot produce.

What the session actually proved

On the day, a detection fired under conditions you controlled: a named test host, an operator running a written procedure from a known account, at a time when everyone in the room was watching. That is the right way to validate content, and it is a narrow claim. It says the logic matches the procedure when the telemetry arrives. It does not say the telemetry will still arrive in November, that the rule survives the next agent policy push, or that an analyst who has never seen the alert will act on it at two in the morning.

The distance between those two statements is where purple team output gets lost. Rules are written, the report is signed, and nothing is re-run until the next exercise finds part of the set silent. How a purple team session runs, hour by hour covers the day itself. This article is the part after it: what to run in the weeks that follow so the content you paid for is still content you hold.

The first two weeks: soak before you alert

A rule that goes straight from a session into a paging queue is a rule somebody will switch off. Run it in monitoring mode first, writing to a log or a low priority queue where nobody is woken. Two weeks is a workable soak for content keyed on process or identity behaviour, because it covers a full working cycle: a weekend, a patch window, and whatever runs at month end.

You are reading three things during the soak. How often the rule fired, what fired it, and how much of that was the behaviour you meant. A rule that fires forty times a week from three service accounts is not broken, it is untuned, and the fix is to exclude by identity or image path rather than to widen the pattern. A widened pattern is how a rule quietly stops matching the procedure it was built for. Rules that come through the soak get promoted with a written response step attached. Rules that produced nothing at all need checking before they are trusted, because silence can mean the estate is clean and it can mean the log source moved. If a rule is silent, the telemetry conditions that have to hold before any detection works are the first place to look.

The detection record, and the name attached to it

Rule content on its own is not maintainable. What makes it maintainable is a short record stored beside it, in the same version control, saying what it keys on and what would break it. Detection held only inside a provider's console is content you can read and not content you can review, which is the practical argument for insisting on ownership in the contract. NIST SP 800-92 treats log management as an operating process with owners and review cycles rather than a configuration set once, and detection content sits one level above it with the same requirement.

An example of the form, for a single rule. It is illustrative rather than drawn from any engagement, and it is deliberately short enough that somebody will actually fill it in.

Every field there answers a question somebody asks later, usually at the worst moment. Most of it can be written while the session is still running: the technique list built before the session already carries the procedure and the expected data source, so the record is largely a copy with the result and the noise notes added.

An example detection record, kept in version control alongside the rule it describes.
FieldExample entry
TechniqueT1003.001, credential material read from LSASS memory
Data sourceProcess access events from the endpoint agent, not Windows 4688
Logic keys onHandle request to lsass.exe with read rights from a non-allowlisted image
Last validatedSession of 12 March, procedure 4, alerted 41 seconds after execution
Known noiseTwo backup agents and one scanner, excluded by signed image path
Breaks ifAgent policy stops forwarding process access events from that group
OwnerNamed detection engineer, review at quarter end

Four changes that break a working rule

None of these throws an error. The rule stays enabled, the dashboard keeps counting it, and it stops matching anything. Each one is found by watching something other than the rule.

A rule that has not fired in ninety days is either a technique nobody attempted or a rule that no longer works, and the console cannot tell you which. Health checks belong in the same pipeline as the content: alert on the absence of an expected log source, not only on the presence of an attack. NIST SP 800-137 is written around ongoing awareness rather than a point in time assessment, and a detection estate is one of the few places where that distinction is measurable rather than rhetorical.

Common estate changes, what each does to a validated rule, and the signal that surfaces it.
ChangeEffect on the ruleWhat surfaces it
Endpoint agent policy trimmed to reduce event volumeThe data source empties and the rule never firesLog source volume monitoring, not the rule
Pipeline renames a field or reroutes an indexLogic references a field that no longer existsSchema validation and a parse error queue
Workload moves to another tenancy or a managed serviceEvents land where the rule does not readAsset inventory reconciled against log coverage
Licence tier reduces retention or drops a tableThe rule still fires, the evidence window closesRetention review at contract renewal

Counting coverage without flattering yourself

Coverage claims are where this quietly goes wrong. A dashboard reading 180 techniques covered is usually counting rules written, not rules validated, and the two numbers diverge from the week the session ends. Count a technique as covered when a rule for it fired against a real procedure on a date you can name, and stop counting it when that date is older than your re-test interval. Everything else is a rule that exists.

Coverage is also bounded by collection, not by rule count. ATT&CK data sources describe the telemetry a technique detection depends on, and two rules reading the same source are one point of failure rather than two covered techniques. That is the number an objective-based Red Team engagement tests without asking permission: if the claim is 180 and an operator walks past all of them, the gap was in the counting rather than in the operator.

The re-run, and what it measures

Re-run the same entries from the same written procedures a quarter later. It costs less than the first session because the list, the records and the environment access already exist, and it produces a number the first session cannot: decay. Rules that fired then and are silent now, verdicts that slipped from detected to logged only, response steps that name a rota which has since changed. A purple team engagement that ends in content your team owns is what makes the second run a comparison rather than a fresh start, and it is the reason to care where the rule content lives.

When re-runs stop producing changes, the question has moved on. What is left to test is whether the content fires when nobody is expecting it, which is a different exercise: an assumed breach engagement starts from a foothold you grant and runs without the detection team being told what to watch for. The NIST Cybersecurity Framework places tests and exercises under improvement, where the expected output is a change to the programme. A re-run that changes nothing and an exercise that changes nothing are different results, and only one of them is good news.

What a supervisor in Abu Dhabi or Dubai asks for months later

Four regimes name security testing for organisations operating in the UAE: the Central Bank for licensed financial institutions, the Dubai Electronic Security Center for Dubai government entities and the suppliers who serve them, ADHICS for healthcare in Abu Dhabi, and the federal Information Assurance Standards published by NESA. Read the one that binds you rather than a summary of it, because what each asks an entity to hold differs. What they have in common as a practical matter is timing: the question arrives long after the exercise, and a dated screenshot of an alert from a previous quarter is a weak answer to it.

The artefact that answers it in either emirate is the same one described above. A record per rule, with a validation date, a named owner and a re-test interval, is a description of a capability held over time rather than an event that happened once. A Dubai government supplier evidencing controls at contract award and an Abu Dhabi healthcare entity evidencing them under ADHICS are asking their detection team for the same file. Whether the entity is licensed in a free zone or on the mainland changes who supervises it and what the contract says; it does not change whether the rule still fires this morning.

Frequently asked questions

How long should a new detection rule run before it becomes an alert?

Two weeks in monitoring mode is a workable default for content keyed on process or identity behaviour, because it spans a weekend, a patch window and a month end cycle. During that period you are measuring firing frequency and what is producing it, then excluding known benign sources by identity or image path. Promote the rule to an alerting queue once it has a documented response step and a firing rate a team can absorb.

Who should own detection rules built during a purple team session?

Your team, in your version control, in your platform's syntax. Content that lives only inside a provider's tooling stops being available the moment the engagement ends, and a rule you cannot edit is not a capability you hold. Name an individual owner per rule or per rule set, with a review at quarter end, so a change to the estate has somebody to reach.

How often should a purple team session be repeated?

Quarterly re-runs of the same technique list are enough to expose decay, because they measure the same procedures against a changed estate. A larger session with new entries is a separate decision, driven by changes in what you are defending or in the threats you are modelling. The re-run is the cheaper of the two and it is the one that tells you whether the previous session still counts.

Does a rule passing in a session mean it works in production?

It means the logic matched the procedure while the telemetry was arriving, on a host chosen for the test, at a moment when people were watching. Production adds volume, unfamiliar analysts, and an estate that changes underneath the rule. The soak period, the response step and the re-run are what convert a validated rule into a working one.

The engagements this applies to

Joel Aviad Ossi, Red Team Lead at RedTeam Security
Joel Aviad OssiRed Team Lead, RedTeam Security

Joel Aviad Ossi is Red Team Lead at RedTeam Security, the Dubai-licensed trading brand of WebSec FZCO. He scopes and runs objective-based engagements across the UAE.

Let's talk about your security

Tell us the objective you want tested. We will come back with a scope, a timeline and a quote, under NDA from the first conversation.

Email [email protected]
IFZA Business Park, Building A2
Nadd Hessa, Dubai Silicon Oasis
Dubai, United Arab Emirates