@hoanghainh/komagu 2.5.0 → 2.6.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.
Files changed (197) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/assess/lsa/examples/eval-run-6/gptoss-a/ai-run-stats.json +87 -0
  3. package/assess/lsa/examples/eval-run-6/gptoss-a/auth-model.md +120 -0
  4. package/assess/lsa/examples/eval-run-6/gptoss-a/batches/index.json +60 -0
  5. package/assess/lsa/examples/eval-run-6/gptoss-a/batches/injection-001.json +383 -0
  6. package/assess/lsa/examples/eval-run-6/gptoss-a/batches/injection-002.json +205 -0
  7. package/assess/lsa/examples/eval-run-6/gptoss-a/batches/privilege-001.json +838 -0
  8. package/assess/lsa/examples/eval-run-6/gptoss-a/batches/privilege-002.json +124 -0
  9. package/assess/lsa/examples/eval-run-6/gptoss-a/batches/routes-001.json +778 -0
  10. package/assess/lsa/examples/eval-run-6/gptoss-a/batches/routes-002.json +546 -0
  11. package/assess/lsa/examples/eval-run-6/gptoss-a/batches/routes-003.json +661 -0
  12. package/assess/lsa/examples/eval-run-6/gptoss-a/batches/routes-004.json +659 -0
  13. package/assess/lsa/examples/eval-run-6/gptoss-a/batches/routes-005.json +612 -0
  14. package/assess/lsa/examples/eval-run-6/gptoss-a/batches/routes-006.json +106 -0
  15. package/assess/lsa/examples/eval-run-6/gptoss-a/coverage.json +19 -0
  16. package/assess/lsa/examples/eval-run-6/gptoss-a/findings/bola-routes-001.json +516 -0
  17. package/assess/lsa/examples/eval-run-6/gptoss-a/findings/bola-routes-002.json +332 -0
  18. package/assess/lsa/examples/eval-run-6/gptoss-a/findings/bola-routes-003.json +218 -0
  19. package/assess/lsa/examples/eval-run-6/gptoss-a/findings/bola-routes-004.json +561 -0
  20. package/assess/lsa/examples/eval-run-6/gptoss-a/findings/bola-routes-005.json +316 -0
  21. package/assess/lsa/examples/eval-run-6/gptoss-a/findings/bola-routes-006.json +14 -0
  22. package/assess/lsa/examples/eval-run-6/gptoss-a/findings/inj-injection-001.json +782 -0
  23. package/assess/lsa/examples/eval-run-6/gptoss-a/findings/inj-injection-002.json +418 -0
  24. package/assess/lsa/examples/eval-run-6/gptoss-a/findings/priv-privilege-001.json +627 -0
  25. package/assess/lsa/examples/eval-run-6/gptoss-a/findings/priv-privilege-002.json +253 -0
  26. package/assess/lsa/examples/eval-run-6/gptoss-a/findings/verified-1.json +68 -0
  27. package/assess/lsa/examples/eval-run-6/gptoss-a/findings/verified-10.json +68 -0
  28. package/assess/lsa/examples/eval-run-6/gptoss-a/findings/verified-11.json +61 -0
  29. package/assess/lsa/examples/eval-run-6/gptoss-a/findings/verified-12.json +60 -0
  30. package/assess/lsa/examples/eval-run-6/gptoss-a/findings/verified-13.json +60 -0
  31. package/assess/lsa/examples/eval-run-6/gptoss-a/findings/verified-14.json +66 -0
  32. package/assess/lsa/examples/eval-run-6/gptoss-a/findings/verified-15.json +69 -0
  33. package/assess/lsa/examples/eval-run-6/gptoss-a/findings/verified-16.json +60 -0
  34. package/assess/lsa/examples/eval-run-6/gptoss-a/findings/verified-17.json +61 -0
  35. package/assess/lsa/examples/eval-run-6/gptoss-a/findings/verified-18.json +69 -0
  36. package/assess/lsa/examples/eval-run-6/gptoss-a/findings/verified-19.json +64 -0
  37. package/assess/lsa/examples/eval-run-6/gptoss-a/findings/verified-2.json +60 -0
  38. package/assess/lsa/examples/eval-run-6/gptoss-a/findings/verified-20.json +60 -0
  39. package/assess/lsa/examples/eval-run-6/gptoss-a/findings/verified-21.json +61 -0
  40. package/assess/lsa/examples/eval-run-6/gptoss-a/findings/verified-22.json +50 -0
  41. package/assess/lsa/examples/eval-run-6/gptoss-a/findings/verified-3.json +60 -0
  42. package/assess/lsa/examples/eval-run-6/gptoss-a/findings/verified-4.json +60 -0
  43. package/assess/lsa/examples/eval-run-6/gptoss-a/findings/verified-5.json +60 -0
  44. package/assess/lsa/examples/eval-run-6/gptoss-a/findings/verified-6.json +70 -0
  45. package/assess/lsa/examples/eval-run-6/gptoss-a/findings/verified-7.json +60 -0
  46. package/assess/lsa/examples/eval-run-6/gptoss-a/findings/verified-8.json +60 -0
  47. package/assess/lsa/examples/eval-run-6/gptoss-a/findings/verified-9.json +60 -0
  48. package/assess/lsa/examples/eval-run-6/gptoss-a/findings.json +4857 -0
  49. package/assess/lsa/examples/eval-run-6/gptoss-a/mass-assignment.candidates.json +232 -0
  50. package/assess/lsa/examples/eval-run-6/gptoss-a/report.ja.md +2112 -0
  51. package/assess/lsa/examples/eval-run-6/gptoss-a/report.md +2112 -0
  52. package/assess/lsa/examples/eval-run-6/gptoss-a/routes/routes-001.json +425 -0
  53. package/assess/lsa/examples/eval-run-6/gptoss-a/routes/routes-002.json +333 -0
  54. package/assess/lsa/examples/eval-run-6/gptoss-a/routes/routes-003.json +400 -0
  55. package/assess/lsa/examples/eval-run-6/gptoss-a/routes/routes-004.json +403 -0
  56. package/assess/lsa/examples/eval-run-6/gptoss-a/routes/routes-005.json +398 -0
  57. package/assess/lsa/examples/eval-run-6/gptoss-a/routes/routes-006.json +63 -0
  58. package/assess/lsa/examples/eval-run-6/gptoss-a/score.json +82 -0
  59. package/assess/lsa/examples/eval-run-6/gptoss-a/stack-profile.json +225 -0
  60. package/assess/lsa/examples/eval-run-6/gptoss-b/ai-run-stats.json +91 -0
  61. package/assess/lsa/examples/eval-run-6/gptoss-b/auth-model.md +120 -0
  62. package/assess/lsa/examples/eval-run-6/gptoss-b/batches/index.json +60 -0
  63. package/assess/lsa/examples/eval-run-6/gptoss-b/batches/injection-001.json +383 -0
  64. package/assess/lsa/examples/eval-run-6/gptoss-b/batches/injection-002.json +205 -0
  65. package/assess/lsa/examples/eval-run-6/gptoss-b/batches/privilege-001.json +838 -0
  66. package/assess/lsa/examples/eval-run-6/gptoss-b/batches/privilege-002.json +124 -0
  67. package/assess/lsa/examples/eval-run-6/gptoss-b/batches/routes-001.json +778 -0
  68. package/assess/lsa/examples/eval-run-6/gptoss-b/batches/routes-002.json +546 -0
  69. package/assess/lsa/examples/eval-run-6/gptoss-b/batches/routes-003.json +661 -0
  70. package/assess/lsa/examples/eval-run-6/gptoss-b/batches/routes-004.json +659 -0
  71. package/assess/lsa/examples/eval-run-6/gptoss-b/batches/routes-005.json +612 -0
  72. package/assess/lsa/examples/eval-run-6/gptoss-b/batches/routes-006.json +106 -0
  73. package/assess/lsa/examples/eval-run-6/gptoss-b/coverage.json +21 -0
  74. package/assess/lsa/examples/eval-run-6/gptoss-b/findings/bola-routes-001.json +593 -0
  75. package/assess/lsa/examples/eval-run-6/gptoss-b/findings/bola-routes-002.json +367 -0
  76. package/assess/lsa/examples/eval-run-6/gptoss-b/findings/bola-routes-003.json +207 -0
  77. package/assess/lsa/examples/eval-run-6/gptoss-b/findings/bola-routes-004.json +477 -0
  78. package/assess/lsa/examples/eval-run-6/gptoss-b/findings/bola-routes-005.json +341 -0
  79. package/assess/lsa/examples/eval-run-6/gptoss-b/findings/bola-routes-006.json +14 -0
  80. package/assess/lsa/examples/eval-run-6/gptoss-b/findings/inj-injection-001.json +821 -0
  81. package/assess/lsa/examples/eval-run-6/gptoss-b/findings/inj-injection-002.json +410 -0
  82. package/assess/lsa/examples/eval-run-6/gptoss-b/findings/priv-privilege-001.json +649 -0
  83. package/assess/lsa/examples/eval-run-6/gptoss-b/findings/priv-privilege-002.json +222 -0
  84. package/assess/lsa/examples/eval-run-6/gptoss-b/findings/verified-1.json +60 -0
  85. package/assess/lsa/examples/eval-run-6/gptoss-b/findings/verified-10.json +67 -0
  86. package/assess/lsa/examples/eval-run-6/gptoss-b/findings/verified-11.json +68 -0
  87. package/assess/lsa/examples/eval-run-6/gptoss-b/findings/verified-12.json +60 -0
  88. package/assess/lsa/examples/eval-run-6/gptoss-b/findings/verified-13.json +60 -0
  89. package/assess/lsa/examples/eval-run-6/gptoss-b/findings/verified-14.json +64 -0
  90. package/assess/lsa/examples/eval-run-6/gptoss-b/findings/verified-15.json +70 -0
  91. package/assess/lsa/examples/eval-run-6/gptoss-b/findings/verified-16.json +60 -0
  92. package/assess/lsa/examples/eval-run-6/gptoss-b/findings/verified-17.json +61 -0
  93. package/assess/lsa/examples/eval-run-6/gptoss-b/findings/verified-18.json +60 -0
  94. package/assess/lsa/examples/eval-run-6/gptoss-b/findings/verified-19.json +65 -0
  95. package/assess/lsa/examples/eval-run-6/gptoss-b/findings/verified-2.json +60 -0
  96. package/assess/lsa/examples/eval-run-6/gptoss-b/findings/verified-20.json +60 -0
  97. package/assess/lsa/examples/eval-run-6/gptoss-b/findings/verified-21.json +62 -0
  98. package/assess/lsa/examples/eval-run-6/gptoss-b/findings/verified-22.json +50 -0
  99. package/assess/lsa/examples/eval-run-6/gptoss-b/findings/verified-3.json +60 -0
  100. package/assess/lsa/examples/eval-run-6/gptoss-b/findings/verified-4.json +60 -0
  101. package/assess/lsa/examples/eval-run-6/gptoss-b/findings/verified-5.json +60 -0
  102. package/assess/lsa/examples/eval-run-6/gptoss-b/findings/verified-6.json +60 -0
  103. package/assess/lsa/examples/eval-run-6/gptoss-b/findings/verified-7.json +64 -0
  104. package/assess/lsa/examples/eval-run-6/gptoss-b/findings/verified-8.json +60 -0
  105. package/assess/lsa/examples/eval-run-6/gptoss-b/findings/verified-9.json +60 -0
  106. package/assess/lsa/examples/eval-run-6/gptoss-b/findings.json +4966 -0
  107. package/assess/lsa/examples/eval-run-6/gptoss-b/mass-assignment.candidates.json +232 -0
  108. package/assess/lsa/examples/eval-run-6/gptoss-b/routes/routes-001.json +425 -0
  109. package/assess/lsa/examples/eval-run-6/gptoss-b/routes/routes-002.json +333 -0
  110. package/assess/lsa/examples/eval-run-6/gptoss-b/routes/routes-003.json +400 -0
  111. package/assess/lsa/examples/eval-run-6/gptoss-b/routes/routes-004.json +403 -0
  112. package/assess/lsa/examples/eval-run-6/gptoss-b/routes/routes-005.json +398 -0
  113. package/assess/lsa/examples/eval-run-6/gptoss-b/routes/routes-006.json +63 -0
  114. package/assess/lsa/examples/eval-run-6/gptoss-b/score.json +87 -0
  115. package/assess/lsa/examples/eval-run-6/gptoss-b/stack-profile.json +225 -0
  116. package/assess/lsa/examples/eval-run-6/ground-truth.json +851 -0
  117. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/ai-run-stats.json +96 -0
  118. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/auth-model.md +191 -0
  119. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/batches/index.json +60 -0
  120. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/batches/injection-001.json +383 -0
  121. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/batches/injection-002.json +205 -0
  122. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/batches/privilege-001.json +838 -0
  123. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/batches/privilege-002.json +124 -0
  124. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/batches/routes-001.json +778 -0
  125. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/batches/routes-002.json +546 -0
  126. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/batches/routes-003.json +661 -0
  127. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/batches/routes-004.json +659 -0
  128. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/batches/routes-005.json +612 -0
  129. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/batches/routes-006.json +106 -0
  130. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/coverage.json +31 -0
  131. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/findings/bola-routes-001.json +527 -0
  132. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/findings/bola-routes-002.json +568 -0
  133. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/findings/bola-routes-003.json +467 -0
  134. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/findings/bola-routes-004.json +342 -0
  135. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/findings/bola-routes-005.json +693 -0
  136. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/findings/bola-routes-006.json +16 -0
  137. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/findings/inj-injection-001.json +1123 -0
  138. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/findings/inj-injection-002.json +391 -0
  139. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/findings/priv-privilege-001.json +726 -0
  140. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/findings/priv-privilege-002.json +306 -0
  141. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/findings/verified-1.json +137 -0
  142. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/findings/verified-10.json +106 -0
  143. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/findings/verified-11.json +81 -0
  144. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/findings/verified-12.json +135 -0
  145. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/findings/verified-13.json +135 -0
  146. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/findings/verified-14.json +135 -0
  147. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/findings/verified-15.json +110 -0
  148. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/findings/verified-16.json +116 -0
  149. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/findings/verified-17.json +141 -0
  150. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/findings/verified-18.json +135 -0
  151. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/findings/verified-19.json +140 -0
  152. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/findings/verified-2.json +135 -0
  153. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/findings/verified-20.json +82 -0
  154. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/findings/verified-21.json +74 -0
  155. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/findings/verified-22.json +99 -0
  156. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/findings/verified-3.json +140 -0
  157. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/findings/verified-4.json +145 -0
  158. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/findings/verified-5.json +135 -0
  159. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/findings/verified-6.json +135 -0
  160. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/findings/verified-7.json +87 -0
  161. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/findings/verified-8.json +125 -0
  162. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/findings/verified-9.json +135 -0
  163. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/findings.json +6989 -0
  164. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/mass-assignment.candidates.json +232 -0
  165. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/memory.log +36 -0
  166. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/routes/routes-001.json +425 -0
  167. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/routes/routes-002.json +333 -0
  168. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/routes/routes-003.json +400 -0
  169. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/routes/routes-004.json +403 -0
  170. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/routes/routes-005.json +398 -0
  171. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/routes/routes-006.json +63 -0
  172. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/score.json +106 -0
  173. package/assess/lsa/examples/eval-run-6/qwen-16k-nothink/stack-profile.json +225 -0
  174. package/assess/lsa/examples/eval-run-6/qwen-16k-partial/auth-model.md +517 -0
  175. package/assess/lsa/examples/eval-run-6/qwen-16k-partial/findings/bola-routes-001.json +5 -0
  176. package/assess/lsa/examples/eval-run-6/qwen-16k-partial/findings/bola-routes-002.json +428 -0
  177. package/assess/lsa/examples/eval-run-6/qwen-16k-partial/findings/bola-routes-003.json +388 -0
  178. package/assess/lsa/examples/eval-run-6/qwen-16k-partial/findings/bola-routes-004.json +463 -0
  179. package/assess/lsa/examples/eval-run-6/qwen-16k-partial/findings/bola-routes-005.json +5 -0
  180. package/assess/lsa/examples/eval-run-6/qwen-16k-partial/findings/bola-routes-006.json +67 -0
  181. package/assess/lsa/examples/eval-run-6/qwen-16k-partial/findings/inj-injection-001.json +964 -0
  182. package/assess/lsa/examples/eval-run-6/qwen-16k-partial/findings.partial.json +1872 -0
  183. package/assess/lsa/examples/eval-run-6/qwen-16k-partial/memory.log +194 -0
  184. package/assess/lsa/examples/eval-run-6/qwen-16k-partial/score.partial.json +108 -0
  185. package/assess/lsa/examples/eval-run-6/qwen-16k-partial/stack-profile.json +225 -0
  186. package/assess/lsa/scripts/laravel_routes.py +102 -0
  187. package/assess/lsa/scripts/map_routes.py +4 -1
  188. package/assess/lsa/tests/EVAL-RESULTS.md +126 -0
  189. package/assess/lsa/tests/test_eval_run_6.py +104 -0
  190. package/assess/lsa/tests/test_laravel_routes.py +95 -0
  191. package/operate/ai/client.py +22 -9
  192. package/operate/ai/runner.py +4 -2
  193. package/operate/cli/__init__.py +1 -1
  194. package/operate/cli/commands/scan.py +8 -1
  195. package/operate/tests/test_ai_reasoning_effort.py +65 -0
  196. package/operate/tests/test_ai_route_inventory.py +53 -0
  197. package/package.json +1 -1
@@ -0,0 +1,778 @@
1
+ {
2
+ "batch_id": "routes-001",
3
+ "files": [
4
+ "classic-asp/shop/member.asp",
5
+ "classic-asp/shop/order.asp",
6
+ "coldfusion/app/OrderService.cfc",
7
+ "coldfusion/app/order.cfm",
8
+ "dotnet-legacy/Web/Controllers/AdminController.cs",
9
+ "dotnet-legacy/Web/Controllers/InvoiceController.cs",
10
+ "dotnet-legacy/Web/Orders/EditOrder.aspx.vb",
11
+ "dotnet-legacy/Web/Orders/OrderDetail.aspx.cs",
12
+ "java-legacy/WebContent/order/detail.jsp",
13
+ "java-legacy/src/com/acme/struts/EditUserAction.java"
14
+ ],
15
+ "knowledge_files": [
16
+ "knowledge/stacks/classic-asp.md",
17
+ "knowledge/stacks/coldfusion.md",
18
+ "knowledge/stacks/dotnet.md",
19
+ "knowledge/stacks/java.md"
20
+ ],
21
+ "candidates": [
22
+ {
23
+ "stack": "classic-asp",
24
+ "kind": "file_endpoint",
25
+ "method": [
26
+ "ANY"
27
+ ],
28
+ "path": "/classic-asp/shop/member.asp?mode=edit",
29
+ "handler": {
30
+ "file": "classic-asp/shop/member.asp",
31
+ "line": 5,
32
+ "symbol": "case 'edit'"
33
+ },
34
+ "id_params": [
35
+ {
36
+ "name": "mode",
37
+ "source": "any",
38
+ "line": 4,
39
+ "is_id_like": false
40
+ },
41
+ {
42
+ "name": "name",
43
+ "source": "form",
44
+ "line": 6,
45
+ "is_id_like": false
46
+ },
47
+ {
48
+ "name": "member_id",
49
+ "source": "form",
50
+ "line": 7,
51
+ "is_id_like": true
52
+ },
53
+ {
54
+ "name": "member_id",
55
+ "source": "query",
56
+ "line": 10,
57
+ "is_id_like": true
58
+ }
59
+ ],
60
+ "guard_hints": [
61
+ {
62
+ "hint": "#include file=\"inc/auth.asp\"",
63
+ "line": 1
64
+ }
65
+ ],
66
+ "data_hints": [
67
+ {
68
+ "op": "update",
69
+ "line": 6
70
+ },
71
+ {
72
+ "op": "delete",
73
+ "line": 10
74
+ }
75
+ ],
76
+ "notes": "dispatcher on 'mode' (line 4), case 'edit'",
77
+ "route_id": "R-0002",
78
+ "needs_audit_hint": true,
79
+ "privilege_hint": "unknown",
80
+ "privilege_reasons": [],
81
+ "role_checks": [],
82
+ "bfla_signals": [],
83
+ "needs_bfla_audit_hint": false
84
+ },
85
+ {
86
+ "stack": "classic-asp",
87
+ "kind": "file_endpoint",
88
+ "method": [
89
+ "ANY"
90
+ ],
91
+ "path": "/classic-asp/shop/member.asp?mode=delete",
92
+ "handler": {
93
+ "file": "classic-asp/shop/member.asp",
94
+ "line": 9,
95
+ "symbol": "case 'delete'"
96
+ },
97
+ "id_params": [
98
+ {
99
+ "name": "mode",
100
+ "source": "any",
101
+ "line": 4,
102
+ "is_id_like": false
103
+ },
104
+ {
105
+ "name": "name",
106
+ "source": "form",
107
+ "line": 6,
108
+ "is_id_like": false
109
+ },
110
+ {
111
+ "name": "member_id",
112
+ "source": "form",
113
+ "line": 7,
114
+ "is_id_like": true
115
+ },
116
+ {
117
+ "name": "member_id",
118
+ "source": "query",
119
+ "line": 10,
120
+ "is_id_like": true
121
+ }
122
+ ],
123
+ "guard_hints": [
124
+ {
125
+ "hint": "#include file=\"inc/auth.asp\"",
126
+ "line": 1
127
+ }
128
+ ],
129
+ "data_hints": [
130
+ {
131
+ "op": "update",
132
+ "line": 6
133
+ },
134
+ {
135
+ "op": "delete",
136
+ "line": 10
137
+ }
138
+ ],
139
+ "notes": "dispatcher on 'mode' (line 4), case 'delete'",
140
+ "route_id": "R-0003",
141
+ "needs_audit_hint": true,
142
+ "privilege_hint": "privileged",
143
+ "privilege_reasons": [
144
+ "write:members"
145
+ ],
146
+ "role_checks": [],
147
+ "bfla_signals": [
148
+ {
149
+ "signal": "no_role_check",
150
+ "line": 9,
151
+ "hint": "write:members"
152
+ }
153
+ ],
154
+ "needs_bfla_audit_hint": true
155
+ },
156
+ {
157
+ "stack": "classic-asp",
158
+ "kind": "file_endpoint",
159
+ "method": [
160
+ "ANY"
161
+ ],
162
+ "path": "/classic-asp/shop/order.asp",
163
+ "handler": {
164
+ "file": "classic-asp/shop/order.asp",
165
+ "line": 1,
166
+ "symbol": null
167
+ },
168
+ "id_params": [
169
+ {
170
+ "name": "id",
171
+ "source": "any",
172
+ "line": 5,
173
+ "is_id_like": true
174
+ },
175
+ {
176
+ "name": "sid",
177
+ "source": "query",
178
+ "line": 10,
179
+ "is_id_like": false
180
+ }
181
+ ],
182
+ "guard_hints": [
183
+ {
184
+ "hint": "#include file=\"inc/auth.asp\"",
185
+ "line": 1
186
+ },
187
+ {
188
+ "hint": "Session(\"",
189
+ "line": 12
190
+ }
191
+ ],
192
+ "data_hints": [
193
+ {
194
+ "op": "read",
195
+ "line": 6
196
+ },
197
+ {
198
+ "op": "read",
199
+ "line": 12
200
+ }
201
+ ],
202
+ "notes": "",
203
+ "route_id": "R-0004",
204
+ "needs_audit_hint": true,
205
+ "privilege_hint": "unknown",
206
+ "privilege_reasons": [],
207
+ "role_checks": [],
208
+ "bfla_signals": [],
209
+ "needs_bfla_audit_hint": false
210
+ },
211
+ {
212
+ "stack": "coldfusion",
213
+ "kind": "declared_route",
214
+ "method": [
215
+ "ANY"
216
+ ],
217
+ "path": "/coldfusion/app/OrderService.cfc?method=getOrder",
218
+ "handler": {
219
+ "file": "coldfusion/app/OrderService.cfc",
220
+ "line": 2,
221
+ "symbol": "getOrder"
222
+ },
223
+ "id_params": [
224
+ {
225
+ "name": "orderId",
226
+ "source": "any",
227
+ "line": 2,
228
+ "is_id_like": true
229
+ }
230
+ ],
231
+ "guard_hints": [],
232
+ "data_hints": [
233
+ {
234
+ "op": "read",
235
+ "line": 5
236
+ }
237
+ ],
238
+ "notes": "remote CFC method",
239
+ "route_id": "R-0005",
240
+ "needs_audit_hint": true,
241
+ "privilege_hint": "unknown",
242
+ "privilege_reasons": [],
243
+ "role_checks": [],
244
+ "bfla_signals": [],
245
+ "needs_bfla_audit_hint": false
246
+ },
247
+ {
248
+ "stack": "coldfusion",
249
+ "kind": "file_endpoint",
250
+ "method": [
251
+ "ANY"
252
+ ],
253
+ "path": "/coldfusion/app/order.cfm",
254
+ "handler": {
255
+ "file": "coldfusion/app/order.cfm",
256
+ "line": 1,
257
+ "symbol": null
258
+ },
259
+ "id_params": [
260
+ {
261
+ "name": "id",
262
+ "source": "query",
263
+ "line": 3,
264
+ "is_id_like": true
265
+ }
266
+ ],
267
+ "guard_hints": [
268
+ {
269
+ "hint": "session.user",
270
+ "line": 8
271
+ }
272
+ ],
273
+ "data_hints": [
274
+ {
275
+ "op": "read",
276
+ "line": 3
277
+ },
278
+ {
279
+ "op": "read",
280
+ "line": 6
281
+ }
282
+ ],
283
+ "notes": "",
284
+ "route_id": "R-0006",
285
+ "needs_audit_hint": true,
286
+ "privilege_hint": "unknown",
287
+ "privilege_reasons": [],
288
+ "role_checks": [],
289
+ "bfla_signals": [],
290
+ "needs_bfla_audit_hint": false
291
+ },
292
+ {
293
+ "stack": "dotnet-mvc",
294
+ "kind": "declared_route",
295
+ "method": [
296
+ "POST"
297
+ ],
298
+ "path": "/Admin/DeleteUser",
299
+ "handler": {
300
+ "file": "dotnet-legacy/Web/Controllers/AdminController.cs",
301
+ "line": 12,
302
+ "symbol": "AdminController.DeleteUser"
303
+ },
304
+ "id_params": [
305
+ {
306
+ "name": "id",
307
+ "source": "any",
308
+ "line": 12,
309
+ "is_id_like": true
310
+ }
311
+ ],
312
+ "guard_hints": [
313
+ {
314
+ "hint": "[Authorize]",
315
+ "line": 6
316
+ },
317
+ {
318
+ "hint": "[Authorize(Roles = \"Admin\")]",
319
+ "line": 21
320
+ },
321
+ {
322
+ "hint": "Authorize(",
323
+ "line": 21
324
+ }
325
+ ],
326
+ "data_hints": [
327
+ {
328
+ "op": "read",
329
+ "line": 14
330
+ }
331
+ ],
332
+ "notes": "path is convention-based",
333
+ "route_id": "R-0007",
334
+ "needs_audit_hint": true,
335
+ "privilege_hint": "privileged",
336
+ "privilege_reasons": [
337
+ "path:admin"
338
+ ],
339
+ "role_checks": [],
340
+ "bfla_signals": [
341
+ {
342
+ "signal": "no_role_check",
343
+ "line": 12,
344
+ "hint": "path:admin"
345
+ }
346
+ ],
347
+ "needs_bfla_audit_hint": true
348
+ },
349
+ {
350
+ "stack": "dotnet-mvc",
351
+ "kind": "declared_route",
352
+ "method": [
353
+ "POST",
354
+ "POST"
355
+ ],
356
+ "path": "/Admin/ResetPassword",
357
+ "handler": {
358
+ "file": "dotnet-legacy/Web/Controllers/AdminController.cs",
359
+ "line": 22,
360
+ "symbol": "AdminController.ResetPassword"
361
+ },
362
+ "id_params": [
363
+ {
364
+ "name": "id",
365
+ "source": "any",
366
+ "line": 22,
367
+ "is_id_like": true
368
+ }
369
+ ],
370
+ "guard_hints": [
371
+ {
372
+ "hint": "[Authorize(Roles = \"Admin\")]",
373
+ "line": 22
374
+ },
375
+ {
376
+ "hint": "Authorize(",
377
+ "line": 22
378
+ },
379
+ {
380
+ "hint": "[Authorize]",
381
+ "line": 6
382
+ }
383
+ ],
384
+ "data_hints": [
385
+ {
386
+ "op": "read",
387
+ "line": 24
388
+ }
389
+ ],
390
+ "notes": "path is convention-based",
391
+ "route_id": "R-0008",
392
+ "needs_audit_hint": true,
393
+ "privilege_hint": "privileged",
394
+ "privilege_reasons": [
395
+ "path:admin"
396
+ ],
397
+ "role_checks": [
398
+ {
399
+ "hint": "Authorize(Roles =",
400
+ "line": 21,
401
+ "scope": "route"
402
+ }
403
+ ],
404
+ "bfla_signals": [],
405
+ "needs_bfla_audit_hint": false
406
+ },
407
+ {
408
+ "stack": "dotnet-mvc",
409
+ "kind": "declared_route",
410
+ "method": [
411
+ "POST"
412
+ ],
413
+ "path": "/Admin/Export",
414
+ "handler": {
415
+ "file": "dotnet-legacy/Web/Controllers/AdminController.cs",
416
+ "line": 30,
417
+ "symbol": "AdminController.Export"
418
+ },
419
+ "id_params": [
420
+ {
421
+ "name": "isAdmin",
422
+ "source": "query",
423
+ "line": 32,
424
+ "is_id_like": false
425
+ }
426
+ ],
427
+ "guard_hints": [
428
+ {
429
+ "hint": "[Authorize(Roles = \"Admin\")]",
430
+ "line": 30
431
+ },
432
+ {
433
+ "hint": "Authorize(",
434
+ "line": 30
435
+ },
436
+ {
437
+ "hint": "[Authorize]",
438
+ "line": 6
439
+ }
440
+ ],
441
+ "data_hints": [],
442
+ "notes": "path is convention-based",
443
+ "route_id": "R-0009",
444
+ "needs_audit_hint": true,
445
+ "privilege_hint": "privileged",
446
+ "privilege_reasons": [
447
+ "path:admin",
448
+ "path:export"
449
+ ],
450
+ "role_checks": [],
451
+ "bfla_signals": [
452
+ {
453
+ "signal": "role_from_request",
454
+ "line": 32,
455
+ "hint": "Request.QueryString[\"isAdmin\""
456
+ },
457
+ {
458
+ "signal": "no_role_check",
459
+ "line": 30,
460
+ "hint": "path:admin, path:export"
461
+ }
462
+ ],
463
+ "needs_bfla_audit_hint": true
464
+ },
465
+ {
466
+ "stack": "dotnet-mvc",
467
+ "kind": "declared_route",
468
+ "method": [
469
+ "ANY"
470
+ ],
471
+ "path": "/Invoice/Details",
472
+ "handler": {
473
+ "file": "dotnet-legacy/Web/Controllers/InvoiceController.cs",
474
+ "line": 11,
475
+ "symbol": "InvoiceController.Details"
476
+ },
477
+ "id_params": [
478
+ {
479
+ "name": "id",
480
+ "source": "any",
481
+ "line": 11,
482
+ "is_id_like": true
483
+ }
484
+ ],
485
+ "guard_hints": [
486
+ {
487
+ "hint": "[Authorize]",
488
+ "line": 6
489
+ }
490
+ ],
491
+ "data_hints": [
492
+ {
493
+ "op": "read",
494
+ "line": 13
495
+ }
496
+ ],
497
+ "notes": "path is convention-based",
498
+ "route_id": "R-0013",
499
+ "needs_audit_hint": true,
500
+ "privilege_hint": "unknown",
501
+ "privilege_reasons": [],
502
+ "role_checks": [],
503
+ "bfla_signals": [],
504
+ "needs_bfla_audit_hint": false
505
+ },
506
+ {
507
+ "stack": "dotnet-mvc",
508
+ "kind": "declared_route",
509
+ "method": [
510
+ "ANY"
511
+ ],
512
+ "path": "/Invoice/Mine",
513
+ "handler": {
514
+ "file": "dotnet-legacy/Web/Controllers/InvoiceController.cs",
515
+ "line": 17,
516
+ "symbol": "InvoiceController.Mine"
517
+ },
518
+ "id_params": [
519
+ {
520
+ "name": "id",
521
+ "source": "any",
522
+ "line": 17,
523
+ "is_id_like": true
524
+ }
525
+ ],
526
+ "guard_hints": [
527
+ {
528
+ "hint": "[Authorize]",
529
+ "line": 6
530
+ }
531
+ ],
532
+ "data_hints": [
533
+ {
534
+ "op": "read",
535
+ "line": 20
536
+ }
537
+ ],
538
+ "notes": "path is convention-based",
539
+ "route_id": "R-0014",
540
+ "needs_audit_hint": true,
541
+ "privilege_hint": "unknown",
542
+ "privilege_reasons": [],
543
+ "role_checks": [],
544
+ "bfla_signals": [],
545
+ "needs_bfla_audit_hint": false
546
+ },
547
+ {
548
+ "stack": "dotnet-mvc",
549
+ "kind": "declared_route",
550
+ "method": [
551
+ "POST"
552
+ ],
553
+ "path": "/Invoice/Search",
554
+ "handler": {
555
+ "file": "dotnet-legacy/Web/Controllers/InvoiceController.cs",
556
+ "line": 26,
557
+ "symbol": "InvoiceController.Search"
558
+ },
559
+ "id_params": [
560
+ {
561
+ "name": "customer",
562
+ "source": "any",
563
+ "line": 26,
564
+ "is_id_like": false
565
+ }
566
+ ],
567
+ "guard_hints": [
568
+ {
569
+ "hint": "[Authorize]",
570
+ "line": 6
571
+ }
572
+ ],
573
+ "data_hints": [
574
+ {
575
+ "op": "read",
576
+ "line": 28
577
+ }
578
+ ],
579
+ "notes": "path is convention-based",
580
+ "route_id": "R-0015",
581
+ "needs_audit_hint": true,
582
+ "privilege_hint": "unknown",
583
+ "privilege_reasons": [],
584
+ "role_checks": [],
585
+ "bfla_signals": [],
586
+ "needs_bfla_audit_hint": false
587
+ },
588
+ {
589
+ "stack": "dotnet-webforms",
590
+ "kind": "file_endpoint",
591
+ "method": [
592
+ "ANY"
593
+ ],
594
+ "path": "/dotnet-legacy/Web/Orders/EditOrder.aspx",
595
+ "handler": {
596
+ "file": "dotnet-legacy/Web/Orders/EditOrder.aspx.vb",
597
+ "line": 1,
598
+ "symbol": null
599
+ },
600
+ "id_params": [
601
+ {
602
+ "name": "hfOrderId",
603
+ "source": "hidden_field",
604
+ "line": 8,
605
+ "is_id_like": true
606
+ },
607
+ {
608
+ "name": "txtNote",
609
+ "source": "form",
610
+ "line": 7,
611
+ "is_id_like": false
612
+ }
613
+ ],
614
+ "guard_hints": [],
615
+ "data_hints": [
616
+ {
617
+ "op": "update",
618
+ "line": 7
619
+ }
620
+ ],
621
+ "notes": "",
622
+ "route_id": "R-0017",
623
+ "needs_audit_hint": true,
624
+ "privilege_hint": "unknown",
625
+ "privilege_reasons": [],
626
+ "role_checks": [],
627
+ "bfla_signals": [],
628
+ "needs_bfla_audit_hint": false
629
+ },
630
+ {
631
+ "stack": "dotnet-webforms",
632
+ "kind": "file_endpoint",
633
+ "method": [
634
+ "ANY"
635
+ ],
636
+ "path": "/dotnet-legacy/Web/Orders/OrderDetail.aspx",
637
+ "handler": {
638
+ "file": "dotnet-legacy/Web/Orders/OrderDetail.aspx.cs",
639
+ "line": 1,
640
+ "symbol": null
641
+ },
642
+ "id_params": [
643
+ {
644
+ "name": "id",
645
+ "source": "query",
646
+ "line": 10,
647
+ "is_id_like": true
648
+ },
649
+ {
650
+ "name": "cart",
651
+ "source": "form",
652
+ "line": 20,
653
+ "is_id_like": false
654
+ },
655
+ {
656
+ "name": "ref",
657
+ "source": "any",
658
+ "line": 19,
659
+ "is_id_like": false
660
+ }
661
+ ],
662
+ "guard_hints": [
663
+ {
664
+ "hint": "Session[\"",
665
+ "line": 18
666
+ }
667
+ ],
668
+ "data_hints": [
669
+ {
670
+ "op": "read",
671
+ "line": 13
672
+ },
673
+ {
674
+ "op": "read",
675
+ "line": 16
676
+ },
677
+ {
678
+ "op": "read",
679
+ "line": 19
680
+ },
681
+ {
682
+ "op": "delete",
683
+ "line": 20
684
+ }
685
+ ],
686
+ "notes": "",
687
+ "route_id": "R-0018",
688
+ "needs_audit_hint": true,
689
+ "privilege_hint": "unknown",
690
+ "privilege_reasons": [],
691
+ "role_checks": [],
692
+ "bfla_signals": [],
693
+ "needs_bfla_audit_hint": false
694
+ },
695
+ {
696
+ "stack": "java-jsp",
697
+ "kind": "file_endpoint",
698
+ "method": [
699
+ "ANY"
700
+ ],
701
+ "path": "/order/detail.jsp",
702
+ "handler": {
703
+ "file": "java-legacy/WebContent/order/detail.jsp",
704
+ "line": 1,
705
+ "symbol": null
706
+ },
707
+ "id_params": [
708
+ {
709
+ "name": "no",
710
+ "source": "any",
711
+ "line": 3,
712
+ "is_id_like": true
713
+ }
714
+ ],
715
+ "guard_hints": [],
716
+ "data_hints": [
717
+ {
718
+ "op": "read",
719
+ "line": 5
720
+ }
721
+ ],
722
+ "notes": "",
723
+ "route_id": "R-0019",
724
+ "needs_audit_hint": true,
725
+ "privilege_hint": "unknown",
726
+ "privilege_reasons": [],
727
+ "role_checks": [],
728
+ "bfla_signals": [],
729
+ "needs_bfla_audit_hint": false
730
+ },
731
+ {
732
+ "stack": "java-struts1",
733
+ "kind": "declared_route",
734
+ "method": [
735
+ "ANY"
736
+ ],
737
+ "path": "/user/edit.do",
738
+ "handler": {
739
+ "file": "java-legacy/src/com/acme/struts/EditUserAction.java",
740
+ "line": 8,
741
+ "symbol": "com.acme.struts.EditUserAction"
742
+ },
743
+ "id_params": [
744
+ {
745
+ "name": "user_id",
746
+ "source": "any",
747
+ "line": 10,
748
+ "is_id_like": true
749
+ },
750
+ {
751
+ "name": "email",
752
+ "source": "any",
753
+ "line": 11,
754
+ "is_id_like": false
755
+ }
756
+ ],
757
+ "guard_hints": [],
758
+ "data_hints": [
759
+ {
760
+ "op": "read",
761
+ "line": 12
762
+ },
763
+ {
764
+ "op": "update",
765
+ "line": 13
766
+ }
767
+ ],
768
+ "notes": "declared in java-legacy/WebContent/WEB-INF/struts-config.xml:4",
769
+ "route_id": "R-0001",
770
+ "needs_audit_hint": true,
771
+ "privilege_hint": "unknown",
772
+ "privilege_reasons": [],
773
+ "role_checks": [],
774
+ "bfla_signals": [],
775
+ "needs_bfla_audit_hint": false
776
+ }
777
+ ]
778
+ }