@vetala/vetala 0.1.0-beta

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.

Potentially problematic release.


This version of @vetala/vetala might be problematic. Click here for more details.

Files changed (271) hide show
  1. package/CONTRIBUTING.md +77 -0
  2. package/LICENSE +184 -0
  3. package/README.md +136 -0
  4. package/THIRD_PARTY_LICENSES.md +17 -0
  5. package/dist/src/agent.d.ts +30 -0
  6. package/dist/src/agent.js +216 -0
  7. package/dist/src/agent.js.map +1 -0
  8. package/dist/src/approvals.d.ts +18 -0
  9. package/dist/src/approvals.js +81 -0
  10. package/dist/src/approvals.js.map +1 -0
  11. package/dist/src/cli.d.ts +2 -0
  12. package/dist/src/cli.js +87 -0
  13. package/dist/src/cli.js.map +1 -0
  14. package/dist/src/config.d.ts +12 -0
  15. package/dist/src/config.js +183 -0
  16. package/dist/src/config.js.map +1 -0
  17. package/dist/src/context-memory.d.ts +7 -0
  18. package/dist/src/context-memory.js +96 -0
  19. package/dist/src/context-memory.js.map +1 -0
  20. package/dist/src/ink/command-suggestions.d.ts +7 -0
  21. package/dist/src/ink/command-suggestions.js +179 -0
  22. package/dist/src/ink/command-suggestions.js.map +1 -0
  23. package/dist/src/ink/ink-terminal-ui.d.ts +36 -0
  24. package/dist/src/ink/ink-terminal-ui.js +79 -0
  25. package/dist/src/ink/ink-terminal-ui.js.map +1 -0
  26. package/dist/src/ink/repl-app.d.ts +9 -0
  27. package/dist/src/ink/repl-app.js +789 -0
  28. package/dist/src/ink/repl-app.js.map +1 -0
  29. package/dist/src/ink/transcript-cards.d.ts +6 -0
  30. package/dist/src/ink/transcript-cards.js +24 -0
  31. package/dist/src/ink/transcript-cards.js.map +1 -0
  32. package/dist/src/path-policy.d.ts +11 -0
  33. package/dist/src/path-policy.js +67 -0
  34. package/dist/src/path-policy.js.map +1 -0
  35. package/dist/src/process-utils.d.ts +13 -0
  36. package/dist/src/process-utils.js +52 -0
  37. package/dist/src/process-utils.js.map +1 -0
  38. package/dist/src/repl.d.ts +9 -0
  39. package/dist/src/repl.js +13 -0
  40. package/dist/src/repl.js.map +1 -0
  41. package/dist/src/sarvam/client.d.ts +15 -0
  42. package/dist/src/sarvam/client.js +208 -0
  43. package/dist/src/sarvam/client.js.map +1 -0
  44. package/dist/src/sarvam/models.d.ts +2 -0
  45. package/dist/src/sarvam/models.js +7 -0
  46. package/dist/src/sarvam/models.js.map +1 -0
  47. package/dist/src/search-provider.d.ts +6 -0
  48. package/dist/src/search-provider.js +8 -0
  49. package/dist/src/search-provider.js.map +1 -0
  50. package/dist/src/session-store.d.ts +19 -0
  51. package/dist/src/session-store.js +318 -0
  52. package/dist/src/session-store.js.map +1 -0
  53. package/dist/src/skills/runtime.d.ts +26 -0
  54. package/dist/src/skills/runtime.js +317 -0
  55. package/dist/src/skills/runtime.js.map +1 -0
  56. package/dist/src/skills/types.d.ts +25 -0
  57. package/dist/src/skills/types.js +2 -0
  58. package/dist/src/skills/types.js.map +1 -0
  59. package/dist/src/terminal-ui.d.ts +29 -0
  60. package/dist/src/terminal-ui.js +236 -0
  61. package/dist/src/terminal-ui.js.map +1 -0
  62. package/dist/src/tools/filesystem.d.ts +2 -0
  63. package/dist/src/tools/filesystem.js +622 -0
  64. package/dist/src/tools/filesystem.js.map +1 -0
  65. package/dist/src/tools/git.d.ts +2 -0
  66. package/dist/src/tools/git.js +326 -0
  67. package/dist/src/tools/git.js.map +1 -0
  68. package/dist/src/tools/index.d.ts +6 -0
  69. package/dist/src/tools/index.js +21 -0
  70. package/dist/src/tools/index.js.map +1 -0
  71. package/dist/src/tools/registry.d.ts +15 -0
  72. package/dist/src/tools/registry.js +59 -0
  73. package/dist/src/tools/registry.js.map +1 -0
  74. package/dist/src/tools/shell.d.ts +2 -0
  75. package/dist/src/tools/shell.js +97 -0
  76. package/dist/src/tools/shell.js.map +1 -0
  77. package/dist/src/tools/skill.d.ts +3 -0
  78. package/dist/src/tools/skill.js +130 -0
  79. package/dist/src/tools/skill.js.map +1 -0
  80. package/dist/src/tools/web.d.ts +3 -0
  81. package/dist/src/tools/web.js +144 -0
  82. package/dist/src/tools/web.js.map +1 -0
  83. package/dist/src/types.d.ts +236 -0
  84. package/dist/src/types.js +2 -0
  85. package/dist/src/types.js.map +1 -0
  86. package/dist/src/workspace-trust.d.ts +3 -0
  87. package/dist/src/workspace-trust.js +31 -0
  88. package/dist/src/workspace-trust.js.map +1 -0
  89. package/dist/src/xdg.d.ts +9 -0
  90. package/dist/src/xdg.js +77 -0
  91. package/dist/src/xdg.js.map +1 -0
  92. package/package.json +57 -0
  93. package/skill/agents-md-generator/SKILL.md +75 -0
  94. package/skill/agents-md-generator/references/agents_md_template.md +160 -0
  95. package/skill/agents-md-generator/references/loc_measurement.md +67 -0
  96. package/skill/agents-md-generator/references/monorepo_detection.md +78 -0
  97. package/skill/agents-md-generator/references/monorepo_strategy.md +60 -0
  98. package/skill/agents-md-generator/references/read_only_commands.md +151 -0
  99. package/skill/agents-md-generator/references/update_strategy.md +160 -0
  100. package/skill/agents-md-generator/references/working_agreements.md +53 -0
  101. package/skill/biz-opportunity-scout/SKILL.md +53 -0
  102. package/skill/biz-opportunity-scout/references/competitive_analysis.md +84 -0
  103. package/skill/biz-opportunity-scout/references/market_sizing.md +68 -0
  104. package/skill/biz-opportunity-scout/references/pmf_indicators.md +94 -0
  105. package/skill/biz-opportunity-scout/references/report_template.md +243 -0
  106. package/skill/biz-opportunity-scout/references/unit_economics.md +97 -0
  107. package/skill/code-review/SKILL.md +86 -0
  108. package/skill/code-review/references/change_analysis.md +116 -0
  109. package/skill/code-review/references/git_operations.md +115 -0
  110. package/skill/code-review/references/impact_detection.md +149 -0
  111. package/skill/code-review/references/output_format.md +137 -0
  112. package/skill/code-review/references/severity_criteria.md +100 -0
  113. package/skill/code-security-audit/SKILL.md +123 -0
  114. package/skill/code-security-audit/references/audit_process.md +277 -0
  115. package/skill/code-security-audit/references/remediation_patterns.md +599 -0
  116. package/skill/code-security-audit/references/report_format.md +391 -0
  117. package/skill/code-security-audit/references/security_domains.md +830 -0
  118. package/skill/code-security-audit/references/vulnerability_patterns.md +813 -0
  119. package/skill/composition-patterns/SKILL.md +83 -0
  120. package/skill/composition-patterns/rules/architecture-avoid-boolean-props.md +100 -0
  121. package/skill/composition-patterns/rules/architecture-compound-components.md +112 -0
  122. package/skill/composition-patterns/rules/patterns-children-over-render-props.md +87 -0
  123. package/skill/composition-patterns/rules/patterns-explicit-variants.md +100 -0
  124. package/skill/composition-patterns/rules/react19-no-forwardref.md +42 -0
  125. package/skill/composition-patterns/rules/state-context-interface.md +191 -0
  126. package/skill/composition-patterns/rules/state-decouple-implementation.md +113 -0
  127. package/skill/composition-patterns/rules/state-lift-state.md +125 -0
  128. package/skill/deploy-to-vercel/SKILL.md +293 -0
  129. package/skill/deploy-to-vercel/resources/deploy-sandbox.sh +301 -0
  130. package/skill/deploy-to-vercel/resources/deploy.sh +301 -0
  131. package/skill/doc/SKILL_GUIDELINES.md +138 -0
  132. package/skill/git-workflow/SKILL.md +94 -0
  133. package/skill/git-workflow/references/advanced-git.md +632 -0
  134. package/skill/git-workflow/references/branching-strategies.md +344 -0
  135. package/skill/git-workflow/references/ci-cd-integration.md +683 -0
  136. package/skill/git-workflow/references/code-quality-tools.md +351 -0
  137. package/skill/git-workflow/references/commit-conventions.md +439 -0
  138. package/skill/git-workflow/references/github-releases.md +288 -0
  139. package/skill/git-workflow/references/pull-request-workflow.md +773 -0
  140. package/skill/git-workflow/scripts/verify-git-workflow.sh +263 -0
  141. package/skill/jetbrains-vmoptions/SKILL.md +51 -0
  142. package/skill/jetbrains-vmoptions/references/common-options.md +357 -0
  143. package/skill/jetbrains-vmoptions/references/gc-options.md +350 -0
  144. package/skill/jetbrains-vmoptions/references/memory-options.md +339 -0
  145. package/skill/jetbrains-vmoptions/references/prerequisite-check.md +65 -0
  146. package/skill/kysely-converter/SKILL.md +62 -0
  147. package/skill/kysely-converter/references/delete.md +323 -0
  148. package/skill/kysely-converter/references/insert.md +386 -0
  149. package/skill/kysely-converter/references/operators.md +331 -0
  150. package/skill/kysely-converter/references/select.md +1000 -0
  151. package/skill/kysely-converter/references/update.md +349 -0
  152. package/skill/kysely-converter/references/window_function.md +537 -0
  153. package/skill/react-best-practices/SKILL.md +131 -0
  154. package/skill/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  155. package/skill/react-best-practices/rules/advanced-init-once.md +42 -0
  156. package/skill/react-best-practices/rules/advanced-use-latest.md +39 -0
  157. package/skill/react-best-practices/rules/async-api-routes.md +38 -0
  158. package/skill/react-best-practices/rules/async-defer-await.md +80 -0
  159. package/skill/react-best-practices/rules/async-dependencies.md +51 -0
  160. package/skill/react-best-practices/rules/async-parallel.md +28 -0
  161. package/skill/react-best-practices/rules/async-suspense-boundaries.md +99 -0
  162. package/skill/react-best-practices/rules/bundle-barrel-imports.md +59 -0
  163. package/skill/react-best-practices/rules/bundle-conditional.md +31 -0
  164. package/skill/react-best-practices/rules/bundle-defer-third-party.md +49 -0
  165. package/skill/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  166. package/skill/react-best-practices/rules/bundle-preload.md +50 -0
  167. package/skill/react-best-practices/rules/client-event-listeners.md +74 -0
  168. package/skill/react-best-practices/rules/client-localstorage-schema.md +71 -0
  169. package/skill/react-best-practices/rules/client-passive-event-listeners.md +48 -0
  170. package/skill/react-best-practices/rules/client-swr-dedup.md +56 -0
  171. package/skill/react-best-practices/rules/js-batch-dom-css.md +107 -0
  172. package/skill/react-best-practices/rules/js-cache-function-results.md +80 -0
  173. package/skill/react-best-practices/rules/js-cache-property-access.md +28 -0
  174. package/skill/react-best-practices/rules/js-cache-storage.md +70 -0
  175. package/skill/react-best-practices/rules/js-combine-iterations.md +32 -0
  176. package/skill/react-best-practices/rules/js-early-exit.md +50 -0
  177. package/skill/react-best-practices/rules/js-hoist-regexp.md +45 -0
  178. package/skill/react-best-practices/rules/js-index-maps.md +37 -0
  179. package/skill/react-best-practices/rules/js-length-check-first.md +49 -0
  180. package/skill/react-best-practices/rules/js-min-max-loop.md +82 -0
  181. package/skill/react-best-practices/rules/js-set-map-lookups.md +24 -0
  182. package/skill/react-best-practices/rules/js-tosorted-immutable.md +57 -0
  183. package/skill/react-best-practices/rules/rendering-activity.md +26 -0
  184. package/skill/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  185. package/skill/react-best-practices/rules/rendering-conditional-render.md +40 -0
  186. package/skill/react-best-practices/rules/rendering-content-visibility.md +38 -0
  187. package/skill/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  188. package/skill/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  189. package/skill/react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
  190. package/skill/react-best-practices/rules/rendering-svg-precision.md +28 -0
  191. package/skill/react-best-practices/rules/rendering-usetransition-loading.md +75 -0
  192. package/skill/react-best-practices/rules/rerender-defer-reads.md +39 -0
  193. package/skill/react-best-practices/rules/rerender-dependencies.md +45 -0
  194. package/skill/react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
  195. package/skill/react-best-practices/rules/rerender-derived-state.md +29 -0
  196. package/skill/react-best-practices/rules/rerender-functional-setstate.md +74 -0
  197. package/skill/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  198. package/skill/react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
  199. package/skill/react-best-practices/rules/rerender-memo.md +44 -0
  200. package/skill/react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
  201. package/skill/react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
  202. package/skill/react-best-practices/rules/rerender-transitions.md +40 -0
  203. package/skill/react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
  204. package/skill/react-best-practices/rules/server-after-nonblocking.md +73 -0
  205. package/skill/react-best-practices/rules/server-auth-actions.md +96 -0
  206. package/skill/react-best-practices/rules/server-cache-lru.md +41 -0
  207. package/skill/react-best-practices/rules/server-cache-react.md +76 -0
  208. package/skill/react-best-practices/rules/server-dedup-props.md +65 -0
  209. package/skill/react-best-practices/rules/server-hoist-static-io.md +142 -0
  210. package/skill/react-best-practices/rules/server-parallel-fetching.md +83 -0
  211. package/skill/react-best-practices/rules/server-serialization.md +38 -0
  212. package/skill/react-native-skills/SKILL.md +115 -0
  213. package/skill/react-native-skills/rules/animation-derived-value.md +53 -0
  214. package/skill/react-native-skills/rules/animation-gesture-detector-press.md +95 -0
  215. package/skill/react-native-skills/rules/animation-gpu-properties.md +65 -0
  216. package/skill/react-native-skills/rules/design-system-compound-components.md +66 -0
  217. package/skill/react-native-skills/rules/fonts-config-plugin.md +71 -0
  218. package/skill/react-native-skills/rules/imports-design-system-folder.md +68 -0
  219. package/skill/react-native-skills/rules/js-hoist-intl.md +61 -0
  220. package/skill/react-native-skills/rules/list-performance-callbacks.md +44 -0
  221. package/skill/react-native-skills/rules/list-performance-function-references.md +132 -0
  222. package/skill/react-native-skills/rules/list-performance-images.md +53 -0
  223. package/skill/react-native-skills/rules/list-performance-inline-objects.md +97 -0
  224. package/skill/react-native-skills/rules/list-performance-item-expensive.md +94 -0
  225. package/skill/react-native-skills/rules/list-performance-item-memo.md +82 -0
  226. package/skill/react-native-skills/rules/list-performance-item-types.md +104 -0
  227. package/skill/react-native-skills/rules/list-performance-virtualize.md +67 -0
  228. package/skill/react-native-skills/rules/monorepo-native-deps-in-app.md +46 -0
  229. package/skill/react-native-skills/rules/monorepo-single-dependency-versions.md +63 -0
  230. package/skill/react-native-skills/rules/navigation-native-navigators.md +188 -0
  231. package/skill/react-native-skills/rules/react-compiler-destructure-functions.md +50 -0
  232. package/skill/react-native-skills/rules/react-compiler-reanimated-shared-values.md +48 -0
  233. package/skill/react-native-skills/rules/react-state-dispatcher.md +91 -0
  234. package/skill/react-native-skills/rules/react-state-fallback.md +56 -0
  235. package/skill/react-native-skills/rules/react-state-minimize.md +65 -0
  236. package/skill/react-native-skills/rules/rendering-no-falsy-and.md +74 -0
  237. package/skill/react-native-skills/rules/rendering-text-in-text-component.md +36 -0
  238. package/skill/react-native-skills/rules/scroll-position-no-state.md +82 -0
  239. package/skill/react-native-skills/rules/state-ground-truth.md +80 -0
  240. package/skill/react-native-skills/rules/ui-expo-image.md +66 -0
  241. package/skill/react-native-skills/rules/ui-image-gallery.md +104 -0
  242. package/skill/react-native-skills/rules/ui-measure-views.md +78 -0
  243. package/skill/react-native-skills/rules/ui-menus.md +174 -0
  244. package/skill/react-native-skills/rules/ui-native-modals.md +77 -0
  245. package/skill/react-native-skills/rules/ui-pressable.md +61 -0
  246. package/skill/react-native-skills/rules/ui-safe-area-scroll.md +65 -0
  247. package/skill/react-native-skills/rules/ui-scrollview-content-inset.md +45 -0
  248. package/skill/react-native-skills/rules/ui-styling.md +87 -0
  249. package/skill/react-vite-guide/SKILL.md +101 -0
  250. package/skill/react-vite-guide/references/composition-patterns.md +709 -0
  251. package/skill/react-vite-guide/references/performance-optimization.md +1222 -0
  252. package/skill/react-vite-guide/references/vite-specific.md +385 -0
  253. package/skill/react-vite-guide/references/web-interface.md +146 -0
  254. package/skill/skill-maker/SKILL.md +52 -0
  255. package/skill/skill-maker/references/content_spec.md +67 -0
  256. package/skill/skill-maker/references/frontmatter_spec.md +96 -0
  257. package/skill/skill-maker/references/input_validation.md +90 -0
  258. package/skill/skill-maker/references/skill_structure.md +74 -0
  259. package/skill/system-prompt-creator/SKILL.md +50 -0
  260. package/skill/system-prompt-creator/references/data_format_selection.md +135 -0
  261. package/skill/system-prompt-creator/references/multi_prompt_architecture.md +386 -0
  262. package/skill/system-prompt-creator/references/prompt_structure.md +140 -0
  263. package/skill/system-prompt-creator/references/quality_criteria.md +83 -0
  264. package/skill/typst-creator/SKILL.md +51 -0
  265. package/skill/typst-creator/references/layout.md +401 -0
  266. package/skill/typst-creator/references/math.md +297 -0
  267. package/skill/typst-creator/references/scripting.md +237 -0
  268. package/skill/typst-creator/references/styling.md +217 -0
  269. package/skill/typst-creator/references/syntax.md +234 -0
  270. package/skill/web-design-guidelines/SKILL.md +35 -0
  271. package/terminal.png +0 -0
@@ -0,0 +1,277 @@
1
+ # Audit Process
2
+
3
+ Complete step-by-step methodology for OWASP-based code security audits.
4
+
5
+ ## Table of Contents
6
+
7
+ - [Phase 1: Reconnaissance](#phase-1-reconnaissance)
8
+ - [Phase 2: Scope Definition](#phase-2-scope-definition)
9
+ - [Phase 3: Domain Analysis](#phase-3-domain-analysis)
10
+ - [Phase 4: Finding Synthesis](#phase-4-finding-synthesis)
11
+ - [Phase 5: Remediation Mapping](#phase-5-remediation-mapping)
12
+ - [Phase 6: Report Generation](#phase-6-report-generation)
13
+
14
+ ## Phase 1: Reconnaissance
15
+
16
+ Technology stack, architecture, and security-relevant areas are identified before any analysis.
17
+
18
+ ### 1.1 Technology Stack Identification
19
+
20
+ ```yaml
21
+ targets:
22
+ - Package manifests: package.json, requirements.txt, go.mod, pom.xml, build.gradle, Gemfile, Cargo.toml, composer.json
23
+ - Framework configs: next.config.js, nuxt.config.ts, angular.json, settings.py, application.yml, appsettings.json
24
+ - Docker/infra: Dockerfile, docker-compose.yml, .env files, terraform/*.tf, k8s manifests
25
+ - CI/CD: .github/workflows/*.yml, .gitlab-ci.yml, Jenkinsfile
26
+ ```
27
+
28
+ ### 1.2 Entry Point Mapping
29
+
30
+ ```yaml
31
+ targets:
32
+ - API routes: controllers/, routes/, handlers/, api/, endpoints/
33
+ - Middleware: middleware/, filters/, interceptors/, guards/
34
+ - Authentication: auth/, login, signup, token, session, oauth
35
+ - File upload: upload, multipart, file, attachment, blob
36
+ - External calls: http client usage, fetch, axios, requests, webhooks
37
+ ```
38
+
39
+ ### 1.3 Security Configuration Discovery
40
+
41
+ ```yaml
42
+ targets:
43
+ - Auth config: JWT secret/config, OAuth settings, session config, CORS policy
44
+ - Crypto config: encryption keys, certificate paths, TLS settings
45
+ - Security headers: helmet, CSP, HSTS, X-Frame-Options settings
46
+ - Logging config: log levels, sensitive data masking, audit trail
47
+ - Environment: .env, .env.example, secrets management, config injection
48
+ ```
49
+
50
+ ### 1.4 Data Flow Mapping
51
+
52
+ ```yaml
53
+ targets:
54
+ - User input entry: request body parsing, query params, path params, headers, cookies
55
+ - Database interaction: ORM models, raw queries, migration files, schema definitions
56
+ - External API calls: third-party integrations, webhook handlers, service-to-service
57
+ - Output rendering: template engines, response serialization, HTML generation
58
+ - File I/O: file read/write, temporary files, log files, export/import
59
+ ```
60
+
61
+ ## Phase 2: Scope Definition
62
+
63
+ ### 2.1 ASVS Level Selection
64
+
65
+ | Level | Target | Coverage |
66
+ |-------|--------|----------|
67
+ | **L1** | All applications (minimum baseline) | ~86 requirements — essential controls |
68
+ | **L2** | Applications handling sensitive data (recommended default) | ~230 requirements — standard security |
69
+ | **L3** | Critical applications (banking, healthcare, military) | ~345 requirements — comprehensive defense |
70
+
71
+ ### 2.2 Domain Applicability Matrix
72
+
73
+ Domain applicability is determined based on the technology stack discovered in Phase 1.
74
+
75
+ | Domain | Applies When |
76
+ |--------|-------------|
77
+ | V1 Encoding & Sanitization | Always |
78
+ | V2 Validation & Business Logic | Always |
79
+ | V3 Web Frontend Security | Frontend code exists (HTML, JS, templates) |
80
+ | V4 API & Web Service | API endpoints exist (REST, GraphQL, SOAP) |
81
+ | V5 File Handling | File upload/download/processing exists |
82
+ | V6 Authentication | Auth system exists |
83
+ | V7 Session Management | Session-based auth exists |
84
+ | V8 Authorization | Multi-role or resource-based access exists |
85
+ | V9 Self-contained Tokens | JWT or similar token usage exists |
86
+ | V10 OAuth & OIDC | OAuth/OIDC integration exists |
87
+ | V11 Cryptography | Encryption, hashing, or signing is used |
88
+ | V12 Secure Communication | Network communication exists |
89
+ | V13 Configuration | Always |
90
+ | V14 Data Protection | PII, financial, or health data is processed |
91
+ | V15 Secure Coding & Architecture | Always |
92
+ | V16 Logging & Error Handling | Always |
93
+ | V17 WebRTC | WebRTC functionality exists |
94
+
95
+ ### 2.3 Focus Area Prioritization
96
+
97
+ Focus areas map to domains as follows:
98
+
99
+ ```yaml
100
+ mapping:
101
+ injection: [V1, V2]
102
+ authentication: [V6, V7, V9, V10]
103
+ authorization: [V8]
104
+ cryptography: [V11, V12]
105
+ api-security: [V4, V17]
106
+ session: [V7, V9, V10]
107
+ file-handling: [V5]
108
+ data-protection: [V14]
109
+ configuration: [V13, V16]
110
+ secure-coding: [V3, V15]
111
+ ```
112
+
113
+ ## Phase 3: Domain Analysis
114
+
115
+ Each applicable domain follows this analysis loop:
116
+
117
+ ```
118
+ For each domain:
119
+ 1. Identify relevant code files using reconnaissance data
120
+ 2. Read and analyze code against domain-specific requirements
121
+ 3. Check for known vulnerability patterns (→ vulnerability_patterns.md)
122
+ 4. Record findings with:
123
+ - Location (file:line)
124
+ - ASVS requirement ID
125
+ - CWE ID
126
+ - Severity level
127
+ - Evidence (code snippet)
128
+ - Confidence (confirmed / likely / possible)
129
+ ```
130
+
131
+ ### Analysis Priorities Per Domain
132
+
133
+ Domains are ordered by this priority for maximum early detection:
134
+
135
+ ```
136
+ Priority 1 (Critical attack surface):
137
+ → V1 Encoding & Sanitization (injection is top risk)
138
+ → V6 Authentication (auth bypass = full compromise)
139
+ → V8 Authorization (access control failures)
140
+
141
+ Priority 2 (High impact):
142
+ → V4 API & Web Service
143
+ → V11 Cryptography
144
+ → V14 Data Protection
145
+ → V15 Secure Coding & Architecture
146
+
147
+ Priority 3 (Standard coverage):
148
+ → V2 Validation & Business Logic
149
+ → V7 Session Management
150
+ → V9 Self-contained Tokens
151
+ → V13 Configuration
152
+ → V16 Logging & Error Handling
153
+
154
+ Priority 4 (Specialized):
155
+ → V3 Web Frontend Security
156
+ → V5 File Handling
157
+ → V10 OAuth & OIDC
158
+ → V12 Secure Communication
159
+ → V17 WebRTC
160
+ ```
161
+
162
+ ### Search Strategies Per Domain
163
+
164
+ ```yaml
165
+ V1_encoding:
166
+ search_terms: [escape, encode, sanitize, htmlspecialchars, encodeURI, DOMPurify, parameterized, prepared]
167
+ anti_patterns: [innerHTML, dangerouslySetInnerHTML, string concatenation in queries, eval, exec]
168
+
169
+ V6_authentication:
170
+ search_terms: [login, authenticate, password, hash, bcrypt, argon2, jwt.sign, jwt.verify, compareSync]
171
+ anti_patterns: [plaintext password, md5, sha1 for passwords, hardcoded secrets, "alg":"none"]
172
+
173
+ V8_authorization:
174
+ search_terms: [authorize, permission, role, guard, policy, canActivate, @Roles, isAdmin, hasPermission]
175
+ anti_patterns: [missing auth checks on routes, client-side-only auth, direct object reference without check]
176
+
177
+ V11_cryptography:
178
+ search_terms: [encrypt, decrypt, AES, RSA, hmac, cipher, crypto, randomBytes, generateKey]
179
+ anti_patterns: [DES, 3DES, RC4, ECB mode, Math.random for security, hardcoded IV/key, weak key size]
180
+
181
+ V4_api:
182
+ search_terms: [rate limit, throttle, cors, helmet, csrf, content-type validation, schema validation]
183
+ anti_patterns: ["cors: { origin: '*' }", missing rate limit, no input size limit, verbose error response]
184
+
185
+ V2_validation:
186
+ search_terms: [validate, validator, schema, Joi, Zod, yup, class-validator, @IsString, @IsInt]
187
+ anti_patterns: [missing server-side validation, client-side-only validation, unchecked req.body fields]
188
+
189
+ V3_frontend:
190
+ search_terms: [CSP, Content-Security-Policy, X-Frame-Options, frame-ancestors, SameSite, Sec-Fetch, postMessage]
191
+ anti_patterns: [innerHTML, dangerouslySetInnerHTML, v-html, document.write, bypassSecurityTrustHtml, "unsafe-inline"]
192
+
193
+ V5_file_handling:
194
+ search_terms: [upload, multer, multipart, file-type, magic bytes, fs.readFile, path.join, Content-Disposition]
195
+ anti_patterns: [user filename in path, no file size limit, no extension allowlist, serve from web root]
196
+
197
+ V7_session:
198
+ search_terms: [session, cookie, Set-Cookie, express-session, HttpOnly, Secure, SameSite, __Host-, regenerate]
199
+ anti_patterns: [missing session regeneration on login, long session lifetime, no absolute timeout, session in URL]
200
+
201
+ V9_tokens:
202
+ search_terms: [jwt, jsonwebtoken, jose, JWT_SECRET, token.verify, algorithms, exp, aud, iss, nbf]
203
+ anti_patterns: ["algorithms: ['none']", missing exp check, hardcoded JWT secret, jwt.decode without verify]
204
+
205
+ V13_configuration:
206
+ search_terms: [.env, dotenv, config, DEBUG, NODE_ENV, X-Powered-By, server header, actuator, swagger]
207
+ anti_patterns: [DEBUG=True in production, .env committed, X-Powered-By present, actuator exposed, swagger in prod]
208
+
209
+ V14_data_protection:
210
+ search_terms: [sensitive, PII, redact, mask, Clear-Site-Data, Cache-Control, no-store, localStorage, sessionStorage]
211
+ anti_patterns: [password in URL, token in query string, sensitive data in logs, console.log(req.body)]
212
+
213
+ V15_secure_coding:
214
+ search_terms: [Object.assign, spread operator, prototype, __proto__, dependency, lock file, mass assignment]
215
+ anti_patterns: [prototype pollution, Object.assign(model, req.body), User.create(req.body), missing lock file]
216
+
217
+ V16_logging:
218
+ search_terms: [logger, winston, pino, log4j, logging, error handler, global exception, try catch]
219
+ anti_patterns: [stack trace in response, res.status(500).send(err), console.log(password), missing error handler]
220
+ ```
221
+
222
+ ## Phase 4: Finding Synthesis
223
+
224
+ ### 4.1 Deduplication
225
+
226
+ Multiple source checks may flag the same underlying issue. Consolidation follows:
227
+
228
+ ```
229
+ 1. Group findings by file:line location
230
+ 2. Merge overlapping findings into single entry
231
+ 3. Keep the highest severity rating
232
+ 4. Retain all cross-references (ASVS + API Top 10 + CWE + WSTG)
233
+ ```
234
+
235
+ ### 4.2 Cross-Source Correlation
236
+
237
+ For each finding, attach applicable references from all 4 sources:
238
+
239
+ ```yaml
240
+ finding:
241
+ asvs: "V1.2.1" # ASVS requirement ID
242
+ api_top10: "API1:2023" # API Security risk (if applicable)
243
+ cwe: "CWE-79" # CWE identifier
244
+ wstg: "WSTG-INPV-01" # WSTG test scenario ID
245
+ cheatsheet: "Cross_Site_Scripting_Prevention_Cheat_Sheet" # Remediation source
246
+ ```
247
+
248
+ ### 4.3 Confidence Assessment
249
+
250
+ | Confidence | Criteria |
251
+ |------------|----------|
252
+ | **Confirmed** | Vulnerable pattern directly observed in code with exploitable context |
253
+ | **Likely** | Pattern matches known vulnerability, context strongly suggests exploitability |
254
+ | **Possible** | Suspicious pattern found, but exploitability depends on runtime context or configuration |
255
+
256
+ ## Phase 5: Remediation Mapping
257
+
258
+ Each finding is paired with remediation guidance from the CheatSheet Series (→ remediation_patterns.md):
259
+
260
+ ```
261
+ 1. Identify the vulnerability category
262
+ 2. Look up the corresponding CheatSheet
263
+ 3. Extract the specific fix pattern applicable to the finding's language/framework
264
+ 4. Include code-level fix example where possible
265
+ ```
266
+
267
+ ## Phase 6: Report Generation
268
+
269
+ The final Markdown report follows the structure in report_format.md:
270
+
271
+ ```
272
+ 1. Compile executive summary with statistics
273
+ 2. Build findings table sorted by severity
274
+ 3. Write per-domain detailed sections
275
+ 4. Generate remediation roadmap (Critical → High → Medium → Low)
276
+ 5. Document audit metadata (scope, limitations, methodology)
277
+ ```