@ghostbyte/agent-docs-kit 4.0.2 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +32 -0
- package/README.md +43 -37
- package/SECURITY.md +11 -0
- package/content/catalog.json +191 -22
- package/content/documentation/01-system-documentation.md +13 -0
- package/content/documentation/02-project-governance.md +13 -0
- package/content/documentation/03-development-records.md +13 -0
- package/content/documentation/04-testing-evidence.md +13 -0
- package/content/documentation/05-operations-runbooks.md +13 -0
- package/content/documentation/06-future-proposals.md +13 -0
- package/content/documentation/07-archive-governance.md +13 -0
- package/content/documentation/full-reference.md +24 -0
- package/content/engineering/01-query-performance.md +17 -27
- package/content/engineering/02-networking-fundamentals.md +17 -27
- package/content/engineering/03-rate-limiting-algorithms.md +18 -28
- package/content/engineering/04-production-debugging.md +17 -27
- package/content/engineering/05-code-review-practices.md +17 -27
- package/content/engineering/06-data-modeling.md +17 -27
- package/content/engineering/07-cloud-cost-saving.md +17 -27
- package/content/engineering/08-testing-types.md +17 -27
- package/content/engineering/09-message-queues.md +17 -27
- package/content/engineering/10-api-design-compatibility.md +14 -0
- package/content/engineering/11-reliability-slos.md +14 -0
- package/content/engineering/12-observability-telemetry.md +14 -0
- package/content/engineering/13-deployment-change-safety.md +14 -0
- package/content/engineering/14-capacity-concurrency.md +14 -0
- package/content/engineering/full-reference.md +24 -144
- package/content/security/01-design-architecture.md +11 -19
- package/content/security/02-local-development.md +13 -21
- package/content/security/03-database-backend.md +18 -26
- package/content/security/04-api-layer.md +23 -31
- package/content/security/05-frontend-ui.md +16 -24
- package/content/security/06-application-security-testing.md +22 -28
- package/content/security/07-cicd-release-engineering.md +13 -21
- package/content/security/08-cloud-infrastructure.md +17 -25
- package/content/security/09-edge-cdn-dns.md +16 -24
- package/content/security/10-release-rollout.md +13 -21
- package/content/security/11-post-release-monitoring-ir.md +15 -23
- package/content/security/12-ongoing-operations.md +24 -32
- package/content/security/full-reference.md +30 -3163
- package/docs/ARCHITECTURE.md +31 -92
- package/docs/CONTENT_MAINTENANCE.md +5 -1
- package/docs/GITHUB_AND_NPM_SETUP.md +1 -1
- package/docs/RELEASE_PROCESS.md +5 -5
- package/package.json +12 -5
- package/scripts/build-site.mjs +13 -0
- package/scripts/build-skill.mjs +24 -0
- package/scripts/check-links.mjs +56 -0
- package/scripts/check-review-dates.mjs +21 -0
- package/scripts/preview-site.mjs +43 -0
- package/scripts/smoke-package.mjs +58 -0
- package/scripts/validate-content.mjs +85 -0
- package/site/app.js +121 -0
- package/site/index.html +346 -0
- package/site/styles.css +159 -0
- package/skills/manage-project-quality/SKILL.md +18 -2
- package/skills/manage-project-quality/assets/documentation-report.md +3 -3
- package/skills/manage-project-quality/assets/engineering-report.md +3 -3
- package/skills/manage-project-quality/assets/security-report.md +3 -3
- package/skills/manage-project-quality/references/documentation-01-system-documentation.md +13 -0
- package/skills/manage-project-quality/references/documentation-02-project-governance.md +13 -0
- package/skills/manage-project-quality/references/documentation-03-development-records.md +13 -0
- package/skills/manage-project-quality/references/documentation-04-testing-evidence.md +13 -0
- package/skills/manage-project-quality/references/documentation-05-operations-runbooks.md +13 -0
- package/skills/manage-project-quality/references/documentation-06-future-proposals.md +13 -0
- package/skills/manage-project-quality/references/documentation-07-archive-governance.md +13 -0
- package/skills/manage-project-quality/references/documentation-full-reference.md +24 -0
- package/skills/manage-project-quality/references/documentation-governance.md +2 -2
- package/skills/manage-project-quality/references/engineering-01-query-performance.md +17 -27
- package/skills/manage-project-quality/references/engineering-02-networking-fundamentals.md +17 -27
- package/skills/manage-project-quality/references/engineering-03-rate-limiting-algorithms.md +18 -28
- package/skills/manage-project-quality/references/engineering-04-production-debugging.md +17 -27
- package/skills/manage-project-quality/references/engineering-05-code-review-practices.md +17 -27
- package/skills/manage-project-quality/references/engineering-06-data-modeling.md +17 -27
- package/skills/manage-project-quality/references/engineering-07-cloud-cost-saving.md +17 -27
- package/skills/manage-project-quality/references/engineering-08-testing-types.md +17 -27
- package/skills/manage-project-quality/references/engineering-09-message-queues.md +17 -27
- package/skills/manage-project-quality/references/engineering-10-api-design-compatibility.md +14 -0
- package/skills/manage-project-quality/references/engineering-11-reliability-slos.md +14 -0
- package/skills/manage-project-quality/references/engineering-12-observability-telemetry.md +14 -0
- package/skills/manage-project-quality/references/engineering-13-deployment-change-safety.md +14 -0
- package/skills/manage-project-quality/references/engineering-14-capacity-concurrency.md +14 -0
- package/skills/manage-project-quality/references/engineering-full-reference.md +24 -144
- package/skills/manage-project-quality/references/engineering-protocol.md +1 -1
- package/skills/manage-project-quality/references/security-01-design-architecture.md +11 -19
- package/skills/manage-project-quality/references/security-02-local-development.md +13 -21
- package/skills/manage-project-quality/references/security-03-database-backend.md +18 -26
- package/skills/manage-project-quality/references/security-04-api-layer.md +23 -31
- package/skills/manage-project-quality/references/security-05-frontend-ui.md +16 -24
- package/skills/manage-project-quality/references/security-06-application-security-testing.md +22 -28
- package/skills/manage-project-quality/references/security-07-cicd-release-engineering.md +13 -21
- package/skills/manage-project-quality/references/security-08-cloud-infrastructure.md +17 -25
- package/skills/manage-project-quality/references/security-09-edge-cdn-dns.md +16 -24
- package/skills/manage-project-quality/references/security-10-release-rollout.md +13 -21
- package/skills/manage-project-quality/references/security-11-post-release-monitoring-ir.md +15 -23
- package/skills/manage-project-quality/references/security-12-ongoing-operations.md +24 -32
- package/skills/manage-project-quality/references/security-full-reference.md +30 -3163
- package/skills/manage-project-quality/scripts/check-report.mjs +67 -16
- package/src/api/index.mjs +4 -0
- package/src/cli/arguments.mjs +27 -3
- package/src/cli/help.mjs +53 -18
- package/src/cli/main.mjs +66 -9
- package/src/commands/audit.mjs +146 -31
- package/src/commands/doctor.mjs +1 -1
- package/src/commands/guide.mjs +12 -0
- package/src/commands/list.mjs +1 -1
- package/src/commands/setup.mjs +9 -4
- package/src/commands/skill.mjs +1 -0
- package/src/commands/template.mjs +32 -0
- package/src/commands/validate.mjs +36 -4
- package/src/commands/website.mjs +26 -0
- package/src/core/config.mjs +61 -0
- package/src/core/files.mjs +47 -6
- package/templates/adr.md +20 -0
- package/templates/change-record.md +18 -0
- package/templates/incident-review.md +20 -0
- package/templates/runbook.md +18 -0
- package/templates/test-evidence.md +18 -0
- package/tests/cli.test.mjs +226 -0
- package/tests/content.test.mjs +18 -0
|
@@ -1,144 +1,24 @@
|
|
|
1
|
-
# Engineering Reference
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
> `01_API_Security/01_rate_limiting.md`.
|
|
26
|
-
|
|
27
|
-
---
|
|
28
|
-
|
|
29
|
-
## A. Speeding Up a Slow Query
|
|
30
|
-
|
|
31
|
-
1. Start with the explain plan
|
|
32
|
-
2. Add the missing index
|
|
33
|
-
3. Stop selecting *
|
|
34
|
-
4. Fix N+1 queries
|
|
35
|
-
5. Use a covering index
|
|
36
|
-
6. Cache repeated queries
|
|
37
|
-
7. Prune partitions
|
|
38
|
-
8. Denormalize for reads
|
|
39
|
-
9. Batch your writes
|
|
40
|
-
10. Update table statistics
|
|
41
|
-
|
|
42
|
-
## B. Networking Concepts Every Dev Should Know
|
|
43
|
-
|
|
44
|
-
1. DNS resolution
|
|
45
|
-
2. TCP handshake
|
|
46
|
-
3. TLS handshake
|
|
47
|
-
4. NAT
|
|
48
|
-
5. Load balancer types
|
|
49
|
-
6. CDN edge caching
|
|
50
|
-
7. Packet loss & retransmit
|
|
51
|
-
8. MTU / fragmentation
|
|
52
|
-
9. Keep-alive
|
|
53
|
-
10. BGP routing
|
|
54
|
-
|
|
55
|
-
## C. Rate Limiting Algorithms
|
|
56
|
-
|
|
57
|
-
1. Fixed window
|
|
58
|
-
2. Sliding window log
|
|
59
|
-
3. Sliding window counter
|
|
60
|
-
4. Token bucket
|
|
61
|
-
5. Leaky bucket
|
|
62
|
-
6. Distributed rate limiting
|
|
63
|
-
7. Client-side throttling
|
|
64
|
-
8. Adaptive rate limiting
|
|
65
|
-
9. Concurrency limiting
|
|
66
|
-
10. Back pressure
|
|
67
|
-
|
|
68
|
-
## D. Debugging Production Issues
|
|
69
|
-
|
|
70
|
-
1. Correlation IDs
|
|
71
|
-
2. Distributed tracing
|
|
72
|
-
3. Feature flag rollback
|
|
73
|
-
4. Canary analysis
|
|
74
|
-
5. Replay traffic
|
|
75
|
-
6. Heap dumps
|
|
76
|
-
7. Chaos testing
|
|
77
|
-
8. Synthetic monitoring
|
|
78
|
-
9. Error budgets
|
|
79
|
-
10. Postmortems
|
|
80
|
-
|
|
81
|
-
## E. Code Review Practices
|
|
82
|
-
|
|
83
|
-
1. Small PRs
|
|
84
|
-
2. Clear description
|
|
85
|
-
3. Constructive feedback
|
|
86
|
-
4. Nitpick vs. blocker
|
|
87
|
-
5. Fast turnaround
|
|
88
|
-
6. Automated checks first
|
|
89
|
-
7. Context before code
|
|
90
|
-
8. Approve vs. request changes
|
|
91
|
-
9. Self-review first
|
|
92
|
-
10. Learning from reviews
|
|
93
|
-
|
|
94
|
-
## F. Data Modeling Concepts
|
|
95
|
-
|
|
96
|
-
1. Primary vs. foreign keys
|
|
97
|
-
2. One-to-many
|
|
98
|
-
3. Many-to-many
|
|
99
|
-
4. Composite keys
|
|
100
|
-
5. Soft deletes
|
|
101
|
-
6. Polymorphic associations
|
|
102
|
-
7. Enum vs. lookup table
|
|
103
|
-
8. Audit columns
|
|
104
|
-
9. Schema migrations
|
|
105
|
-
10. Precision & data types
|
|
106
|
-
|
|
107
|
-
## G. Cloud Cost-Saving Techniques
|
|
108
|
-
|
|
109
|
-
1. Spot instances
|
|
110
|
-
2. Autoscaling
|
|
111
|
-
3. Reserved capacity
|
|
112
|
-
4. Right-sizing
|
|
113
|
-
5. Storage tiering
|
|
114
|
-
6. CDN offloading
|
|
115
|
-
7. Serverless for spiky loads
|
|
116
|
-
8. Idle resource cleanup
|
|
117
|
-
9. Compression
|
|
118
|
-
10. Multi-region arbitrage
|
|
119
|
-
|
|
120
|
-
## H. Types of Testing
|
|
121
|
-
|
|
122
|
-
1. Unit test
|
|
123
|
-
2. Integration test
|
|
124
|
-
3. End-to-end test
|
|
125
|
-
4. Snapshot test
|
|
126
|
-
5. Contract test
|
|
127
|
-
6. Load test
|
|
128
|
-
7. Chaos test
|
|
129
|
-
8. Mutation test
|
|
130
|
-
9. Smoke test
|
|
131
|
-
10. Regression test
|
|
132
|
-
|
|
133
|
-
## I. Message Queue Concepts
|
|
134
|
-
|
|
135
|
-
1. Producer / consumer
|
|
136
|
-
2. Topic + partition
|
|
137
|
-
3. Consumer group
|
|
138
|
-
4. At-least-once delivery
|
|
139
|
-
5. Dead letter queue
|
|
140
|
-
6. Backpressure
|
|
141
|
-
7. Fan-out
|
|
142
|
-
8. Message ordering
|
|
143
|
-
9. Idempotent consumer
|
|
144
|
-
10. Offset commit
|
|
1
|
+
# Engineering Quality Reference
|
|
2
|
+
|
|
3
|
+
This index routes reviewers to focused, evidence-based practice reviews. Engineering findings are advisory unless they reveal a separate correctness, reliability, or security defect.
|
|
4
|
+
|
|
5
|
+
Use `Applied`, `Partial`, `Recommended`, `Unverified`, or `N/A`. For each recommendation, record observable evidence, impact, an owner, and a verification step.
|
|
6
|
+
|
|
7
|
+
## Topic index
|
|
8
|
+
|
|
9
|
+
1. Query performance and slow-query diagnosis
|
|
10
|
+
2. Networking fundamentals
|
|
11
|
+
3. Rate-limiting algorithms
|
|
12
|
+
4. Production debugging
|
|
13
|
+
5. Code-review practices
|
|
14
|
+
6. Data modeling
|
|
15
|
+
7. Cloud cost saving
|
|
16
|
+
8. Testing types and strategy
|
|
17
|
+
9. Message queues
|
|
18
|
+
10. API design and compatibility
|
|
19
|
+
11. Reliability, SLOs, and error budgets
|
|
20
|
+
12. Observability and telemetry
|
|
21
|
+
13. Deployment and change safety
|
|
22
|
+
14. Capacity, concurrency, and resource management
|
|
23
|
+
|
|
24
|
+
Run `agent-docs list engineering`, then create only the needed worksheet with `agent-docs engineering worksheet <topic>`.
|
|
@@ -18,6 +18,6 @@ If the review discovers a security vulnerability, data-loss risk, or correctness
|
|
|
18
18
|
|
|
19
19
|
1. Identify the system constraint or decision under review.
|
|
20
20
|
2. Inspect representative code, configuration, tests, telemetry, and design records.
|
|
21
|
-
3. Evaluate tradeoffs in the project
|
|
21
|
+
3. Evaluate tradeoffs in the project's actual scale and failure model.
|
|
22
22
|
4. Prefer measurable recommendations with a verification method.
|
|
23
23
|
5. Avoid importing enterprise complexity into a project that does not need it.
|
|
@@ -1,21 +1,14 @@
|
|
|
1
1
|
# Design & Architecture
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
## Phase 1: Design & Architecture (Pre-Code)
|
|
4
4
|
|
|
5
5
|
**When to run this:** Before writing code — during system/feature design, RFCs, or architecture review.
|
|
6
6
|
|
|
7
7
|
**Goal of this pass:** Catch design-level flaws (missing trust boundaries, over-broad data collection, no threat model) that are cheap to fix now and expensive to fix after code exists.
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## How to use this reference
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|---|---|
|
|
13
|
-
| `CHECKLIST.md` | What to check — the reference list of items, severity, and example test steps for this phase. Doesn't get filled in; copy it or use `RESULTS_TEMPLATE.md` to record a real pass. |
|
|
14
|
-
| `RESULTS_TEMPLATE.md` | Fillable version of the same checklist, with Result/Notes columns and a sign-off block. Copy this file per test pass (e.g. `RESULTS_2026-08-29.md`) so history isn't overwritten. |
|
|
15
|
-
|
|
16
|
-
Full background, "why it matters," and references for every item live in
|
|
17
|
-
`../../SECURITY_CHECKLIST.md` (search for the source file path shown in the
|
|
18
|
-
checklist below).
|
|
11
|
+
Use each stable control ID in a generated security worksheet. Record observed evidence before assigning a status; leave a control Unverified when evidence is unavailable. Preserve each dated worksheet as audit history.
|
|
19
12
|
|
|
20
13
|
## Sign-off criteria
|
|
21
14
|
|
|
@@ -25,15 +18,14 @@ checklist below).
|
|
|
25
18
|
|
|
26
19
|
---
|
|
27
20
|
|
|
28
|
-
|
|
21
|
+
## What to Check — Phase 1: Design & Architecture (Pre-Code)
|
|
29
22
|
|
|
30
|
-
|
|
31
|
-
this same folder to actually record a test pass.
|
|
23
|
+
Use the applicable controls below to populate the worksheet findings table.
|
|
32
24
|
|
|
33
|
-
|
|
|
25
|
+
| Control ID | Source | Control | Severity | Evidence question |
|
|
34
26
|
|---|---|---|---|---|
|
|
35
|
-
|
|
|
36
|
-
|
|
|
37
|
-
|
|
|
38
|
-
|
|
|
39
|
-
|
|
|
27
|
+
| SEC-01-01 | `15_Architecture_Compliance/01_privacy_by_design.md` | Privacy by Design | Medium | Review the most recent feature's design doc and confirm data collection was scoped to only what the feature actually needs. |
|
|
28
|
+
| SEC-01-02 | `15_Architecture_Compliance/02_threat_modeling.md` | Threat Modeling | High | Pull the data-flow diagram for the highest-risk service and confirm a STRIDE (or equivalent) pass was actually performed and mitigations tracked to closure. |
|
|
29
|
+
| SEC-01-03 | `15_Architecture_Compliance/04_defense_in_depth.md` | Defense in Depth | Medium | Pick one critical asset and map every independent control protecting it; confirm there isn't a single point whose failure alone exposes it. |
|
|
30
|
+
| SEC-01-04 | `15_Architecture_Compliance/06_zero_trust_network.md` | Zero Trust Network Architecture | High | From inside the internal network, attempt to reach a service without presenting valid per-request authentication and confirm it's still denied. |
|
|
31
|
+
| SEC-01-05 | `15_Architecture_Compliance/08_secure_sdlc.md` | Secure SDLC (added) | Medium | Confirm the most recent feature had security requirements defined at design time, not bolted on after code review. |
|
|
@@ -1,21 +1,14 @@
|
|
|
1
1
|
# Local Development
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
## Phase 2: Local Development
|
|
4
4
|
|
|
5
5
|
**When to run this:** During day-to-day coding, before opening a pull request.
|
|
6
6
|
|
|
7
7
|
**Goal of this pass:** Prevent secrets, unpinned/unvetted dependencies, and known-bad coding patterns from ever reaching a shared branch.
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## How to use this reference
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|---|---|
|
|
13
|
-
| `CHECKLIST.md` | What to check — the reference list of items, severity, and example test steps for this phase. Doesn't get filled in; copy it or use `RESULTS_TEMPLATE.md` to record a real pass. |
|
|
14
|
-
| `RESULTS_TEMPLATE.md` | Fillable version of the same checklist, with Result/Notes columns and a sign-off block. Copy this file per test pass (e.g. `RESULTS_2026-08-29.md`) so history isn't overwritten. |
|
|
15
|
-
|
|
16
|
-
Full background, "why it matters," and references for every item live in
|
|
17
|
-
`../../SECURITY_CHECKLIST.md` (search for the source file path shown in the
|
|
18
|
-
checklist below).
|
|
11
|
+
Use each stable control ID in a generated security worksheet. Record observed evidence before assigning a status; leave a control Unverified when evidence is unavailable. Preserve each dated worksheet as audit history.
|
|
19
12
|
|
|
20
13
|
## Sign-off criteria
|
|
21
14
|
|
|
@@ -25,17 +18,16 @@ checklist below).
|
|
|
25
18
|
|
|
26
19
|
---
|
|
27
20
|
|
|
28
|
-
|
|
21
|
+
## What to Check — Phase 2: Local Development
|
|
29
22
|
|
|
30
|
-
|
|
31
|
-
this same folder to actually record a test pass.
|
|
23
|
+
Use the applicable controls below to populate the worksheet findings table.
|
|
32
24
|
|
|
33
|
-
|
|
|
25
|
+
| Control ID | Source | Control | Severity | Evidence question |
|
|
34
26
|
|---|---|---|---|---|
|
|
35
|
-
|
|
|
36
|
-
|
|
|
37
|
-
|
|
|
38
|
-
|
|
|
39
|
-
|
|
|
40
|
-
|
|
|
41
|
-
|
|
|
27
|
+
| SEC-02-01 | `08_Release_Engineering_Version_Control/01_secure_coding_guidelines.md` | Secure Coding Guidelines | Low | Confirm the team's secure-coding cheat sheet is linked from the PR template/onboarding docs, not just filed away unused. |
|
|
28
|
+
| SEC-02-02 | `08_Release_Engineering_Version_Control/02_semantic_versioning.md` | Semantic Versioning | Low | Check the last 3 releases and confirm any breaking change actually bumped the MAJOR version. |
|
|
29
|
+
| SEC-02-03 | `10_Dependency_Supply_Chain/01_backend_dependency_scanning.md` | Dependency & SCA Scanning | High | Run the SCA scanner manually against the current backend dependency tree and confirm it matches what CI reports, with no critical CVEs unpatched past SLA. |
|
|
30
|
+
| SEC-02-04 | `10_Dependency_Supply_Chain/02_dependency_version_pinning.md` | Dependency Version Pinning | Medium | Delete the lockfile locally and reinstall; confirm CI fails the build if the regenerated lockfile differs from the committed one. |
|
|
31
|
+
| SEC-02-05 | `10_Dependency_Supply_Chain/03_frontend_dependency_scanning.md` | Frontend Dependency Scanning | Medium | Run npm audit / yarn audit and manually review any newly added package for typosquatting risk or suspicious post-install scripts. |
|
|
32
|
+
| SEC-02-06 | `06_Data_Protection_Secrets/06_secrets_management.md` | Secrets Management (added) | Critical | Run a secret-scanning tool (e.g. gitleaks/truffleHog) across the full git history, not just HEAD, and confirm zero committed credentials. |
|
|
33
|
+
| SEC-02-07 | `09_Release_Pipeline_Stages/01_local_dev_testing.md` | Stage 1: Local / Developer Testing | Low | Confirm a fresh local dev environment setup never requires copying real production credentials or data. |
|
|
@@ -1,21 +1,14 @@
|
|
|
1
1
|
# Database & Backend
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
## Phase 3: Database & Backend Layer
|
|
4
4
|
|
|
5
5
|
**When to run this:** While building/reviewing server-side business logic and the data access layer.
|
|
6
6
|
|
|
7
7
|
**Goal of this pass:** Confirm the backend enforces authorization and business rules itself, and that the data layer doesn't quietly reintroduce injection or over-fetching risk.
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## How to use this reference
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|---|---|
|
|
13
|
-
| `CHECKLIST.md` | What to check — the reference list of items, severity, and example test steps for this phase. Doesn't get filled in; copy it or use `RESULTS_TEMPLATE.md` to record a real pass. |
|
|
14
|
-
| `RESULTS_TEMPLATE.md` | Fillable version of the same checklist, with Result/Notes columns and a sign-off block. Copy this file per test pass (e.g. `RESULTS_2026-08-29.md`) so history isn't overwritten. |
|
|
15
|
-
|
|
16
|
-
Full background, "why it matters," and references for every item live in
|
|
17
|
-
`../../SECURITY_CHECKLIST.md` (search for the source file path shown in the
|
|
18
|
-
checklist below).
|
|
11
|
+
Use each stable control ID in a generated security worksheet. Record observed evidence before assigning a status; leave a control Unverified when evidence is unavailable. Preserve each dated worksheet as audit history.
|
|
19
12
|
|
|
20
13
|
## Sign-off criteria
|
|
21
14
|
|
|
@@ -25,22 +18,21 @@ checklist below).
|
|
|
25
18
|
|
|
26
19
|
---
|
|
27
20
|
|
|
28
|
-
|
|
21
|
+
## What to Check — Phase 3: Database & Backend Layer
|
|
29
22
|
|
|
30
|
-
|
|
31
|
-
this same folder to actually record a test pass.
|
|
23
|
+
Use the applicable controls below to populate the worksheet findings table.
|
|
32
24
|
|
|
33
|
-
|
|
|
25
|
+
| Control ID | Source | Control | Severity | Evidence question |
|
|
34
26
|
|---|---|---|---|---|
|
|
35
|
-
|
|
|
36
|
-
|
|
|
37
|
-
|
|
|
38
|
-
|
|
|
39
|
-
|
|
|
40
|
-
|
|
|
41
|
-
|
|
|
42
|
-
|
|
|
43
|
-
|
|
|
44
|
-
| 10 | `06_Data_Protection_Secrets/03_pii_data_classification.md` | PII & Data Classification | Medium | Pull a sample data export/report and check whether it exposes any field classified as higher-sensitivity than the export's intended audience. |
|
|
45
|
-
| 11 | `06_Data_Protection_Secrets/04_key_management.md` | Key Management (KMS) | Critical | Confirm encryption keys live in a KMS/HSM (not a config file or env var) and walk through the documented key-revocation procedure end to end. |
|
|
46
|
-
| 12 | `06_Data_Protection_Secrets/05_tls_certificate_management.md` | TLS Certificate Management | High | Run an SSL/TLS scan (e.g. against the Mozilla Observatory or testssl.sh) on each public endpoint and confirm TLS 1.2+ only, no weak ciphers, valid expiry. |
|
|
27
|
+
| SEC-03-01 | `05_Backend_Handling/01_business_logic_validation.md` | Business Logic Validation | High | Attempt to call the 'ship order' step of a checkout flow while skipping the 'payment' step and confirm the server rejects the out-of-order transition. |
|
|
28
|
+
| SEC-03-02 | `05_Backend_Handling/02_file_upload_handling.md` | File Upload Handling | Critical | Upload a file with a .jpg extension but executable/script magic bytes inside, and confirm the server validates content type by inspecting bytes, not just the extension. |
|
|
29
|
+
| SEC-03-03 | `05_Backend_Handling/03_orm_database_security.md` | ORM & Database Layer Security | High | Search the codebase for any raw-query escape hatches in the ORM and confirm every one uses parameter binding, not string concatenation. |
|
|
30
|
+
| SEC-03-04 | `05_Backend_Handling/04_background_job_queue_security.md` | Background Job & Queue Security | Medium | Submit a queued job payload with malformed/malicious data directly (bypassing the API layer) and confirm the worker validates it the same way the API would. |
|
|
31
|
+
| SEC-03-05 | `05_Backend_Handling/05_error_handling_stack_traces.md` | Error Handling & Stack Trace Exposure | Medium | Send a malformed request (bad JSON, wrong content-type) to a production endpoint and confirm the response is a generic error, not a stack trace or file path. |
|
|
32
|
+
| SEC-03-06 | `03_Access_Control_Session_Auth/02_backend_access_control.md` | Backend Access Control | Critical | Using User A's valid session, request User B's resource ID directly and confirm a 403, not the data. |
|
|
33
|
+
| SEC-03-07 | `03_Access_Control_Session_Auth/05_rbac_abac.md` | RBAC / ABAC Models (added) | Medium | Pick a long-lived test account and diff its current granted permissions against what its role should have today, looking for accumulated excess access. |
|
|
34
|
+
| SEC-03-08 | `06_Data_Protection_Secrets/01_encryption_at_rest.md` | Encryption at Rest | High | Confirm via cloud console/CLI that the database volume, backups, and object storage all show encryption-at-rest enabled, not just the primary disk. |
|
|
35
|
+
| SEC-03-09 | `06_Data_Protection_Secrets/02_encryption_in_transit.md` | Encryption in Transit | High | Attempt to connect to the database and any internal service-to-service endpoint over plaintext and confirm the connection is refused, TLS-only. |
|
|
36
|
+
| SEC-03-10 | `06_Data_Protection_Secrets/03_pii_data_classification.md` | PII & Data Classification | Medium | Pull a sample data export/report and check whether it exposes any field classified as higher-sensitivity than the export's intended audience. |
|
|
37
|
+
| SEC-03-11 | `06_Data_Protection_Secrets/04_key_management.md` | Key Management (KMS) | Critical | Confirm encryption keys live in a KMS/HSM (not a config file or env var) and walk through the documented key-revocation procedure end to end. |
|
|
38
|
+
| SEC-03-12 | `06_Data_Protection_Secrets/05_tls_certificate_management.md` | TLS Certificate Management | High | Run an SSL/TLS scan (e.g. against the Mozilla Observatory or testssl.sh) on each public endpoint and confirm TLS 1.2+ only, no weak ciphers, valid expiry. |
|
|
@@ -1,21 +1,14 @@
|
|
|
1
1
|
# API Layer
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
## Phase 4: API Layer
|
|
4
4
|
|
|
5
5
|
**When to run this:** While building/reviewing any endpoint that's called over the network — internal or external.
|
|
6
6
|
|
|
7
7
|
**Goal of this pass:** Confirm authentication, authorization, and abuse controls are enforced on every endpoint, not assumed from the caller.
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## How to use this reference
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|---|---|
|
|
13
|
-
| `CHECKLIST.md` | What to check — the reference list of items, severity, and example test steps for this phase. Doesn't get filled in; copy it or use `RESULTS_TEMPLATE.md` to record a real pass. |
|
|
14
|
-
| `RESULTS_TEMPLATE.md` | Fillable version of the same checklist, with Result/Notes columns and a sign-off block. Copy this file per test pass (e.g. `RESULTS_2026-08-29.md`) so history isn't overwritten. |
|
|
15
|
-
|
|
16
|
-
Full background, "why it matters," and references for every item live in
|
|
17
|
-
`../../SECURITY_CHECKLIST.md` (search for the source file path shown in the
|
|
18
|
-
checklist below).
|
|
11
|
+
Use each stable control ID in a generated security worksheet. Record observed evidence before assigning a status; leave a control Unverified when evidence is unavailable. Preserve each dated worksheet as audit history.
|
|
19
12
|
|
|
20
13
|
## Sign-off criteria
|
|
21
14
|
|
|
@@ -25,27 +18,26 @@ checklist below).
|
|
|
25
18
|
|
|
26
19
|
---
|
|
27
20
|
|
|
28
|
-
|
|
21
|
+
## What to Check — Phase 4: API Layer
|
|
29
22
|
|
|
30
|
-
|
|
31
|
-
this same folder to actually record a test pass.
|
|
23
|
+
Use the applicable controls below to populate the worksheet findings table.
|
|
32
24
|
|
|
33
|
-
|
|
|
25
|
+
| Control ID | Source | Control | Severity | Evidence question |
|
|
34
26
|
|---|---|---|---|---|
|
|
35
|
-
|
|
|
36
|
-
|
|
|
37
|
-
|
|
|
38
|
-
|
|
|
39
|
-
|
|
|
40
|
-
|
|
|
41
|
-
|
|
|
42
|
-
|
|
|
43
|
-
|
|
|
44
|
-
| 10 | `01_API_Security/10_security_headers.md` | Security Headers (added) | Medium | Run curl -I against each public endpoint and confirm CSP, HSTS, X-Content-Type-Options, and frame-ancestors are all present. |
|
|
45
|
-
| 11 | `03_Access_Control_Session_Auth/07_session_management.md` | Session Management (added) | High | Capture the session cookie before and after login and confirm the session ID value actually changes (regenerates) rather than persisting. |
|
|
46
|
-
| 12 | `03_Access_Control_Session_Auth/08_mfa.md` | Multi-Factor Authentication (added) | Critical | Attempt the password-reset flow and confirm it cannot be used to fully log in while skipping the MFA step. |
|
|
47
|
-
| 13 | `03_Access_Control_Session_Auth/09_session_store_caching.md` | Session Store Security (Redis/Memcached) | High | Attempt to connect directly to the Redis/Memcached session store from outside the app network and confirm authentication is required and it isn't publicly reachable. |
|
|
48
|
-
| 14 | `03_Access_Control_Session_Auth/10_remember_me_persistent_login.md` | "Remember Me" & Persistent Login Tokens | High | Use a captured remember-me token once, then reuse the same (now-rotated-out) token value again and confirm it triggers revocation/alerting rather than silent success. |
|
|
49
|
-
| 15 | `03_Access_Control_Session_Auth/06_forced_reauth_sensitive_actions.md` | Forced Re-Authentication for Sensitive Actions | High | From an already-logged-in session, attempt to change the account email/password without re-entering credentials and confirm it's blocked. |
|
|
50
|
-
| 16 | `03_Access_Control_Session_Auth/03_cache_invalidation_on_auth_change.md` | Cache Invalidation on Auth/Privilege Change | High | Downgrade a test user's role, then immediately retry a privileged action with their still-active session and confirm it's now denied. |
|
|
51
|
-
| 17 | `03_Access_Control_Session_Auth/04_device_trust_fingerprinting.md` | Device Trust & Fingerprinting | Medium | Replay a captured device-trust identifier from a different browser/device and confirm it does not skip MFA. |
|
|
27
|
+
| SEC-04-01 | `01_API_Security/01_rate_limiting.md` | Rate Limiting | High | Fire 200 requests/sec at a login endpoint from one IP and confirm 429s with Retry-After start well before account lockout thresholds are reachable. |
|
|
28
|
+
| SEC-04-02 | `01_API_Security/02_api_keys.md` | API Keys | High | Grep the built client bundle and mobile binary for hardcoded key patterns, then rotate one key and confirm the old value is rejected within minutes. |
|
|
29
|
+
| SEC-04-03 | `01_API_Security/03_oauth2.md` | OAuth 2.0 | Critical | Attempt the authorization flow with a modified redirect_uri (e.g. attacker.com) and confirm the server rejects it rather than redirecting. |
|
|
30
|
+
| SEC-04-04 | `01_API_Security/04_jwt_validation.md` | JWT Validation | Critical | Submit a token with 'alg' changed to 'none' and an empty signature; confirm the API rejects it instead of trusting the claims. |
|
|
31
|
+
| SEC-04-05 | `01_API_Security/05_input_sanitation.md` | Input Sanitation | High | Submit oversized, wrong-type, and boundary values (e.g. negative quantity, 10k-char string) on every field and confirm consistent server-side rejection. |
|
|
32
|
+
| SEC-04-06 | `01_API_Security/06_cors_policy.md` | CORS Policy | High | Send a fetch with Origin: https://evil.com and credentials:'include'; confirm the Access-Control-Allow-Origin response does not reflect evil.com. |
|
|
33
|
+
| SEC-04-07 | `01_API_Security/07_mtls.md` | Mutual TLS (mTLS) | Medium | Present an expired or self-signed client certificate to the mTLS endpoint and confirm the connection is rejected, not silently accepted. |
|
|
34
|
+
| SEC-04-08 | `01_API_Security/08_request_signing.md` | Request Signing | Medium | Replay a previously captured signed request unmodified after its timestamp window; confirm it is rejected as a replay. |
|
|
35
|
+
| SEC-04-09 | `01_API_Security/09_ip_allowlisting.md` | IP Allowlisting | Medium | Send a request from a disallowed IP with a spoofed X-Forwarded-For header set to an allowlisted IP and confirm it is still blocked. |
|
|
36
|
+
| SEC-04-10 | `01_API_Security/10_security_headers.md` | Security Headers (added) | Medium | Run curl -I against each public endpoint and confirm CSP, HSTS, X-Content-Type-Options, and frame-ancestors are all present. |
|
|
37
|
+
| SEC-04-11 | `03_Access_Control_Session_Auth/07_session_management.md` | Session Management (added) | High | Capture the session cookie before and after login and confirm the session ID value actually changes (regenerates) rather than persisting. |
|
|
38
|
+
| SEC-04-12 | `03_Access_Control_Session_Auth/08_mfa.md` | Multi-Factor Authentication (added) | Critical | Attempt the password-reset flow and confirm it cannot be used to fully log in while skipping the MFA step. |
|
|
39
|
+
| SEC-04-13 | `03_Access_Control_Session_Auth/09_session_store_caching.md` | Session Store Security (Redis/Memcached) | High | Attempt to connect directly to the Redis/Memcached session store from outside the app network and confirm authentication is required and it isn't publicly reachable. |
|
|
40
|
+
| SEC-04-14 | `03_Access_Control_Session_Auth/10_remember_me_persistent_login.md` | "Remember Me" & Persistent Login Tokens | High | Use a captured remember-me token once, then reuse the same (now-rotated-out) token value again and confirm it triggers revocation/alerting rather than silent success. |
|
|
41
|
+
| SEC-04-15 | `03_Access_Control_Session_Auth/06_forced_reauth_sensitive_actions.md` | Forced Re-Authentication for Sensitive Actions | High | From an already-logged-in session, attempt to change the account email/password without re-entering credentials and confirm it's blocked. |
|
|
42
|
+
| SEC-04-16 | `03_Access_Control_Session_Auth/03_cache_invalidation_on_auth_change.md` | Cache Invalidation on Auth/Privilege Change | High | Downgrade a test user's role, then immediately retry a privileged action with their still-active session and confirm it's now denied. |
|
|
43
|
+
| SEC-04-17 | `03_Access_Control_Session_Auth/04_device_trust_fingerprinting.md` | Device Trust & Fingerprinting | Medium | Replay a captured device-trust identifier from a different browser/device and confirm it does not skip MFA. |
|
|
@@ -1,21 +1,14 @@
|
|
|
1
1
|
# Frontend & UI
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
## Phase 5: Frontend / UI Layer
|
|
4
4
|
|
|
5
5
|
**When to run this:** While building/reviewing client-side code — components, routing, state, build config.
|
|
6
6
|
|
|
7
7
|
**Goal of this pass:** Confirm the UI never becomes the actual security boundary, and that framework-specific escape hatches don't reopen XSS.
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## How to use this reference
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|---|---|
|
|
13
|
-
| `CHECKLIST.md` | What to check — the reference list of items, severity, and example test steps for this phase. Doesn't get filled in; copy it or use `RESULTS_TEMPLATE.md` to record a real pass. |
|
|
14
|
-
| `RESULTS_TEMPLATE.md` | Fillable version of the same checklist, with Result/Notes columns and a sign-off block. Copy this file per test pass (e.g. `RESULTS_2026-08-29.md`) so history isn't overwritten. |
|
|
15
|
-
|
|
16
|
-
Full background, "why it matters," and references for every item live in
|
|
17
|
-
`../../SECURITY_CHECKLIST.md` (search for the source file path shown in the
|
|
18
|
-
checklist below).
|
|
11
|
+
Use each stable control ID in a generated security worksheet. Record observed evidence before assigning a status; leave a control Unverified when evidence is unavailable. Preserve each dated worksheet as audit history.
|
|
19
12
|
|
|
20
13
|
## Sign-off criteria
|
|
21
14
|
|
|
@@ -25,20 +18,19 @@ checklist below).
|
|
|
25
18
|
|
|
26
19
|
---
|
|
27
20
|
|
|
28
|
-
|
|
21
|
+
## What to Check — Phase 5: Frontend / UI Layer
|
|
29
22
|
|
|
30
|
-
|
|
31
|
-
this same folder to actually record a test pass.
|
|
23
|
+
Use the applicable controls below to populate the worksheet findings table.
|
|
32
24
|
|
|
33
|
-
|
|
|
25
|
+
| Control ID | Source | Control | Severity | Evidence question |
|
|
34
26
|
|---|---|---|---|---|
|
|
35
|
-
|
|
|
36
|
-
|
|
|
37
|
-
|
|
|
38
|
-
|
|
|
39
|
-
|
|
|
40
|
-
|
|
|
41
|
-
|
|
|
42
|
-
|
|
|
43
|
-
|
|
|
44
|
-
| 10 | `03_Access_Control_Session_Auth/01_ui_ux_access_control.md` | UI/UX-Level Access Control | Medium | Call the underlying API directly with a lower-privilege token, bypassing the UI that hides the button, and confirm the server still denies it. |
|
|
27
|
+
| SEC-05-01 | `04_UI_Framework_Security/01_framework_xss_sinks.md` | Framework-Specific XSS Sinks | High | grep -r 'dangerouslySetInnerHTML\\|v-html\\|innerHTML' across the frontend source and confirm every hit sanitizes input (e.g. via DOMPurify) first. |
|
|
28
|
+
| SEC-05-02 | `04_UI_Framework_Security/02_client_side_routing_auth.md` | Client-Side Routing & Route Guards | High | Call the data-fetching API endpoint behind a guarded route directly via curl/Postman without going through the SPA route guard, and confirm it's still blocked server-side. |
|
|
29
|
+
| SEC-05-03 | `04_UI_Framework_Security/03_state_management_leaks.md` | State Management Data Leaks | Medium | Open Redux/Vuex devtools against the production build and search global state for tokens, secrets, or full user PII objects. |
|
|
30
|
+
| SEC-05-04 | `04_UI_Framework_Security/04_build_config_exposure.md` | Build Config & Source Map Exposure | Medium | Fetch every .map file path from the production bundle directly and confirm 404s; grep the deployed JS bundle for API key-shaped strings. |
|
|
31
|
+
| SEC-05-05 | `04_UI_Framework_Security/05_csp_framework_compatibility.md` | CSP Compatibility with UI Frameworks | Medium | Check the deployed CSP header for 'unsafe-inline'; if present, test whether nonces/hashes can replace it without breaking the framework's inline scripts. |
|
|
32
|
+
| SEC-05-06 | `02_Web_Vulnerabilities/02_xss.md` | Cross-Site Scripting (XSS) | Critical | Submit <script>alert(document.domain)</script> and common encoded variants into every reflected, stored, and DOM-rendered field. |
|
|
33
|
+
| SEC-05-07 | `02_Web_Vulnerabilities/03_csrf.md` | Cross-Site Request Forgery (CSRF) | High | Build an auto-submitting HTML form on a separate origin targeting a state-changing endpoint using the victim's real session cookie, and confirm it is rejected. |
|
|
34
|
+
| SEC-05-08 | `02_Web_Vulnerabilities/06_clickjacking.md` | Clickjacking | Medium | Embed the target page in an <iframe> on a test page and confirm the browser refuses to render it (frame-ancestors/X-Frame-Options enforced). |
|
|
35
|
+
| SEC-05-09 | `02_Web_Vulnerabilities/07_open_redirect.md` | Open Redirect | Medium | Set the redirect parameter to an external domain (and bypass tricks like //evil.com or trusted.com.evil.com) and confirm the app refuses or rewrites it. |
|
|
36
|
+
| SEC-05-10 | `03_Access_Control_Session_Auth/01_ui_ux_access_control.md` | UI/UX-Level Access Control | Medium | Call the underlying API directly with a lower-privilege token, bypassing the UI that hides the button, and confirm the server still denies it. |
|
package/skills/manage-project-quality/references/security-06-application-security-testing.md
CHANGED
|
@@ -1,21 +1,16 @@
|
|
|
1
1
|
# Application Security Testing
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
## Phase 6: Application Security Testing (QA / Staging)
|
|
4
4
|
|
|
5
5
|
**When to run this:** A dedicated security test pass in QA/staging before release — after features are functionally complete.
|
|
6
6
|
|
|
7
|
-
**Goal of this pass:**
|
|
7
|
+
**Goal of this pass:** Review deeper vulnerability classes in an explicitly authorized, isolated test environment with synthetic accounts and data. Confirm coverage against current OWASP baselines without placing production systems, third parties, or real credentials at risk.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
> Safety boundary: begin with passive code and configuration review. Active tests require written scope, stop conditions, rate limits, synthetic data, and a non-production target. Never probe cloud metadata, external hosts, or real user accounts.
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|---|---|
|
|
13
|
-
| `CHECKLIST.md` | What to check — the reference list of items, severity, and example test steps for this phase. Doesn't get filled in; copy it or use `RESULTS_TEMPLATE.md` to record a real pass. |
|
|
14
|
-
| `RESULTS_TEMPLATE.md` | Fillable version of the same checklist, with Result/Notes columns and a sign-off block. Copy this file per test pass (e.g. `RESULTS_2026-08-29.md`) so history isn't overwritten. |
|
|
11
|
+
## How to use this reference
|
|
15
12
|
|
|
16
|
-
|
|
17
|
-
`../../SECURITY_CHECKLIST.md` (search for the source file path shown in the
|
|
18
|
-
checklist below).
|
|
13
|
+
Use each stable control ID in a generated security worksheet. Record observed evidence before assigning a status; leave a control Unverified when evidence is unavailable. Preserve each dated worksheet as audit history.
|
|
19
14
|
|
|
20
15
|
## Sign-off criteria
|
|
21
16
|
|
|
@@ -25,24 +20,23 @@ checklist below).
|
|
|
25
20
|
|
|
26
21
|
---
|
|
27
22
|
|
|
28
|
-
|
|
23
|
+
## What to Check — Phase 6: Application Security Testing (QA / Staging)
|
|
29
24
|
|
|
30
|
-
|
|
31
|
-
this same folder to actually record a test pass.
|
|
25
|
+
Use the applicable controls below to populate the worksheet findings table.
|
|
32
26
|
|
|
33
|
-
|
|
|
27
|
+
| Control ID | Source | Control | Severity | Evidence question |
|
|
34
28
|
|---|---|---|---|---|
|
|
35
|
-
|
|
|
36
|
-
|
|
|
37
|
-
|
|
|
38
|
-
|
|
|
39
|
-
|
|
|
40
|
-
|
|
|
41
|
-
|
|
|
42
|
-
|
|
|
43
|
-
|
|
|
44
|
-
| 10 | `02_Web_Vulnerabilities/14_race_conditions.md` | Race Conditions (added) | High | Fire 20 identical concurrent requests at a discount/redeem endpoint and confirm only one succeeds, not all twenty. |
|
|
45
|
-
| 11 | `02_Web_Vulnerabilities/15_request_smuggling.md` | HTTP Request Smuggling (added) | Critical |
|
|
46
|
-
| 12 | `19_Security_Checklists/01_owasp_top10_checklist.md` | OWASP Top 10 Checklist | Reference | Use this as a coverage tracker after running folders 01-18 — check off each OWASP Top 10 category once its dedicated checklist items have been executed. |
|
|
47
|
-
| 13 | `19_Security_Checklists/02_api_security_checklist.md` | OWASP API Security Top 10 Checklist | Reference | Use this as a coverage tracker after running folder 01 (API_Security) and relevant items from 02/03 — confirm each OWASP API Top 10 category is addressed. |
|
|
48
|
-
| 14 | `19_Security_Checklists/03_pentest_checklist.md` | Penetration Test Checklist (added) | Reference | Use this as the top-level structure for any full engagement: confirm scope/RoE are signed before folder-by-folder testing begins. |
|
|
29
|
+
| SEC-06-01 | `02_Web_Vulnerabilities/01_sql_injection.md` | SQL Injection | Critical | Review parameterization and run a scanner only against an authorized disposable test dataset; record the tool, scope, rate limit, and evidence. |
|
|
30
|
+
| SEC-06-02 | `02_Web_Vulnerabilities/04_ssrf.md` | Server-Side Request Forgery (SSRF) | Critical | Use a controlled callback endpoint inside the test environment; never target real cloud metadata or third-party systems. |
|
|
31
|
+
| SEC-06-03 | `02_Web_Vulnerabilities/05_idor.md` | Insecure Direct Object Reference (IDOR) | Critical | Log in as User A, capture an object ID from a request, then repeat the identical request as User B and confirm access is denied. |
|
|
32
|
+
| SEC-06-04 | `02_Web_Vulnerabilities/08_path_traversal.md` | Path Traversal | Critical | Submit ../../../../etc/passwd and URL-encoded/unicode variants in any file-path parameter and confirm access stays within the intended directory. |
|
|
33
|
+
| SEC-06-05 | `02_Web_Vulnerabilities/09_insecure_deserialization.md` | Insecure Deserialization | Critical | Tamper with a serialized object/cookie (flip a field, change a type) and submit it; confirm the server rejects it rather than deserializing blindly. |
|
|
34
|
+
| SEC-06-06 | `02_Web_Vulnerabilities/10_broken_authentication.md` | Broken Authentication | Critical | Use synthetic accounts and generated passwords in an isolated environment to verify throttling and lockout without using breached credentials. |
|
|
35
|
+
| SEC-06-07 | `02_Web_Vulnerabilities/11_ssti.md` | Server-Side Template Injection (SSTI) (added) | Critical | Submit template syntax such as {{7*7}} or ${7*7} into user-controlled text fields and check whether the output evaluates to 49. |
|
|
36
|
+
| SEC-06-08 | `02_Web_Vulnerabilities/12_xxe.md` | XML External Entity (XXE) Injection (added) | Critical | Submit an XML payload with a DOCTYPE defining an external entity pointing to a local file and confirm the parser refuses to resolve it. |
|
|
37
|
+
| SEC-06-09 | `02_Web_Vulnerabilities/13_mass_assignment.md` | Mass Assignment (added) | High | Add an unexpected field such as "isAdmin": true to a normal profile-update request body and confirm it is ignored, not applied. |
|
|
38
|
+
| SEC-06-10 | `02_Web_Vulnerabilities/14_race_conditions.md` | Race Conditions (added) | High | Fire 20 identical concurrent requests at a discount/redeem endpoint and confirm only one succeeds, not all twenty. |
|
|
39
|
+
| SEC-06-11 | `02_Web_Vulnerabilities/15_request_smuggling.md` | HTTP Request Smuggling (added) | Critical | Prefer configuration review and vendor-supported test tooling; active ambiguity tests require an isolated proxy chain and explicit authorization. |
|
|
40
|
+
| SEC-06-12 | `19_Security_Checklists/01_owasp_top10_checklist.md` | OWASP Top 10 Checklist | Reference | Use this as a coverage tracker after running folders 01-18 — check off each OWASP Top 10 category once its dedicated checklist items have been executed. |
|
|
41
|
+
| SEC-06-13 | `19_Security_Checklists/02_api_security_checklist.md` | OWASP API Security Top 10 Checklist | Reference | Use this as a coverage tracker after running folder 01 (API_Security) and relevant items from 02/03 — confirm each OWASP API Top 10 category is addressed. |
|
|
42
|
+
| SEC-06-14 | `19_Security_Checklists/03_pentest_checklist.md` | Penetration Test Checklist (added) | Reference | Use this as the top-level structure for any full engagement: confirm scope/RoE are signed before folder-by-folder testing begins. |
|