Elevation of privilege
A compromised endpoint may grant actions beyond the caller role.
Control: Least Privilege
Master SAST/DAST container scanning, OWASP Top 10 remediation, secrets management, WAF and TLS hardening, threat modeling, IAM least privilege, API security, Zero Trust, incident response, SIEM detection, SBOM supply chains, container security, cloud posture, and privacy compliance.
Simulate Trivy container image scans, Snyk SAST code analysis, and OWASP ZAP DAST web inspection. Identify CVEs, misconfigurations, and dependency risks before they reach production.
Select a scanner engine and target to begin vulnerability analysis.
| CVE / ID | Severity | Scanner | Component | CVSS |
|---|---|---|---|---|
| CVE-2024-21626 | CRITICAL | Trivy | runc | 10.0 |
| CVE-2023-44487 | HIGH | Trivy | nghttp2 / envoy | 7.5 |
| SNYK-JS-EXPRESS-594238 | HIGH | Snyk Code | src/api/auth.ts:42 | 8.6 |
| CVE-2024-3094 | CRITICAL | Trivy | liblzma5 | 10.0 |
| ZAP-2026-001 | MEDIUM | OWASP ZAP | HTTPS Response Header | 5.3 |
| SNYK-JS-LODASH-567746 | MEDIUM | Snyk Code | lodash | 6.5 |
| CVE-2023-38545 | HIGH | Trivy | libcurl4 | 8.1 |
| ZAP-2026-002 | LOW | OWASP ZAP | /search?q= | 3.8 |
File descriptor leak in runc allows container process to access host filesystem and escape container boundary.
Select any OWASP Top 10 category to view real-world exploit scenarios, compare vulnerable vs remediated code, and run interactive exploit tests.
Failures allow unauthorized users to view, edit, or delete data belonging to other users (IDOR, privilege escalation).
// VULNERABLE: Trusting user-supplied ID parameter directly
app.get('/api/invoice/:id', async (req, res) => {
const invoice = await db.query('SELECT * FROM invoices WHERE id = ' + req.params.id);
res.json(invoice); // No authorization check!
});// SECURE: Enforce authorization against authenticated session
app.get('/api/invoice/:id', authMiddleware, async (req, res) => {
const invoice = await db.query(
'SELECT * FROM invoices WHERE id = $1 AND owner_id = $2',
[req.params.id, req.user.id]
);
if (!invoice) return res.status(403).json({ error: 'Forbidden' });
res.json(invoice);
});Compare enterprise secret engine architecture, dynamic credential generation, token TTL leases, and automated rotation.
Storage & KMS Encryption: Secrets are encrypted using AES-256-GCM. In Vault, master keys are unsealed via Shamir threshold key shares. In AWS, KMS Envelope Encryption wraps data keys.
Configure L7 WAF protection rulesets, test attack payloads, and audit SSL/TLS cipher suites & security response headers.
| State | Rule Name | Type | Action | Blocked Hits |
|---|---|---|---|---|
| OWASP Core Rule Set - SQL Injection | SQLi | BLOCK | 1420 | |
| OWASP Core Rule Set - Cross Site Scripting (XSS) | XSS | BLOCK | 890 | |
| Rate Limit: Max 100 Reqs / 5 Min | RateLimit | BLOCK | 310 | |
| Geo-IP Filter: Block Tor Exit Nodes | GeoBlock | CAPTCHA | 145 |
Configure SSL Labs target grading settings and test header compliance.
Select an architecture asset, apply mitigations, and compare the remaining STRIDE risk. Findings are deterministic so each control change is easy to inspect.
Public request and application boundary
STRIDE threats ordered by severity.
A compromised endpoint may grant actions beyond the caller role.
Control: Least Privilege
An attacker may impersonate a caller when identity checks are weak.
Control: Strong Authentication
Untrusted request data can alter application state.
Control: Input Validation
Overly broad responses can expose data to unauthorized callers.
Control: Object Authorization
Unbounded requests can exhaust API capacity.
Control: Rate Limiting
Without an audit trail, actions cannot be reliably attributed.
Control: Audit Logging
Build an access request and evaluate it against a local policy set. Explicit Deny rules, wildcard matching, and MFA conditions are handled by the shared evaluator.
Deny rules are evaluated before matching Allow rules.
| Effect | Principal | Action | Resource | Condition |
|---|---|---|---|---|
| Deny | user/* | orders:Delete | orders/* | — |
| Allow | role/api-reader | orders:Get | orders/* | — |
| Allow | role/api-reader | orders:List | orders/* | — |
| Allow | role/ops-admin | admin:* | admin/* | MFA required |
| Allow | service/orders-worker | orders:Update | orders/prod | — |
| Allow | role/ops-admin | orders:* | orders/* | MFA required |
Test the controls that protect an API boundary: identity, object ownership, schema validation, and endpoint rate limits. The shared evaluator returns the first control that needs attention.
This illustrative request is display-only. The lab never executes entered payload text or sends network traffic.
GET /v1/orders/order_2048
Authorization: Bearer <short-lived-token>Model a request using identity, device posture, source zone, destination zone, MFA, and action. The policy engine evaluates every request instead of trusting the network location alone.
Static policy stages make the trust boundary explicit before any decision is applied.
Every hop is evaluated with the same signals; being on a workforce or workload network does not grant implicit access.
Practice a repeatable incident lifecycle against safe, synthetic alerts. Classify the signal, preserve evidence, contain affected assets, and score response readiness with the shared evaluator.
Query deterministic authentication, API, WAF, and cloud audit events. Filters narrow analyst scope; the shared evaluator determines which events match the selected detection rule.
Inspect package provenance, vulnerability severity, immutable versions, signatures, and license policy before an artifact enters the release pipeline.
The evaluator re-checks every row whenever the license policy changes.
| Package | Version | Severity | Provenance | License |
|---|---|---|---|---|
| express | 4.19.2 | high | Signed | MIT |
| lodash | 4.17.21 | medium | Signed | Apache-2.0 |
| axios | ^1.7.2(unpinned) | low | Signed | MIT |
| internal-plugin | 2.1.0 | none | Unsigned | Apache-2.0 |
| legacy-parser | 1.4.0 | none | Signed | GPL-3.0 |
6 findings require attention before release.
Allowlist currently contains 2 of 3 licenses seen in the inventory.
Toggle workload controls to model a Kubernetes admission decision. The shared evaluator rejects unsafe privileges, host access, unsigned images, and unconstrained resources.
6 controls failed and must be remediated.
Container must run as a non-root user.
Remediation: Set a pod or image securityContext with runAsNonRoot: true and a non-zero runAsUser.
Container root filesystem must be read-only.
Remediation: Set securityContext.readOnlyRootFilesystem: true and mount explicit writable volumes where needed.
Host networking is not permitted.
Remediation: Remove hostNetwork: true and expose the service through a cluster Service or ingress.
Host path mounts are not permitted.
Remediation: Remove hostPath volumes and use an approved persistent volume or projected secret instead.
Image signature verification is required.
Remediation: Sign the image in CI and configure admission policy to verify its registry signature.
CPU and memory limits are required.
Remediation: Declare CPU and memory requests and limits in the workload specification.
Review a local AWS account snapshot across identity, storage, network, logging, key management, and firewall controls. Findings are educational examples, not a live cloud scan.
Posture score
0
Grade F
Open findings
7
Evaluator-calculated risk
Resolved findings
0
Marked fixed locally
Last recalculation
Not run yet
Select a finding to inspect evidence and remediation.
| Control | Finding | Severity | Status |
|---|---|---|---|
| IAM | arn:aws:iam::000000000000:root | critical | |
| S3 | s3://acme-prod-invoices | high | |
| VPC | vpc-0f42a1e9 / subnet-07b3c4d1 | medium | |
| CloudTrail | arn:aws:cloudtrail:us-east-1:000000000000:trail/example-audit | high | |
| KMS | key/7e6d0d5c-4dcb-4ae5-9a19-prod-data | medium | |
| Security groups | sg-0a8d66bd / prod-postgres | critical | |
| IAM | user/example-deploy / EXAMPLE_KEY_ID | low |
Classify example fields, inspect the protection controls mapped to each class, and complete a practical privacy readiness checklist.
Educational guidance only: this exercise is not formal legal compliance advice and does not determine obligations under any specific privacy law or contract.
Choose a field, then classify it according to its sensitivity and use.
| Field | Example value | Classification |
|---|---|---|
Link activity to a customer account | acct_7F29D1 | internal |
Send account notifications | alex@example.test | confidential |
Reference a vaulted payment method | tok_visa_••••4242 | restricted |
Display a catalog item | Network Fundamentals | public |
Use the checklist to turn classification into operating controls.