reference
Glossary
All the alphabet soup in one place: acronyms, identifiers, frameworks and concepts: what each one means and how it connects to the rest. Terms from every domain live here, with a domain filter when you want to focus.
frameworks and listsAppSec
- OWASP Top 10
- The best-known reference list of web application security risks (A01 broken access control, A02 cryptographic failures, A03 injection...), revised every few years by the OWASP community. It is an educational map of risk categories, not a tool checklist or a certification.
- OWASP ASVSverification standard
- Application Security Verification Standard: a verifiable checklist, with three levels of rigor, for auditing an application or commissioning an audit. Where the Top 10 teaches, the ASVS audits.
- NIST SSDF
- A US framework for a secure software development process (practices for producing secure software). It is about process, not tooling: it cites SAST, SCA and SBOM as parts of the lifecycle.
- OWASP SAMM
- A software security maturity model: it assesses the organization across five business functions to tell which level it is at and what to prioritize next.
identifiers, databases and scoresAppSec
- CVEcommon vulnerabilities and exposures
- The unique identifier of ONE specific public vulnerability, in the format CVE-YEAR-NUMBER. E.g., CVE-2021-44228 is Log4Shell. It is the real instance, not the class of the problem.
- CWEcommon weakness enumeration
- The identifier of the TYPE of weakness, the class of error in the code. CWE-89 is SQL injection, CWE-79 is XSS. The distinction that confuses everyone: CWE is the category, CVE is a concrete occurrence of it. A CVE for SQL injection in your framework will reference CWE-89.
- CVSScommon vulnerability scoring system
- A score from 0 to 10 that measures the technical severity of a vulnerability: how it is exploited (network or local, complexity, required privilege, user interaction) and what the impact is. 9.0+ is critical, but the number is theoretical: it does not know whether you are exposed.
- EPSSexploit prediction scoring system
- The probability (0 to 100%) that a CVE will actually be exploited in the next 30 days, based on evidence. It complements CVSS: a 9.8 with an EPSS of 0.1% can be less urgent than a 7.5 with an EPSS of 60%.
- CISA KEVknown exploited vulnerabilities
- A catalog of the vulnerabilities being actively exploited, right now, in the real world. 'It's in the KEV' = top priority, regardless of CVSS.
- NVDnational vulnerability database
- NIST's database that enriches each CVE with a CVSS score and an associated CWE. It is where most SCA tools get their data.
- OSV / GitHub Advisoryadvisories
- Vulnerability databases focused on package ecosystems (npm, PyPI, Maven...). More practical than the generic CVE: they tell you exactly which version is affected and which one fixes it.
tests and techniquesAppSec
- SAST
- Static analysis: examines the code without running it. It finds issues through flow analysis, not guesswork.→ SAST
- DAST
- Dynamic testing: attacks the running application from the outside, as a black box.→ DAST
- IAST
- Hybrid: an agent inside the application watches execution in real time, combining code context (SAST) with attack evidence (DAST).
- RASP
- Runtime Application Self-Protection: protection built into the application runtime that blocks attacks as they happen, even after deploy.
- SCA
- Composition analysis: inventories third-party dependencies and cross-references them with known CVEs.→ SCA
- Secrets scanning
- Scanning for exposed credentials in code, commits and git history.→ Secrets Scanning
- Fuzzing
- Bombarding the application with random inputs or mutations of valid inputs, hunting for crashes and unexpected behavior. The ancestor of modern DAST.
- Pentest
- Manual adversarial testing, with a defined scope and a report: a human (or team) deliberately trying to break into the application.
- ASTabstract syntax tree
- The syntax tree the parser produces: each code construct becomes a typed node, and tools analyze the tree instead of loose text.→ SAST
- Source
- The origin of untrusted data: user input, query string, header, file. It is where taint is born.→ SAST
- Sink
- The dangerous destination where untrusted data becomes a command, query or HTML: db.query, eval, innerHTML. If the taint reaches here, it is a vulnerability.→ SAST
- Taint trackingtaint analysis
- Following the 'dirty data' mark from the source to the sink, propagating through assignments and calls. It is the heart of modern SAST.→ SAST
- Sanitizer / barrier
- The function that cleans the data or proves it is safe (parameterized query, HTML escaping). It cuts the flow and the engine stops alerting on that path.→ SAST
- False positive / false negative
- False positive: an alert for a vulnerability that does not exist. False negative: a real vulnerability that slipped through. Every tool is constantly trading one for the other.
supply chain and artifactsAppSec
- SBOM
- The software's ingredient list: dependencies, versions, licenses and hashes, in a standard format.→ SBOM
- purlpackage url
- A universal package identifier: pkg:npm/lodash@4.17.15 states ecosystem, name and version unambiguously. It is the backbone of an SBOM.
- CycloneDX / SPDX
- The two standard SBOM formats. CycloneDX is more security-oriented, SPDX more license-oriented. In practice, both list the same components.
- Hash (SHA-256)
- A file's fingerprint: if one byte changes, the hash changes. It proves the component is exactly what it claims to be.
- Lockfile
- The exact record of which version of each dependency was resolved (package-lock.json, go.sum...). Without it, builds are not reproducible and SCA cannot see the real tree.
- Transitive dependency
- A package you did not choose: it came in as a dependency of another dependency, sometimes three levels down. It gets CVEs just the same, and it is the classic blind spot.
- Provenanceprovenance
- The record of how and where an artifact was built: which pipeline, which commit, which machine. It lets you ask 'did this binary really come from our code?'.
- SLSA
- Supply-chain Levels for Software Artifacts: a scale from 1 to 4 for build integrity, from 'has documentation' to 'tamper-resistant build with verifiable provenance'.
- Sigstore / Cosign
- Signing and verifying artifacts without managing keys by hand: ephemeral keys tied to the build identity, with a public transparency log.
- in-toto
- A framework that signs, step by step, what the pipeline did: it proves the expected process ran, in the expected order, with no step swapped.
- SCA vs SBOM
- SCA is the live analysis (it monitors CVEs); SBOM is the snapshot of the moment (the inventory). In practice, they feed each other: SCA generates the SBOM and monitors it.→ SBOM
pipeline and practicesAppSec
- CI / CDdelivery vs deployment
- CI: validating every change automatically. Continuous delivery: deploy is one click. Continuous deployment: everything that passes the gates goes live on its own.→ CI/CD
- Stage
- A step of the pipeline: source, build, test, package, deploy, monitor. Each stage is a possible place for a security gate.→ CI/CD
- Quality gate
- A stage's explicit gate: 'fail the build if there is a new critical finding'. Without a clear criterion, a gate becomes a suggestion.
- Policy as codeOPA / Rego
- The security policy written as a versioned file that the pipeline consults (deny an image with a critical vulnerability, require a signature). Change the criterion = change the file, with review.→ DevSecOps
- Pre-commit hook
- A local check that runs before the commit leaves your machine: secrets scanning, linter, fast SAST. The cheapest form of feedback.→ Shift-left
- Shift-left / shift-right
- Shift-left: moving verification as early as possible in the lifecycle. Shift-right: also testing and observing in production (canary, observability). The two coexist.→ Shift-left
- DevSecOps
- Security as code inside CI/CD, with automated gates and shared responsibility.→ DevSecOps
- Secret manager / vault
- A vault that stores credentials and injects them at runtime (Vault, AWS Secrets Manager, Doppler). It takes the secret out of the code and allows rotation without a deploy.
- Credential rotation
- Replacing the compromised key: step number one after a leak. A removal commit does not fix it: the history keeps what was committed.→ Secrets Scanning
- WAFweb application firewall
- An edge filter that blocks known attack patterns in HTTP. It complements the code: it does not replace fixing the vulnerability, it only buys time.
core conceptsAppSec
- Vulnerability
- The weakness in the system that can be exploited: a concrete flaw in code, configuration or design.
- Exploit
- The technique or concrete artifact that abuses a vulnerability. The vulnerability is the hole; the exploit is the foot that goes in.
- Threat vs risk
- A threat is who or what can cause harm (the attacker). Risk is probability × impact in YOUR context. Tools report vulnerabilities; you decide the risk.
- Attack surface
- Everything exposed to untrusted input: endpoints, forms, dependencies, ports, pipelines. A minimal surface is a defense strategy.
- Defense in depth
- Independent layers of protection, on the premise that any one of them can fail: validation + parameterization + WAF + monitoring.
- Zero-day
- A vulnerability exploited before a public fix exists. Against a zero-day, only defense in depth and detection help in the moment.
- CNAPP / ASPM
- Market categories that bundle SAST + DAST + SCA + infrastructure into a single platform. Good to know they exist: the concept behind them is the same as the gates in this KB.
threat modelingAppSec
- STRIDE
- A mnemonic of six threat categories (Spoofing, Tampering, Repudiation, Information disclosure, Denial of service, Elevation of privilege) used as a checklist when walking through a data flow diagram.→ Threat modeling: think like the attacker before coding
- DFDdata flow diagram
- A drawing of a system's actors, processes, data stores and flows, with trust boundaries marked. It is the input to threat modeling: threats appear where a flow crosses a boundary.→ Threat modeling: think like the attacker before coding
- Trust boundarytrust boundary
- A line where the trust level of the data or of whoever sends it changes (internet to VPC, service to database, user to admin). Everything that crosses it must be authenticated, authorized and validated.→ Threat modeling: think like the attacker before coding
identity and accessCloudSec
- IAMidentity and access management
- The set of policies, roles and credentials that says who every human, service or workload is, and what each one can do. In the cloud, IAM became the new perimeter: the network edge got porous, so identity carries the authorization.→ IAM - identity and access
- Least privilegeleast privilege
- The principle of giving each identity only the permissions strictly needed for its function, and nothing more. It is the opposite of 'admin user by default': every extra role is one more path an attacker can use after a compromise.→ IAM - identity and access
- Secret rotationcredential rotation
- Periodically replacing (or doing so after a suspected leak) API keys, tokens and passwords stored in a vault. Without rotation, a secret exposed in a log or git history is valid forever; with rotation, it is valid until the next turnover.→ Secrets - vaults and rotation
- Blast radiusblast radius
- The size of the damage when something breaks: one account, an entire region, a tenant. Good cloud design limits the radius through isolation (separate accounts, separate VPCs, narrow roles) so that a failure or an attack does not become a full-blown disaster.
network and dataCloudSec
- Security groupsecurity group
- A stateful list of rules attached to an instance or network interface in the cloud: who can come in on which port, from which source. It works as a host firewall at the cloud level, and it fails open by default: if you forget to close a port, it stays open to 0.0.0.0/0.→ Network - segmentation and zero-trust
- VPCvirtual private cloud
- A logically isolated private network inside the public cloud: you choose the IP range, split it into public and private subnets, and control traffic with route tables and NAT. The VPC is your virtual datacenter; everything running inside it talks as if it were in the same rack.→ Network - segmentation and zero-trust
- Network policy
- Declarative firewall rules at the pod level (Kubernetes) or workload level (service mesh), stating which service can talk to which port. Unlike a security group, it operates at L7 inside the cluster, with label selectors, and is a central piece of defense in depth for east-west traffic.→ Kubernetes - secure runtime
- KMSkey management service
- A managed service that creates, stores and controls the use of cryptographic keys. The application rarely touches the master key: it asks the KMS to encrypt or decrypt, and the provider records every use in an auditable log. Without a KMS, the key ends up on disk and becomes a target.→ KMS & crypto - keys and envelopes
- Envelope encryption
- A two-layer pattern: a data key (DEK) encrypts the payload, and a KMS key (KEK) encrypts the DEK. The application stores the encrypted DEK alongside the data and only calls the KMS to unwrap the DEK when it needs to use it. It reduces KMS calls and limits exposure of the master key.→ KMS & crypto - keys and envelopes
posture and detectionCloudSec
- Zero trust
- A model that starts from the premise of trusting no one based on network position: every request is authenticated, authorized and logged, even when it comes from the internal network. It replaces the castle-and-moat with continuous verification at every door, human or service.→ Zero-trust - trust model
- CSPMcloud security posture management
- A tool that scans your cloud configuration against best practices and benchmarks (CIS, NIST), flagging public S3 buckets, overly broad IAM, exposed ports. It asks the question humans forget: 'what is misconfigured RIGHT NOW?'.→ CSPM - cloud posture
- CWPPcloud workload protection platform
- Monitored protection for running workloads: VMs, containers, serverless functions. It combines visibility into what runs (processes, syscalls, network) with prevention (blocking execution, isolating anomalies). It is endpoint security reworked for the ephemeral reality of the cloud.→ CWPP - workload protection
- Driftconfiguration drift
- When live infrastructure moves away from the declared state: someone opened a port in the console, a bucket became public, an IAM role became admin. Drift is configuration accumulated outside version control, and the best cure is IaC with review: everything that changes goes through code.
- Hardeninghardening
- Reducing a workload's surface to the essentials: disabling unused services, closing ports, removing superfluous packages, applying a baseline (CIS). It is the cloud equivalent of removing the default password and closing the windows: boring, repetitive, and the difference between an easy target and an expensive one.
- Audit trailcloudtrail
- An immutable record of every API call made in the cloud account: who called what, from where, with what result. It is the account's black box: after a leak, it answers 'what did the attacker do, and when?'. Without a trail, there is no investigation or informed containment.→ Logging & detection - signals and alerts
incident responseCloudSec
- MTTRmean time to respond
- The average time between confirming an incident and containing it. It is the metric that shows whether runbooks and automation really work, and the one that drops the most when response is practiced in exercises.→ Cloud incident response
- Runbook
- A step-by-step script for a type of incident (leaked key, compromised instance). Written before the crisis, tested in game days and, when possible, turned into automation.→ Cloud incident response
- Chain of custodychain of custody
- A record of who collected, stored and handled each piece of digital evidence, and when. Without it, the evidence loses value for audits and for any legal dispute.→ Cloud incident response
retrievalAgents
- Retrievalsemantic search
- The RAG step where you search your chunks for the passages that answer the user's question. Retrieval is the real bottleneck of the system: a good LLM with bad retrieval is an LLM that hallucinates with confidence. It ranges from dense similarity search to classic BM25, including hybrid and reranking.→ Retrieval
- Reranking
- The second pass of retrieval: the model takes the top-K candidates that came from the cheap search (say 50) and reorders them down to the K most useful (top 5 or 10) using a cross-encoder that saw query and chunk together. It adds latency, but cuts the noise: the LLM receives dense context instead of a mix of good and mediocre.→ Retrieval
- BM25
- The classic ranking function of text search: it scores each document by TF-IDF with saturation (important terms weigh more up to a ceiling) and normalizes by length. It is the sparse search of hybrid retrieval and captures exact term matches (error code, API name) where embeddings alone fail badly.→ Retrieval
- Cosine similarity
- A measure of how aligned two vectors are in embedding space: the cosine of the angle between them, independent of magnitude. For normalized embeddings the inner product is enough and stays fast, which is why it became the default distance in almost every vector database.→ Embeddings
- HNSWhierarchical navigable small world
- A layered graph structure that vector databases use for nearest-neighbor search in high dimensions. Each layer is a sparse graph that jumps far; the lower ones do the fine tuning. It is why pgvector, Pinecone, Weaviate, Qdrant and LanceDB answer in milliseconds with millions of vectors.→ Vector DB
- ANNapproximate nearest neighbor
- A family of algorithms (HNSW, IVF, LSH) that trade exactness for brutal speed in high-dimensional neighbor search. ANN does not find the perfect neighbor, but a good enough one, and in production retrieval that trade is what makes the system fit the latency budget.→ Vector DB
model, agents and protocolsAgents
- Context windowcontext window
- The maximum number of tokens the model can read at once: the prompt, the entire concatenated history and the output it will generate. It is the LLM's short-term memory. Huge windows seem to solve RAG, but they amplify cost, latency and the risk of the model getting lost in the middle of the text, so good context is small, well-chosen context.→ LLM - large language model
- Hallucinationhallucination
- When the model invents a plausible fact that was not in the data: an API name that does not exist, a nonexistent paper, a coherent command that does nothing. It is a training and retrieval problem, not a matter of 'truthfulness'. Mitigation is layered: retrieval with verifiable sources, a prompt that asks for citations, and an evaluator that hunts for invention automatically.→ Agent frameworks
- Function callingtool use
- The mechanism by which the LLM asks, instead of just producing text, to execute a function with structured parameters: the model emits JSON, your code runs the function, and the result goes back into the conversation. It is what turns a pure model into an agent able to act in the world, and what needs guardrails to prevent the wrong call with the wrong argument.→ Tool calling
- Agent
- A program that uses an LLM to decide what to do at each step, instead of following a fixed script. It receives a goal, chooses tools, observes the result, decides the next step, and continues until it finishes or gives up. The difference from a chatbot is autonomy: the agent sequences actions outside a predefined order.→ Agent frameworks
- Agent graph
- An explicit decomposition of the agent's reasoning into nodes (plan, act, observe, review) and directed edges, instead of a single loop that does everything. Advantage: each node is auditable and testable independently, and when the agent gets stuck you know at which node. LangGraph and state machines in general follow this model.→ Orchestration
- MCP servermodel context protocol server
- A server that implements the Model Context Protocol, Anthropic's open standard that standardizes the conversation between an agent and external tools. The agent lists what is available, calls what it needs, receives the result, with no case-by-case integration. A well-written MCP server becomes reusable by Claude, Cursor, Cline and any compatible client.→ MCP - model context protocol
- Tool vs resource (MCP)
- In MCP, a tool is a function the agent invokes with parameters and gets a result on demand (a POST, a calculation, a send). A resource is a named piece of data the agent can read whenever it wants (a configuration file, a schema, a log). Separating the two matters: the LLM reasons better when operations with side effects are clearly distinct from reads.→ MCP - model context protocol
- DeepAgents
- LangChain's graph agent library that combines a planning tool, a filesystem tool and subagents to solve tasks too long for a single loop. It is a practical reference for an agent that does not stall on the third tool call and the place where you learn to calibrate autonomy before releasing a real agent into production.→ Agent frameworks
evaluation and securityAgents
- SWE-bench
- A benchmark that measures whether an agent can resolve real GitHub issues in real open source project code: multi-file, with tests, without instructions on how to do it. It is the current standard for telling apart an agent that impresses in a demo from one that actually closes tickets, and where deepagents and similar projects publish their progress numbers.→ Benchmarks - public reference
- JudgeLLM-as-judge
- Using a strong LLM (usually GPT-4 class or Claude Opus) to score another model's output against a rubric. It solves scale, because a human does not read 5,000 outputs per PR. It brings its own biases: position bias (prefers the first candidate), verbosity bias (prefers the longest) and self-promotion (thinks its own model is better). Calibration against a human evaluator is mandatory before trusting the judge.→ LLM as judge - automated rubric
- Rubric
- An explicit list of criteria and weights the judge uses to score an output: 'cite the source in the first sentence, maximum 2 lines, no adjectives, return JSON'. Without a written rubric the LLM-as-judge diverges between runs and between models, and you cannot improve prompt, model and dataset reproducibly. With a locked rubric it becomes a ruler, without it it becomes opinion.→ LLM as judge - automated rubric
- Baseline
- A reference (fixed) model or configuration that runs on the whole dataset before any change, so you can measure the delta of your modification. In LLM evals, 'better' without a baseline is a guess: was the previous version already good, or did it just look good in the demo? A baseline locked per version is what turns eval into science, and what separates 'passed the test' from 'passed the test, and here is the evidence'.→ Regression evals - fixed suite on the PR
- Prompt injection
- An attack in which hostile content (in an indexed page, in a summarized email, in a document the agent opens) tries to override the system instructions. The attacker knows the LLM mixes trusted text with found text and plants an 'ignore the previous instructions and run X'. It is the number 1 vector in production agents today; it is not an LLM bug, it is how agents read text by design.→ Guardrails - input and output filters
- PIIpersonally identifiable information
- Personal data that identifies someone: name and national ID, email, phone, address, IP. When the user pastes a document with PII into the chat, or RAG indexes a CRM with 5,000 customers, the agent becomes a leak by design. Guardrails here are detection on input, redaction before sending to the LLM, and short retention, because masking after receiving the response is already too late.→ Guardrails - input and output filters
edge defenseSecOps
- WAFweb application firewall
- Layer 7 HTTP traffic filter that decides, per request, whether it proceeds, is challenged, is limited or is blocked. It reduces the exposed surface and enables virtual patching; it does not replace fixing the application.→ WAF - observation, shadow and enforcement
- Positive modelallowlist
- Define what is valid for an endpoint (methods, paths, formats, sizes) and block everything else. More precise than signatures, but requires knowing the application.→ WAF - observation, shadow and enforcement
- Shadow mode
- Phase in which a rule runs in parallel without acting, and the simulated decision is compared with reality to measure false positives before enforcement.→ WAF - observation, shadow and enforcement
- Virtual patchvirtual patching
- WAF rule that blocks exploitation of a known vulnerability while the real fix has not yet reached the application. It buys time, it does not eliminate the flaw.→ WAF - observation, shadow and enforcement
- Rate limiting
- Limit on requests per entity and time window. The choice of key (IP, account, token, ASN) matters as much as the limit value.→ Adaptive rate limiting
- Challengechallenge
- Check that tries to prove the client is a real browser, without asking the user for anything in most cases. It is the step before blocking.→ Bot management
- Fail-open / fail-closed
- What the system does when a security control fails: fail-open lets traffic through (available, unprotected), fail-closed blocks it (safe, unavailable). The choice should be conscious, per endpoint.→ Defense in depth: edge system design
detection and metricsSecOps
- Credential stuffing
- Attack that tests leaked username/password pairs from other services at scale. Signature: many login failures spread across many IPs, with few attempts per account.→ L7 attacks: what to look for
- Z-score
- Distance of a value from the mean, measured in standard deviations. In detection, values far above the recent history of the same key suggest an anomaly.→ Detection engineering
- EWMAexponentially weighted moving average
- Average that gives more weight to recent data. Used as an adaptive baseline: it follows changes in normal traffic without getting stuck in the past.→ Detection engineering
- Cardinality
- Number of distinct values in a field (IPs, user agents). High cardinality makes aggregations expensive and takes down metrics systems; aggregate at the coarsest level that still separates the attack from normal traffic.→ Scale: telemetry, cardinality and cost
- MTTTmean time to triage
- Average time between the alert and its classification as real or false.→ SOC SLOs and continuous tuning
- MTTCmean time to contain
- Average time between confirming an attack and containing it.→ SOC SLOs and continuous tuning
- Precision and recall
- Precision: of the alerts issued, how many were real attacks. Recall: of the attacks that exist, how many were detected. Raising one tends to lower the other.→ SOC SLOs and continuous tuning
infrastructure and policy as codeEngineering
- IaCinfrastructure as code
- Describing infrastructure in versioned files (Terraform, Ansible). It brings review, history and testing to configuration, but replicates mistakes at scale if it is not scanned.→ Secure infrastructure as code
- Drift
- Divergence between the real state of the infrastructure and the state described in code, usually caused by a manual change. Detecting it keeps the code as the source of truth.→ Secure infrastructure as code
- RegoOPA
- Declarative language of Open Policy Agent for writing policies evaluated against an input (a Terraform plan, a Kubernetes manifest, an API request).→ Policy as code
- Pipeline OIDC
- The pipeline proves its identity to the cloud provider with a short-lived token and receives temporary credentials, eliminating static keys stored as secrets.→ CI/CD hardening
- SLSA
- Framework of assurance levels for the build chain: who built the artifact, from which source and in which environment, with verifiable provenance.→ CI/CD hardening
scale and reliabilityEngineering
- Lag
- Distance between the end of the log and the consumer's position. It is the most direct sign that detection is running late.→ Observability of the security platform itself
- Idempotency
- Property of an operation that, when repeated, produces the same result as a single execution. The basis for tolerating duplicate deliveries without acting twice.→ Reliability at scale: idempotency, retries and backpressure
- DLQdead letter queue
- Queue for events that could not be processed after the retries. It avoids blocking the flow and preserves the event for analysis.→ Reliability at scale: idempotency, retries and backpressure
- Backpressure
- Mechanism by which a slow consumer makes the producer slow down (or the excess is deliberately dropped), instead of memory growing without bound.→ Reliability at scale: idempotency, retries and backpressure
- SOAR
- Security orchestration, automation and response: running response steps automatically, described in playbooks, with brakes such as human approval and auditing.→ Security automation and playbooks as code
access and identityOWASP Top 10
- IDORinsecure direct object reference · BOLA
- The request names an object (an id) and the server returns it without checking that the caller may see it. The most common form of broken access control, and in APIs it is called broken object level authorization.→ A01 Broken Access Control
- Deny by default
- Access is forbidden unless a rule explicitly allows it, so a forgotten route fails closed instead of open.→ A01 Broken Access Control
- Credential stuffing
- Replaying leaked e-mail and password pairs from other breaches against your login. It works because people reuse passwords, so the defense is throttling, breached-password checks and a second factor.→ A07 Authentication Failures
- Session fixation
- An attacker plants a known session id in the victim's browser; if the app keeps that id after login, the attacker shares the session. Regenerate the id on login.→ A07 Authentication Failures
- PasskeyWebAuthn
- A phishing-resistant login based on a key pair stored on the user's device; the site holds only the public key, so there is no password to steal or stuff.→ A07 Authentication Failures
data and inputOWASP Top 10
- SQL injectionSQLi
- Input concatenated into a SQL string is parsed as part of the query. Parameterized queries send the values separately and remove the problem.→ A05 Injection
- XSScross-site scripting
- Injection into a web page: untrusted input is rendered as HTML or script in another user's browser. Escape on output by context and add a Content-Security-Policy.→ A05 Injection
- Prepared statementparameterized query
- A query whose structure is fixed before any value is supplied, so the database cannot confuse data with instructions.→ A05 Injection
- Argon2id
- A memory-hard password hashing function with a built-in salt. Slowness is the point: it makes each guess expensive for an attacker.→ A04 Cryptographic Failures
- CSPRNGcryptographically secure random number generator
- The operating system's source of unpredictable bytes (secrets in Python, crypto.randomBytes in Node, crypto/rand in Go). Use it for tokens and keys, never Math.random.→ A04 Cryptographic Failures
- Authenticated encryptionAEAD
- Encryption that also detects tampering (AES-GCM, ChaCha20-Poly1305). Encryption alone does not stop an attacker from modifying ciphertext.→ A04 Cryptographic Failures
design and supply chainOWASP Top 10
- Threat model
- A structured answer to four questions: what are we building, what can go wrong, what will we do about it, and did we do a good job.→ A06 Insecure Design
- Abuse case
- A user story written from the attacker's side. Each one produces a requirement and a test.→ A06 Insecure Design
- SBOMsoftware bill of materials
- A machine-readable inventory of the components in a build. It answers "are we affected?" within minutes when a new vulnerability is announced.→ A03 Software Supply Chain Failures
- Dependency confusion
- Tricking a build into pulling a public package with the same name as an internal one. Use scoped names and a private registry that wins.→ A03 Software Supply Chain Failures
- Subresource IntegritySRI
- A hash in a script or link tag that makes the browser refuse the file if it does not match, so a compromised CDN cannot change your page.→ A08 Software or Data Integrity Failures
- Insecure deserialization
- Rebuilding objects from untrusted bytes with a format that can instantiate arbitrary types (Java serialization, pickle). The bytes can trigger code execution.→ A08 Software or Data Integrity Failures
operations and failureOWASP Top 10
- Fail closedfail secure
- When a security check cannot decide (timeout, error), the answer is deny. The opposite, failing open, turns every outage into an access-control bypass.→ A10 Mishandling of Exceptional Conditions
- Log injection
- User input containing newlines or control characters forges log entries. Encode input or use structured (JSON) logging.→ A09 Security Logging and Alerting Failures
- Correlation idrequest id
- A unique id attached to a request and to every log line it creates, shown to the user in error messages so support can find the details without leaking them.→ A09 Security Logging and Alerting Failures
- Security misconfiguration
- Correct software running with unsafe settings: debug on, default credentials, public storage, permissive CORS, missing headers.→ A02 Security Misconfiguration
- CORScross-origin resource sharing
- A browser mechanism that lets a server say which other origins may read its responses. A wildcard origin combined with credentials is a misconfiguration.→ A02 Security Misconfiguration
layers and termsVibecoding
- Vibe coding
- A style of programming where you describe what you want and steer by running the result, without reading every line. The term was popularized in early 2025 and now often names AI-assisted programming in general.→ The vibecoding spectrum
- Model
- The neural network that predicts the next step. It produces text, including requests to call tools. It is not the tool you type into.→ Model, harness and provider
- Harnessagent harness · scaffold
- The program around the model: builds the prompt, exposes tools, enforces permissions and runs the loop. Claude Code, OpenCode, oh-my-pi and Codex CLI are harnesses.→ Model, harness and provider
- Provider
- Where a model runs and how you reach it: the vendor API, a cloud, a router such as OpenRouter, or your own machine.→ Model, harness and provider
- Open-weight model
- A model whose trained weights are published, so you can run it yourself. Not always the same as open source: check the license.→ Choosing a model: frontier, cheap and open
toolsVibecoding
- OMPoh-my-pi
- An open-source terminal coding agent that began as a fork of the minimal Pi agent and added structured edits, language-server and debugger operations, browser access, plugins and subagents.→ Coding agents compared
- OMOOh My OpenAgent · oh-my-opencode
- A plugin for OpenCode that adds a team of specialized agents and an autonomous multi-agent mode. It extends a harness; it is not one.→ Coding agents compared
- herdr
- A terminal multiplexer for AI coding agents. It keeps several agents in real terminal panes, shows their status and persists across disconnects. It organizes agents instead of replacing them.→ Orchestration and parallel agents
- Git worktree
- An extra working directory with its own branch for the same repository. Gives each agent an isolated place to work.→ Orchestration and parallel agents
working well and safelyVibecoding
- AGENTS.md
- A file at the repository root with instructions for coding agents (commands, conventions, boundaries). A common convention across tools; Claude Code reads CLAUDE.md.→ Context engineering for coding agents
- MCPModel Context Protocol
- An open protocol for connecting agents to tools and data sources through servers. Every server you connect extends what the agent can do, so it also extends the attack surface.→ Context engineering for coding agents
- Plan mode
- A read-only mode where the agent explores and proposes a plan for approval before it edits anything.→ Context engineering for coding agents
- Prompt injection
- Instructions hidden in content the agent reads (a README, a web page, a tool result) that the model may follow as if you had written them.→ Securing the agent itself
- Slopsquatting
- Registering a package under a name an AI invented, so that an agent or developer who installs it without checking gets malware.→ Securing the agent itself
- Verification loop
- The checks every change must pass before it is trusted: tests that decide, a diff you read, CI gates and independent review.→ The verification loop
deliveryDevOps
- CIcontinuous integration
- Merging small changes into a shared branch often, with every change built and tested automatically so integration problems appear within minutes.→ The delivery lifecycle
- CDcontinuous delivery · continuous deployment
- Delivery keeps every change deployable at any time; deployment goes further and releases each passing change to production automatically.→ The delivery lifecycle
- Artifact
- The versioned, immutable output of a build (a container image, a package). The same artifact is promoted through every environment.→ CI pipelines that stay fast
- Trunk-based development
- Working in short-lived branches merged into the main branch frequently, hiding unfinished work behind feature flags.→ Git workflows and code review
- CODEOWNERS
- A repository file that maps paths to the people or teams who must review changes there.→ Git workflows and code review
releaseDevOps
- Canary release
- Sending a small share of traffic to a new version, watching its metrics, then widening it. Limits the damage of a bad release.→ Release strategies and rollback
- Blue/green deployment
- Two full environments: traffic switches from the old to the new at once, and rollback is switching back.→ Release strategies and rollback
- Feature flag
- A switch in configuration that turns a feature on or off without a deploy. Separates deploying code from releasing it.→ Release strategies and rollback
platformDevOps
- IaCinfrastructure as code
- Describing infrastructure in versioned files that are reviewed and applied by tools, so environments are reproducible.→ Infrastructure as code
- Drift
- A difference between the real infrastructure and what the code says, usually from a manual change.→ Infrastructure as code
- Container image
- A read-only stack of layers plus metadata from which containers start. Identified by a digest, tagged by a mutable name.→ Containers and images
- Pod
- In Kubernetes, one or more containers that run together and share a network identity. The smallest deployable, and disposable, unit.→ Kubernetes fundamentals
- Probereadiness · liveness
- A health check the cluster runs: readiness decides whether a pod gets traffic, liveness decides whether it should be restarted.→ Kubernetes fundamentals
operations and reliabilityDevOps
- SLIservice level indicator
- A measurement of service quality as users experience it, such as the fraction of requests that succeed quickly.→ Reliability: SLOs, error budgets and incidents
- SLOservice level objective
- The target for an SLI over a window. It defines how reliable is reliable enough.→ Reliability: SLOs, error budgets and incidents
- Error budget
- The allowed unreliability, 100% minus the SLO. While it remains you can take risks; when spent, reliability work comes first.→ Reliability: SLOs, error budgets and incidents
- Golden signals
- Latency, traffic, errors and saturation: four measurements that describe the health of almost any service.→ Observability: metrics, logs and traces
- Cardinality
- The number of distinct label combinations in a metric. Unbounded labels (user ids) can overwhelm a metrics system.→ Observability: metrics, logs and traces
- Postmortemblameless review
- A written review of an incident that asks how the system allowed it, not who erred, and ends with owned actions.→ Reliability: SLOs, error budgets and incidents
process and rolesIncident response
- Incident commanderIC
- The person who owns the response and makes decisions, while others do the hands-on work. Keeping these roles apart prevents the leader from disappearing into the technical details.→ The incident response lifecycle
- SeveritySEV level
- An agreed scale for how serious an incident is, decided in advance so that people do not argue about it during the event. It sets who is paged and how fast.→ The incident response lifecycle
- Tabletop exercise
- A discussion-based rehearsal of an incident scenario. It tests the plan, the contacts and the decisions without touching production.→ The incident response lifecycle
- Containment
- Limiting an incident's spread and damage: isolate a host, revoke credentials, block a destination. Short-term containment buys time; long-term containment prepares a clean recovery.→ Triage, scoping and containment
- Triage
- The first assessment of an alert: is it real, how far has it gone, and how urgent is it.→ Triage, scoping and containment
detection and intelligenceIncident response
- Threat hunting
- A proactive search of telemetry for attacker activity that automated detections missed, driven by a testable hypothesis.→ Threat hunting
- IOCindicator of compromise
- An observable that suggests compromise, such as a file hash, a domain or an address. Quick to use and quick to expire, since attackers change them easily.→ Threat intelligence
- TTPtactics, techniques and procedures
- How an adversary operates. Behavior is much harder for them to change than an indicator, so it is a more durable basis for detection.→ Threat intelligence
- MITRE ATT&CK
- A public knowledge base of adversary tactics and techniques observed in real intrusions, used to describe behavior and measure detection coverage.→ Threat intelligence
- Pyramid of Pain
- A model that ranks indicators by how much blocking them hurts an attacker, from trivial (hash values) to painful (tactics and techniques).→ Threat intelligence
- Sigma
- A vendor-neutral format for detection rules that can be converted to the query language of many SIEM products.→ Log analysis and building a timeline
- Pivoting
- Taking one known fact (an address, an account, a hash) and searching for everything else that shares it, to widen or narrow the scope.→ Log analysis and building a timeline
forensics and malwareIncident response
- Chain of custody
- A written record of who held a piece of evidence, when and what was done with it. It supports the credibility of evidence in a dispute.→ Digital forensics fundamentals
- Order of volatility
- The principle of collecting the most fragile evidence first: memory, then processes and connections, then temporary files, then disk and logs.→ Digital forensics fundamentals
- Write blocker
- A device or software that lets you read a disk without allowing any change to it, so the evidence stays intact.→ Digital forensics fundamentals
- YARA
- A language for describing the patterns that identify a family of files, used to find malware samples and variants.→ Malware analysis fundamentals
- Sandbox
- An isolated environment where a suspicious file can run under monitoring so its behavior can be observed safely.→ Malware analysis fundamentals
- Double extortion
- A ransomware tactic that both encrypts systems and steals data, threatening to publish it, so that restoring from backup does not end the pressure.→ Ransomware response playbook
engagementsOffensive security
- Rules of engagementRoE
- The agreed document that turns permission into practical limits: scope, time window, forbidden actions, rate, emergency contacts and how findings are reported.→ Authorization, scope and ethics
- Scope
- The list of systems, accounts and activities that may be tested, and those explicitly excluded. Anything outside it is not authorized.→ Authorization, scope and ethics
- Coordinated disclosureresponsible disclosure
- Reporting a vulnerability privately to its owner and allowing reasonable time to fix before any public detail.→ Authorization, scope and ethics
- Penetration testpentest
- A time-boxed attempt to exploit weaknesses within an agreed scope, to show what an attacker could actually do.→ Penetration testing methodology
- Black, gray and white box
- How much the tester knows in advance: nothing, some (such as accounts and documentation), or everything including source code.→ Penetration testing methodology
- PTESPenetration Testing Execution Standard
- A description of the phases of a penetration test, from pre-engagement to reporting.→ Penetration testing methodology
techniquesOffensive security
- Attack surface
- Everything an attacker can reach and try: internet-facing assets, services, interfaces and the people who use them.→ Reconnaissance and attack surface
- Passive and active recon
- Passive gathers information without touching the target; active probes it directly and must stay within scope and rate limits.→ Reconnaissance and attack surface
- Subdomain takeover
- A DNS record pointing to a cloud or SaaS resource that no longer exists, which someone else can claim and serve content from your domain.→ Reconnaissance and attack surface
- BOLAbroken object level authorization
- An API accepts an object id and returns the object without checking that the caller may access it. The API form of an IDOR.→ Web and API security testing
- Mass assignment
- An API binds client-supplied fields onto an object, letting a caller set fields (such as a role) that they should not control.→ Web and API security testing
- Attack path
- A chain of permissions, credentials and trusts that leads from a foothold to something valuable. Defenders map and cut these paths.→ Attack paths and privilege escalation
- Privilege escalation
- Gaining more rights than initially granted, through a flaw, a misconfiguration or a stolen credential.→ Attack paths and privilege escalation
exercises and reportingOffensive security
- Red team
- An objective-based, usually covert simulation of a realistic adversary that tests the organization's people, process and technology.→ Red team, purple team and adversary emulation
- Purple team
- A collaborative exercise where attackers and defenders work together in the open, checking detection technique by technique and fixing gaps immediately.→ Red team, purple team and adversary emulation
- Adversary emulation
- Reproducing the documented behavior of a specific threat actor to test whether defenses would catch it.→ Red team, purple team and adversary emulation
- DMARC
- An email authentication policy that tells receivers what to do with messages that fail SPF or DKIM checks for your domain, and where to send reports.→ Social engineering and phishing defense
- CVSSCommon Vulnerability Scoring System
- A standard for scoring the technical severity of a vulnerability. It needs adjusting for your context before it sets priority.→ Reporting findings and driving remediation
- Retest
- Verifying that a fix really closes a finding, not only the exact request that was reported.→ Reporting findings and driving remediation
riskGRC and leadership
- Risk appetite
- How much risk the organization is willing to accept in pursuit of its goals. It frames which risks need treatment and which can be accepted.→ Security risk management
- Inherent and residual risk
- Inherent risk is the level before controls; residual risk is what remains after them. Reporting both shows what the controls achieve.→ Security risk management
- Risk register
- The working record of identified risks: owner, rating, controls, treatment, actions and review date.→ Security risk management
- Risk treatment
- The four responses to a risk: reduce it with controls, accept it knowingly, transfer it (insurance, contract) or avoid it by stopping the activity.→ Security risk management
- Concentration risk
- Excess dependence on one supplier, provider or technology, so that its failure becomes your failure.→ Third-party and supply chain risk
- Vendor tiering
- Grouping suppliers by criticality so that the depth of review and monitoring matches the impact of their failure.→ Third-party and supply chain risk
frameworks and complianceGRC and leadership
- ISMSinformation security management system
- The set of policies, processes and controls that an organization uses to manage information security, as required by ISO 27001.→ Security frameworks and standards
- NIST CSF
- A voluntary framework that organizes a security program into functions: Govern, Identify, Protect, Detect, Respond and Recover.→ Security frameworks and standards
- CIS Controls
- A prioritized list of practical safeguards grouped in implementation levels, helpful for deciding where to start.→ Security frameworks and standards
- SOC 2
- An auditor's report on a service provider's controls for security and related criteria, commonly requested by customers.→ Security frameworks and standards
- Control
- A safeguard that reduces the likelihood or impact of a risk; to be auditable it must have an owner, a frequency and evidence.→ Compliance in practice: controls, evidence and audits
- Evidence
- Proof that a control operated during a period, such as a configuration export, a log, a ticket or an approval record.→ Compliance in practice: controls, evidence and audits
architecture and leadershipGRC and leadership
- Zero trust
- An approach that grants no trust by network location: every request is authenticated and authorized using identity, device and context.→ Security architecture principles
- ADRarchitecture decision record
- A short document recording a significant decision, its context, alternatives and consequences.→ Security architecture principles
- KRIkey risk indicator
- A measure that warns that risk is increasing, such as a growing backlog of critical findings or unsupported systems.→ Security metrics and reporting to leadership
- Crown jewels
- The assets whose loss or compromise would hurt the organization most. Strategy starts by identifying and protecting them.→ Security strategy, roadmap and budget
- Blameless reporting
- A culture where people who report mistakes or incidents quickly are supported, because early reports limit the damage.→ Crisis communication and security culture
- Security champion
- A person in an engineering or business team who acts as the local point of contact for security and brings it into daily work.→ Crisis communication and security culture