exploit
/ˈɛkˌsplɔɪt/A piece of code that takes advantage of a security weakness to attack a system.
Example: Hackers used an exploit to access customer records.

C222 words · Proficient
Expert IT vocabulary for security and systems reliability, including an exploit, a zero-day vulnerability, a race condition or memory leak, and the chaos engineering used to test for them.

A piece of code that takes advantage of a security weakness to attack a system.
Example: Hackers used an exploit to access customer records.

Describes a software flaw that is exploited by attackers before the developer has a chance to fix it.
Example: The attack used a previously unknown zero-day flaw.

Deliberately making code difficult to read or understand, often to protect it or hide its purpose.
Example: The malware used obfuscation to avoid detection.

A software bug that occurs when the outcome depends on the unpredictable timing of two processes.
Example: A race condition caused the order to be charged twice.

A software fault where a program fails to free space it no longer needs, eventually slowing or crashing the system.
Example: A memory leak made the app slower the longer it ran.

The automated management and coordination of multiple software systems or containers working together.
Example: Orchestration software restarts any container that crashes.

Describes data or infrastructure that cannot be changed once it is created, only replaced.
Example: The system treats each deployment as an immutable version.

A software bug where data spills past the memory space set aside for it.
Example: The hacker exploited a buffer overflow to run malicious code.

An attack where someone secretly intercepts and can alter communication between two parties.
Example: Public wifi made the laptop vulnerable to a man-in-the-middle attack.

Splitting a large database into smaller, separate parts to improve performance.
Example: Engineers used sharding to spread user data across multiple servers.

A failure where a component gives conflicting information to others.
Example: One byzantine fault is harder to handle than ten clean crashes.

A state where two halves of a cluster both believe they are in charge.
Example: Split brain wrote to both databases and nobody noticed for a day.

The minimum number of nodes that must agree for a decision to stand.
Example: Losing quorum froze the whole cluster, which is the correct behaviour.

A signal telling a fast producer to slow down.
Example: Without backpressure the queue grew until the memory ran out.

Many clients retrying at once and overwhelming a recovering system.
Example: The thundering herd took the service down again ninety seconds later.

Deciding when stored data has become out of date.
Example: Cache invalidation is famously one of the two hard problems.

Learning secrets from timing or power rather than from the data.
Example: A side-channel attack read the key from how long the check took.

Compromising software by attacking one of its dependencies.
Example: The supply chain attack came in through a package nobody had audited.

Deliberately breaking things in production to prove resilience.
Example: Chaos engineering found three single points of failure in a week.

Feeding random input to a program to find crashes.
Example: A weekend of fuzzing produced eleven genuine security bugs.

How much is affected when one component fails.
Example: Splitting the service cut the blast radius to one region.

Manual repetitive work that ought to be automated.
Example: Half the team's week was toil and none of it was in the plan.
