@hoanghainh/komagu 1.8.0 → 2.0.1

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.
Files changed (210) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +1 -1
  3. package/assess/lsa/CHANGELOG.md +6 -0
  4. package/assess/lsa/VERSION +1 -1
  5. package/assess/lsa/adapters/build_adapters.py +16 -8
  6. package/assess/lsa/adapters/codex/README.md +1 -1
  7. package/assess/lsa/adapters/generic/README.md +1 -1
  8. package/assess/lsa/examples/eval-run-4/ground-truth.json +823 -0
  9. package/assess/lsa/examples/eval-run-4/iter0-gptoss-a/ai-run-stats.json +58 -0
  10. package/assess/lsa/examples/eval-run-4/iter0-gptoss-a/coverage.json +85 -0
  11. package/assess/lsa/examples/eval-run-4/iter0-gptoss-a/findings/priv-privilege-001.json +822 -0
  12. package/assess/lsa/examples/eval-run-4/iter0-gptoss-a/findings/priv-privilege-002.json +393 -0
  13. package/assess/lsa/examples/eval-run-4/iter0-gptoss-a/findings.json +4477 -0
  14. package/assess/lsa/examples/eval-run-4/iter0-gptoss-a/mass-assignment.candidates.json +232 -0
  15. package/assess/lsa/examples/eval-run-4/iter0-gptoss-a/routes/routes-001.json +425 -0
  16. package/assess/lsa/examples/eval-run-4/iter0-gptoss-a/routes/routes-002.json +333 -0
  17. package/assess/lsa/examples/eval-run-4/iter0-gptoss-a/routes/routes-003.json +400 -0
  18. package/assess/lsa/examples/eval-run-4/iter0-gptoss-a/routes/routes-004.json +403 -0
  19. package/assess/lsa/examples/eval-run-4/iter0-gptoss-a/routes/routes-005.json +398 -0
  20. package/assess/lsa/examples/eval-run-4/iter0-gptoss-a/routes/routes-006.json +63 -0
  21. package/assess/lsa/examples/eval-run-4/iter0-gptoss-a/score.json +120 -0
  22. package/assess/lsa/examples/eval-run-4/iter1-gptoss-a/ai-run-stats.json +55 -0
  23. package/assess/lsa/examples/eval-run-4/iter1-gptoss-a/coverage.json +50 -0
  24. package/assess/lsa/examples/eval-run-4/iter1-gptoss-a/findings/priv-privilege-001.json +613 -0
  25. package/assess/lsa/examples/eval-run-4/iter1-gptoss-a/findings/priv-privilege-002.json +287 -0
  26. package/assess/lsa/examples/eval-run-4/iter1-gptoss-a/findings.json +4870 -0
  27. package/assess/lsa/examples/eval-run-4/iter1-gptoss-a/mass-assignment.candidates.json +232 -0
  28. package/assess/lsa/examples/eval-run-4/iter1-gptoss-a/routes/routes-001.json +425 -0
  29. package/assess/lsa/examples/eval-run-4/iter1-gptoss-a/routes/routes-002.json +333 -0
  30. package/assess/lsa/examples/eval-run-4/iter1-gptoss-a/routes/routes-003.json +400 -0
  31. package/assess/lsa/examples/eval-run-4/iter1-gptoss-a/routes/routes-004.json +403 -0
  32. package/assess/lsa/examples/eval-run-4/iter1-gptoss-a/routes/routes-005.json +398 -0
  33. package/assess/lsa/examples/eval-run-4/iter1-gptoss-a/routes/routes-006.json +63 -0
  34. package/assess/lsa/examples/eval-run-4/iter1-gptoss-a/score.json +107 -0
  35. package/assess/lsa/examples/eval-run-4/iter1-gptoss-b/ai-run-stats.json +58 -0
  36. package/assess/lsa/examples/eval-run-4/iter1-gptoss-b/coverage.json +92 -0
  37. package/assess/lsa/examples/eval-run-4/iter1-gptoss-b/findings/priv-privilege-001.json +645 -0
  38. package/assess/lsa/examples/eval-run-4/iter1-gptoss-b/findings/priv-privilege-002.json +222 -0
  39. package/assess/lsa/examples/eval-run-4/iter1-gptoss-b/findings.json +4859 -0
  40. package/assess/lsa/examples/eval-run-4/iter1-gptoss-b/mass-assignment.candidates.json +232 -0
  41. package/assess/lsa/examples/eval-run-4/iter1-gptoss-b/routes/routes-001.json +425 -0
  42. package/assess/lsa/examples/eval-run-4/iter1-gptoss-b/routes/routes-002.json +333 -0
  43. package/assess/lsa/examples/eval-run-4/iter1-gptoss-b/routes/routes-003.json +400 -0
  44. package/assess/lsa/examples/eval-run-4/iter1-gptoss-b/routes/routes-004.json +403 -0
  45. package/assess/lsa/examples/eval-run-4/iter1-gptoss-b/routes/routes-005.json +398 -0
  46. package/assess/lsa/examples/eval-run-4/iter1-gptoss-b/routes/routes-006.json +63 -0
  47. package/assess/lsa/examples/eval-run-4/iter1-gptoss-b/score.json +121 -0
  48. package/assess/lsa/examples/eval-run-4/iter1-qwen-a-incomplete/coverage.json +111 -0
  49. package/assess/lsa/examples/eval-run-4/iter1-qwen-a-incomplete/findings/priv-privilege-001.json +6 -0
  50. package/assess/lsa/examples/eval-run-4/iter1-qwen-a-incomplete/findings/priv-privilege-002.json +344 -0
  51. package/assess/lsa/examples/eval-run-4/iter1-qwen-a-incomplete/findings.json +3544 -0
  52. package/assess/lsa/examples/eval-run-4/iter1-qwen-a-incomplete/mass-assignment.candidates.json +232 -0
  53. package/assess/lsa/examples/eval-run-4/iter1-qwen-a-incomplete/routes/routes-001.json +425 -0
  54. package/assess/lsa/examples/eval-run-4/iter1-qwen-a-incomplete/routes/routes-002.json +333 -0
  55. package/assess/lsa/examples/eval-run-4/iter1-qwen-a-incomplete/routes/routes-003.json +400 -0
  56. package/assess/lsa/examples/eval-run-4/iter1-qwen-a-incomplete/routes/routes-004.json +403 -0
  57. package/assess/lsa/examples/eval-run-4/iter1-qwen-a-incomplete/routes/routes-005.json +398 -0
  58. package/assess/lsa/examples/eval-run-4/iter1-qwen-a-incomplete/routes/routes-006.json +63 -0
  59. package/assess/lsa/examples/eval-run-4/iter1-qwen-a-incomplete/score.json +123 -0
  60. package/assess/lsa/examples/eval-run-4/iter2-gptoss-a/ai-run-stats.json +50 -0
  61. package/assess/lsa/examples/eval-run-4/iter2-gptoss-a/coverage.json +42 -0
  62. package/assess/lsa/examples/eval-run-4/iter2-gptoss-a/findings/priv-privilege-001.json +540 -0
  63. package/assess/lsa/examples/eval-run-4/iter2-gptoss-a/findings/priv-privilege-002.json +238 -0
  64. package/assess/lsa/examples/eval-run-4/iter2-gptoss-a/findings.json +4383 -0
  65. package/assess/lsa/examples/eval-run-4/iter2-gptoss-a/findings.sarif +8729 -0
  66. package/assess/lsa/examples/eval-run-4/iter2-gptoss-a/mass-assignment.candidates.json +232 -0
  67. package/assess/lsa/examples/eval-run-4/iter2-gptoss-a/report.ja.md +1911 -0
  68. package/assess/lsa/examples/eval-run-4/iter2-gptoss-a/report.md +1911 -0
  69. package/assess/lsa/examples/eval-run-4/iter2-gptoss-a/routes/routes-001.json +425 -0
  70. package/assess/lsa/examples/eval-run-4/iter2-gptoss-a/routes/routes-002.json +333 -0
  71. package/assess/lsa/examples/eval-run-4/iter2-gptoss-a/routes/routes-003.json +400 -0
  72. package/assess/lsa/examples/eval-run-4/iter2-gptoss-a/routes/routes-004.json +403 -0
  73. package/assess/lsa/examples/eval-run-4/iter2-gptoss-a/routes/routes-005.json +398 -0
  74. package/assess/lsa/examples/eval-run-4/iter2-gptoss-a/routes/routes-006.json +63 -0
  75. package/assess/lsa/examples/eval-run-4/iter2-gptoss-a/score.json +101 -0
  76. package/assess/lsa/examples/eval-run-4/iter2-gptoss-a/stack-profile.json +226 -0
  77. package/assess/lsa/examples/eval-run-4/iter2-gptoss-b/ai-run-stats.json +54 -0
  78. package/assess/lsa/examples/eval-run-4/iter2-gptoss-b/coverage.json +66 -0
  79. package/assess/lsa/examples/eval-run-4/iter2-gptoss-b/findings/priv-privilege-001.json +440 -0
  80. package/assess/lsa/examples/eval-run-4/iter2-gptoss-b/findings/priv-privilege-002.json +229 -0
  81. package/assess/lsa/examples/eval-run-4/iter2-gptoss-b/findings.json +3424 -0
  82. package/assess/lsa/examples/eval-run-4/iter2-gptoss-b/mass-assignment.candidates.json +232 -0
  83. package/assess/lsa/examples/eval-run-4/iter2-gptoss-b/routes/routes-001.json +425 -0
  84. package/assess/lsa/examples/eval-run-4/iter2-gptoss-b/routes/routes-002.json +333 -0
  85. package/assess/lsa/examples/eval-run-4/iter2-gptoss-b/routes/routes-003.json +400 -0
  86. package/assess/lsa/examples/eval-run-4/iter2-gptoss-b/routes/routes-004.json +403 -0
  87. package/assess/lsa/examples/eval-run-4/iter2-gptoss-b/routes/routes-005.json +398 -0
  88. package/assess/lsa/examples/eval-run-4/iter2-gptoss-b/routes/routes-006.json +63 -0
  89. package/assess/lsa/examples/eval-run-4/iter2-gptoss-b/score.json +120 -0
  90. package/assess/lsa/examples/eval-run-5/gptoss-a/ai-run-stats.json +88 -0
  91. package/assess/lsa/examples/eval-run-5/gptoss-a/coverage.json +36 -0
  92. package/assess/lsa/examples/eval-run-5/gptoss-a/findings/priv-privilege-001.json +530 -0
  93. package/assess/lsa/examples/eval-run-5/gptoss-a/findings/priv-privilege-002.json +248 -0
  94. package/assess/lsa/examples/eval-run-5/gptoss-a/findings.json +4766 -0
  95. package/assess/lsa/examples/eval-run-5/gptoss-a/findings.sarif +9326 -0
  96. package/assess/lsa/examples/eval-run-5/gptoss-a/mass-assignment.candidates.json +232 -0
  97. package/assess/lsa/examples/eval-run-5/gptoss-a/report.ja.md +2011 -0
  98. package/assess/lsa/examples/eval-run-5/gptoss-a/report.md +2011 -0
  99. package/assess/lsa/examples/eval-run-5/gptoss-a/routes/routes-001.json +425 -0
  100. package/assess/lsa/examples/eval-run-5/gptoss-a/routes/routes-002.json +333 -0
  101. package/assess/lsa/examples/eval-run-5/gptoss-a/routes/routes-003.json +400 -0
  102. package/assess/lsa/examples/eval-run-5/gptoss-a/routes/routes-004.json +403 -0
  103. package/assess/lsa/examples/eval-run-5/gptoss-a/routes/routes-005.json +398 -0
  104. package/assess/lsa/examples/eval-run-5/gptoss-a/routes/routes-006.json +63 -0
  105. package/assess/lsa/examples/eval-run-5/gptoss-a/score.json +80 -0
  106. package/assess/lsa/examples/eval-run-5/gptoss-a/stack-profile.json +226 -0
  107. package/assess/lsa/examples/eval-run-5/gptoss-b/ai-run-stats.json +83 -0
  108. package/assess/lsa/examples/eval-run-5/gptoss-b/coverage.json +44 -0
  109. package/assess/lsa/examples/eval-run-5/gptoss-b/findings/priv-privilege-001.json +579 -0
  110. package/assess/lsa/examples/eval-run-5/gptoss-b/findings/priv-privilege-002.json +268 -0
  111. package/assess/lsa/examples/eval-run-5/gptoss-b/findings.json +3913 -0
  112. package/assess/lsa/examples/eval-run-5/gptoss-b/mass-assignment.candidates.json +232 -0
  113. package/assess/lsa/examples/eval-run-5/gptoss-b/routes/routes-001.json +425 -0
  114. package/assess/lsa/examples/eval-run-5/gptoss-b/routes/routes-002.json +333 -0
  115. package/assess/lsa/examples/eval-run-5/gptoss-b/routes/routes-003.json +400 -0
  116. package/assess/lsa/examples/eval-run-5/gptoss-b/routes/routes-004.json +403 -0
  117. package/assess/lsa/examples/eval-run-5/gptoss-b/routes/routes-005.json +398 -0
  118. package/assess/lsa/examples/eval-run-5/gptoss-b/routes/routes-006.json +63 -0
  119. package/assess/lsa/examples/eval-run-5/gptoss-b/score.json +94 -0
  120. package/assess/lsa/examples/eval-run-5/ground-truth.json +823 -0
  121. package/assess/lsa/knowledge/severity-and-cwe.md +1 -1
  122. package/assess/lsa/prompts/35-privilege-auditor.md +3 -1
  123. package/assess/lsa/scripts/baseline.py +5 -2
  124. package/assess/lsa/scripts/findings_to_sarif.py +24 -1
  125. package/assess/lsa/tests/EVAL-RESULTS.md +156 -0
  126. package/assess/lsa/tests/score_findings.py +58 -0
  127. package/assess/lsa/tests/test_adapters.py +21 -2
  128. package/assess/lsa/tests/test_baseline.py +8 -0
  129. package/assess/lsa/tests/test_contract_groundwork.py +7 -7
  130. package/assess/lsa/tests/test_eval_run_4.py +73 -0
  131. package/assess/lsa/tests/test_eval_run_5.py +73 -0
  132. package/assess/lsa/tests/test_privilege_tier2.py +30 -0
  133. package/operate/ai/anchoring.py +130 -0
  134. package/operate/ai/client.py +13 -0
  135. package/operate/ai/context.py +105 -0
  136. package/operate/ai/runner.py +197 -69
  137. package/operate/cli/__init__.py +1 -1
  138. package/operate/cli/commands/scan.py +3 -8
  139. package/operate/cli/commands/test.py +1 -1
  140. package/operate/cli/env.py +4 -20
  141. package/operate/cross_user_tester/persona_matrix.py +5 -1
  142. package/operate/devsecops/pipeline.py +5 -5
  143. package/operate/exploit/generator.py +5 -1
  144. package/operate/lsa_sarif/lsa_to_sarif.py +24 -2
  145. package/operate/lsa_sarif/sarif_findings.py +96 -0
  146. package/operate/remediator/runner.py +1 -5
  147. package/operate/remediator/strategies.py +1 -1
  148. package/operate/tests/test_ai_anchoring.py +184 -0
  149. package/operate/tests/test_cli_baseline.py +1 -9
  150. package/operate/tests/test_cli_env.py +8 -29
  151. package/operate/tests/test_cross_user_pipeline.py +2 -2
  152. package/operate/tests/test_exploit_and_virtual_patch.py +3 -3
  153. package/operate/tests/test_headless_ai.py +148 -1
  154. package/operate/tests/test_npm_package.py +2 -16
  155. package/operate/tests/test_sarif_from_scan.py +156 -0
  156. package/package.json +2 -4
  157. package/remediate/authz/README.md +1 -1
  158. package/remediate/authz/dotnet/src/Komagu.Security.Authorization/DefaultKomaguAuthorizationService.cs +1 -1
  159. package/remediate/authz/dotnet/src/Komagu.Security.Authorization/SecurityAuditEvent.cs +2 -2
  160. package/remediate/authz/golang/authz.go +1 -1
  161. package/remediate/authz/nodejs/src/service.js +1 -1
  162. package/remediate/authz/nodejs/tests/test-authz.js +1 -1
  163. package/remediate/authz/patcher.py +3 -4
  164. package/remediate/authz/python/komagu_authz/models.py +2 -2
  165. package/remediate/authz/python/tests/test_fastapi_adapter.py +1 -1
  166. package/remediate/authz/python/tests/test_fastapi_d5_crosstest.py +1 -1
  167. package/remediate/authz/python/tests/test_python_authz.py +3 -3
  168. package/remediate/authz/spring/src/main/kotlin/io/komagu/security/authorization/DefaultKomaguSecurityManager.kt +1 -1
  169. package/remediate/authz/spring/src/main/kotlin/io/komagu/security/authorization/SecurityAuditEvent.kt +1 -2
  170. package/remediate/authz/tests/test_bola_patcher.py +1 -1
  171. package/remediate/edge/coraza/rules/coraza-crs-custom.conf +3 -4
  172. package/remediate/edge/coraza/virtual_patcher.py +4 -6
  173. package/remediate/edge/docker-compose.yml +1 -1
  174. package/remediate/ekyc/server/jpki_verifier.py +2 -8
  175. package/remediate/ekyc/server/tokenization.py +2 -8
  176. package/remediate/identity/README.md +5 -5
  177. package/remediate/identity/dotnet/src/Komagu.Security.Identity/KomaguOidcOptions.cs +2 -2
  178. package/remediate/identity/dotnet/tests/Komagu.Security.Identity.Tests/TestTokenGenerator.cs +1 -1
  179. package/remediate/identity/dotnet/tests/Komagu.Security.Identity.Tests/TokenValidationTests.cs +1 -1
  180. package/remediate/identity/python/komagu_identity/oidc_validator.py +2 -8
  181. package/remediate/identity/python/tests/test_oidc_validator.py +1 -1
  182. package/remediate/identity/spring/src/main/kotlin/io/komagu/security/identity/KomaguOidcProperties.kt +2 -2
  183. package/remediate/identity/spring/src/test/kotlin/io/komagu/security/identity/KomaguIdentityAutoConfigurationTest.kt +2 -2
  184. package/remediate/identity/spring/src/test/kotlin/io/komagu/security/identity/TestJwtFactory.kt +1 -1
  185. package/remediate/identity/spring/src/test/kotlin/io/komagu/security/identity/TokenValidationIntegrationTest.kt +1 -1
  186. package/remediate/identity/test-env/realm-komagu.json +1 -1
  187. package/remediate/legacy_shims/coldfusion/KomaguSecurityShim.cfc +5 -5
  188. package/remediate/query/README.md +1 -1
  189. package/remediate/query/dotnet/src/Komagu.Security.Query.Analyzers/DiagnosticIds.cs +1 -1
  190. package/remediate/query/dotnet/src/Komagu.Security.Query.Analyzers/Komagu.Security.Query.Analyzers.csproj +1 -1
  191. package/remediate/query/spring/src/main/kotlin/io/komagu/security/query/detekt/KomaguRuleSetProvider.kt +1 -1
  192. package/remediate/resilience/dr/dr_manager.py +2 -8
  193. package/remediate/resilience/dr/runbook.md +2 -2
  194. package/remediate/resilience/terraform/variables.tf +1 -1
  195. package/remediate/tenancy/audit/audit_trail.py +2 -8
  196. package/remediate/tenancy/crypto/byok_manager.py +2 -8
  197. package/remediate/tenancy/middleware/tenant_context.py +2 -8
  198. package/remediate/tenancy/sql/rls_isolation.sql +11 -11
  199. package/remediate/tenancy/sql/schema_per_tenant.sql +7 -7
  200. package/remediate/tenancy/test_sql_postgres.py +1 -1
  201. package/remediate/tenancy/tests/test_tenancy.py +4 -4
  202. package/bin/komainu +0 -16
  203. package/bin/komainu-legacy.js +0 -16
  204. package/remediate/ekyc/tests/test_legacy_env.py +0 -33
  205. package/remediate/identity/python/tests/test_legacy_env.py +0 -33
  206. package/remediate/identity/spring/src/main/kotlin/io/komagu/security/identity/LegacyKomainuPropertiesPostProcessor.kt +0 -60
  207. package/remediate/identity/spring/src/main/resources/META-INF/spring.factories +0 -2
  208. package/remediate/identity/spring/src/test/kotlin/io/komagu/security/identity/LegacyKomainuPropertiesPostProcessorTest.kt +0 -86
  209. package/remediate/resilience/tests/test_legacy_env.py +0 -33
  210. package/remediate/tenancy/tests/test_legacy_env.py +0 -49
@@ -0,0 +1,425 @@
1
+ {
2
+ "routes": [
3
+ {
4
+ "route_id": "R-0002",
5
+ "method": [
6
+ "ANY"
7
+ ],
8
+ "path": "/classic-asp/shop/member.asp?mode=edit",
9
+ "path_source": "declared",
10
+ "handler": {
11
+ "file": "classic-asp/shop/member.asp",
12
+ "line": 5
13
+ },
14
+ "id_inputs": [
15
+ {
16
+ "name": "mode",
17
+ "source": "any"
18
+ },
19
+ {
20
+ "name": "name",
21
+ "source": "form"
22
+ },
23
+ {
24
+ "name": "member_id",
25
+ "source": "form"
26
+ },
27
+ {
28
+ "name": "member_id",
29
+ "source": "query"
30
+ }
31
+ ],
32
+ "guards": [],
33
+ "data_ops": [
34
+ {
35
+ "op": "read"
36
+ }
37
+ ],
38
+ "needs_bola_audit": true
39
+ },
40
+ {
41
+ "route_id": "R-0003",
42
+ "method": [
43
+ "ANY"
44
+ ],
45
+ "path": "/classic-asp/shop/member.asp?mode=delete",
46
+ "path_source": "declared",
47
+ "handler": {
48
+ "file": "classic-asp/shop/member.asp",
49
+ "line": 9
50
+ },
51
+ "id_inputs": [
52
+ {
53
+ "name": "mode",
54
+ "source": "any"
55
+ },
56
+ {
57
+ "name": "name",
58
+ "source": "form"
59
+ },
60
+ {
61
+ "name": "member_id",
62
+ "source": "form"
63
+ },
64
+ {
65
+ "name": "member_id",
66
+ "source": "query"
67
+ }
68
+ ],
69
+ "guards": [],
70
+ "data_ops": [
71
+ {
72
+ "op": "read"
73
+ }
74
+ ],
75
+ "needs_bola_audit": true
76
+ },
77
+ {
78
+ "route_id": "R-0004",
79
+ "method": [
80
+ "ANY"
81
+ ],
82
+ "path": "/classic-asp/shop/order.asp",
83
+ "path_source": "declared",
84
+ "handler": {
85
+ "file": "classic-asp/shop/order.asp",
86
+ "line": 1
87
+ },
88
+ "id_inputs": [
89
+ {
90
+ "name": "id",
91
+ "source": "any"
92
+ },
93
+ {
94
+ "name": "sid",
95
+ "source": "query"
96
+ }
97
+ ],
98
+ "guards": [],
99
+ "data_ops": [
100
+ {
101
+ "op": "read"
102
+ }
103
+ ],
104
+ "needs_bola_audit": true
105
+ },
106
+ {
107
+ "route_id": "R-0005",
108
+ "method": [
109
+ "ANY"
110
+ ],
111
+ "path": "/coldfusion/app/OrderService.cfc?method=getOrder",
112
+ "path_source": "declared",
113
+ "handler": {
114
+ "file": "coldfusion/app/OrderService.cfc",
115
+ "line": 2
116
+ },
117
+ "id_inputs": [
118
+ {
119
+ "name": "orderId",
120
+ "source": "any"
121
+ }
122
+ ],
123
+ "guards": [],
124
+ "data_ops": [
125
+ {
126
+ "op": "read"
127
+ }
128
+ ],
129
+ "needs_bola_audit": true
130
+ },
131
+ {
132
+ "route_id": "R-0006",
133
+ "method": [
134
+ "ANY"
135
+ ],
136
+ "path": "/coldfusion/app/order.cfm",
137
+ "path_source": "declared",
138
+ "handler": {
139
+ "file": "coldfusion/app/order.cfm",
140
+ "line": 1
141
+ },
142
+ "id_inputs": [
143
+ {
144
+ "name": "id",
145
+ "source": "query"
146
+ }
147
+ ],
148
+ "guards": [],
149
+ "data_ops": [
150
+ {
151
+ "op": "read"
152
+ }
153
+ ],
154
+ "needs_bola_audit": true
155
+ },
156
+ {
157
+ "route_id": "R-0007",
158
+ "method": [
159
+ "POST"
160
+ ],
161
+ "path": "/Admin/DeleteUser",
162
+ "path_source": "declared",
163
+ "handler": {
164
+ "file": "dotnet-legacy/Web/Controllers/AdminController.cs",
165
+ "line": 12
166
+ },
167
+ "id_inputs": [
168
+ {
169
+ "name": "id",
170
+ "source": "any"
171
+ }
172
+ ],
173
+ "guards": [],
174
+ "data_ops": [
175
+ {
176
+ "op": "read"
177
+ }
178
+ ],
179
+ "needs_bola_audit": true
180
+ },
181
+ {
182
+ "route_id": "R-0008",
183
+ "method": [
184
+ "POST",
185
+ "POST"
186
+ ],
187
+ "path": "/Admin/ResetPassword",
188
+ "path_source": "declared",
189
+ "handler": {
190
+ "file": "dotnet-legacy/Web/Controllers/AdminController.cs",
191
+ "line": 22
192
+ },
193
+ "id_inputs": [
194
+ {
195
+ "name": "id",
196
+ "source": "any"
197
+ }
198
+ ],
199
+ "guards": [],
200
+ "data_ops": [
201
+ {
202
+ "op": "read"
203
+ }
204
+ ],
205
+ "needs_bola_audit": true
206
+ },
207
+ {
208
+ "route_id": "R-0009",
209
+ "method": [
210
+ "POST"
211
+ ],
212
+ "path": "/Admin/Export",
213
+ "path_source": "declared",
214
+ "handler": {
215
+ "file": "dotnet-legacy/Web/Controllers/AdminController.cs",
216
+ "line": 30
217
+ },
218
+ "id_inputs": [
219
+ {
220
+ "name": "isAdmin",
221
+ "source": "query"
222
+ }
223
+ ],
224
+ "guards": [],
225
+ "data_ops": [
226
+ {
227
+ "op": "read"
228
+ }
229
+ ],
230
+ "needs_bola_audit": true
231
+ },
232
+ {
233
+ "route_id": "R-0013",
234
+ "method": [
235
+ "ANY"
236
+ ],
237
+ "path": "/Invoice/Details",
238
+ "path_source": "declared",
239
+ "handler": {
240
+ "file": "dotnet-legacy/Web/Controllers/InvoiceController.cs",
241
+ "line": 11
242
+ },
243
+ "id_inputs": [
244
+ {
245
+ "name": "id",
246
+ "source": "any"
247
+ }
248
+ ],
249
+ "guards": [],
250
+ "data_ops": [
251
+ {
252
+ "op": "read"
253
+ }
254
+ ],
255
+ "needs_bola_audit": true
256
+ },
257
+ {
258
+ "route_id": "R-0014",
259
+ "method": [
260
+ "ANY"
261
+ ],
262
+ "path": "/Invoice/Mine",
263
+ "path_source": "declared",
264
+ "handler": {
265
+ "file": "dotnet-legacy/Web/Controllers/InvoiceController.cs",
266
+ "line": 17
267
+ },
268
+ "id_inputs": [
269
+ {
270
+ "name": "id",
271
+ "source": "any"
272
+ }
273
+ ],
274
+ "guards": [],
275
+ "data_ops": [
276
+ {
277
+ "op": "read"
278
+ }
279
+ ],
280
+ "needs_bola_audit": true
281
+ },
282
+ {
283
+ "route_id": "R-0015",
284
+ "method": [
285
+ "POST"
286
+ ],
287
+ "path": "/Invoice/Search",
288
+ "path_source": "declared",
289
+ "handler": {
290
+ "file": "dotnet-legacy/Web/Controllers/InvoiceController.cs",
291
+ "line": 26
292
+ },
293
+ "id_inputs": [
294
+ {
295
+ "name": "customer",
296
+ "source": "any"
297
+ }
298
+ ],
299
+ "guards": [],
300
+ "data_ops": [
301
+ {
302
+ "op": "read"
303
+ }
304
+ ],
305
+ "needs_bola_audit": true
306
+ },
307
+ {
308
+ "route_id": "R-0017",
309
+ "method": [
310
+ "ANY"
311
+ ],
312
+ "path": "/dotnet-legacy/Web/Orders/EditOrder.aspx",
313
+ "path_source": "declared",
314
+ "handler": {
315
+ "file": "dotnet-legacy/Web/Orders/EditOrder.aspx.vb",
316
+ "line": 1
317
+ },
318
+ "id_inputs": [
319
+ {
320
+ "name": "hfOrderId",
321
+ "source": "hidden_field"
322
+ },
323
+ {
324
+ "name": "txtNote",
325
+ "source": "form"
326
+ }
327
+ ],
328
+ "guards": [],
329
+ "data_ops": [
330
+ {
331
+ "op": "read"
332
+ }
333
+ ],
334
+ "needs_bola_audit": true
335
+ },
336
+ {
337
+ "route_id": "R-0018",
338
+ "method": [
339
+ "ANY"
340
+ ],
341
+ "path": "/dotnet-legacy/Web/Orders/OrderDetail.aspx",
342
+ "path_source": "declared",
343
+ "handler": {
344
+ "file": "dotnet-legacy/Web/Orders/OrderDetail.aspx.cs",
345
+ "line": 1
346
+ },
347
+ "id_inputs": [
348
+ {
349
+ "name": "id",
350
+ "source": "query"
351
+ },
352
+ {
353
+ "name": "cart",
354
+ "source": "form"
355
+ },
356
+ {
357
+ "name": "ref",
358
+ "source": "any"
359
+ }
360
+ ],
361
+ "guards": [],
362
+ "data_ops": [
363
+ {
364
+ "op": "read"
365
+ }
366
+ ],
367
+ "needs_bola_audit": true
368
+ },
369
+ {
370
+ "route_id": "R-0019",
371
+ "method": [
372
+ "ANY"
373
+ ],
374
+ "path": "/java-legacy/WebContent/order/detail.jsp",
375
+ "path_source": "declared",
376
+ "handler": {
377
+ "file": "java-legacy/WebContent/order/detail.jsp",
378
+ "line": 1
379
+ },
380
+ "id_inputs": [
381
+ {
382
+ "name": "no",
383
+ "source": "any"
384
+ }
385
+ ],
386
+ "guards": [],
387
+ "data_ops": [
388
+ {
389
+ "op": "read"
390
+ }
391
+ ],
392
+ "needs_bola_audit": true
393
+ },
394
+ {
395
+ "route_id": "R-0001",
396
+ "method": [
397
+ "ANY"
398
+ ],
399
+ "path": "/user/edit.do",
400
+ "path_source": "declared",
401
+ "handler": {
402
+ "file": "java-legacy/src/com/acme/struts/EditUserAction.java",
403
+ "line": 1
404
+ },
405
+ "id_inputs": [
406
+ {
407
+ "name": "user_id",
408
+ "source": "any"
409
+ },
410
+ {
411
+ "name": "email",
412
+ "source": "any"
413
+ }
414
+ ],
415
+ "guards": [],
416
+ "data_ops": [
417
+ {
418
+ "op": "read"
419
+ }
420
+ ],
421
+ "needs_bola_audit": true
422
+ }
423
+ ],
424
+ "rejected": []
425
+ }