01
Application Security
Where untrusted data meets the application: enforcing validation and encoding at the boundary, the string-concatenation decision at the root of injection-class vulnerabilities, configuring cross-origin access correctly on the server, security headers and transport-layer hardening, storing and rotating secrets, managing dependency risk with a version policy, the audit log for traceability, and abuse defense against bots, brute force, and enumeration.
- 01 Input Validation and Encoding Enforcing the untrusted-data boundary: the false-accept and false-reject counts of the allowlist versus the blocklist over a set of twenty-two requests, the wasted-side-effect cost of stopping validation at the endpoint, the service, or the store, the number of values a single encoder breaks across three output contexts, and the field a single-line setting silently opens.
- 02 Injection-Class Vulnerabilities Measuring query, command, and template injection from a single root: how many unexpected results ten legitimate search inputs produce in a concatenated query, how many of six report labels break when passed as a single string, how many of five note texts change when written into a template body, and how many of twelve call sites use concatenation.
- 03 Cross-Origin Resource Sharing The server-side configuration of cross-origin sharing: how many of seven origins each of four settings lets the response be used for, how many origins a wildcard setting opens, how a wildcard setting on a credentialed request returns 200 on the server while being silently dropped on the client, the round-trip cost of a preflight request, and how many endpoints carry the policy.
- 04 Security Headers and TLS The server-side measure of transport-layer hardening: how many write sites six security headers occupy across ten endpoints, the eleven files touched by migrating to a single layer, the number of obligations a missing header and a written-but-ineffective value drop without producing an error, and the false accepts and false rejects a forwarded protocol header produces under three settings.
- 05 Secrets Management Three measures of a secret in production: how many requests verify with which version during the window where two keys are valid together while rotating, how long a leaked value stays valid when the cleanup step is skipped, and the false-accept and false-reject counts of a scan that looks for a value hardcoded in the source.
- 06 Dependency Risk A version policy is a configuration decision: five policies are run over the same dependency tree and the accumulated exposure days and broken upgrades are counted; the silent outcome of a loose version range is measured by how many packages diverge between two deployments of the same source version.
- 07 Audit Logging Four measures of the traceability requirement: which decision points get logged and, as a result, how many questions can be answered, what the hash chain catches — a change to the body — and what it cannot — cutting the tail — the personal data the log itself carries, and the effect of retention on volume.
- 08 Abuse Defense Two configuration decisions in abuse defense: which key the limit is applied to (client, account, resource) and whether the response gives away whether a record exists; the attempts lockout stops and the legitimate members it locks out are counted in the same run.