apisec-code-bolt 0.1.0__tar.gz → 0.1.2__tar.gz

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 (211) hide show
  1. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/PKG-INFO +1 -1
  2. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/pyproject.toml +1 -1
  3. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/__init__.py +5 -1
  4. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/analysis/analyzer.py +4 -4
  5. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/analysis/data_flow.py +2 -2
  6. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/core/manifest.py +1 -1
  7. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/frameworks/base.py +1 -1
  8. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/frameworks/dotnet/aspnet_plugin.py +2 -2
  9. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/frameworks/java/jaxrs_plugin.py +2 -2
  10. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/frameworks/java/micronaut_plugin.py +2 -2
  11. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/frameworks/java/spring_plugin.py +2 -2
  12. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/frameworks/python/fastapi/plugin.py +2 -2
  13. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_jaxrs_plugin.py +2 -2
  14. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/.gitignore +0 -0
  15. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/README.md +0 -0
  16. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/__main__.py +0 -0
  17. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/analysis/__init__.py +0 -0
  18. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/analysis/binding_tracker.py +0 -0
  19. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/analysis/call_graph.py +0 -0
  20. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/analysis/call_graph_types.py +0 -0
  21. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/analysis/call_resolver.py +0 -0
  22. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/analysis/capability_tagger.py +0 -0
  23. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/analysis/config_scanner.py +0 -0
  24. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/analysis/dependency_extractor.py +0 -0
  25. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/analysis/flow_analysis.py +0 -0
  26. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/analysis/hof_catalog.py +0 -0
  27. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/analysis/integration_detector.py +0 -0
  28. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/analysis/literal_scanner.py +0 -0
  29. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/analysis/path_normalizer.py +0 -0
  30. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/analysis/read_site_detector.py +0 -0
  31. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/analysis/request_patterns.py +0 -0
  32. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/analysis/sensitivity_classifier.py +0 -0
  33. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/analysis/sink_evidence.py +0 -0
  34. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/analysis/url_prefix_resolver.py +0 -0
  35. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/cli/__init__.py +0 -0
  36. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/cli/exit_codes.py +0 -0
  37. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/cli/main.py +0 -0
  38. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/cloud/__init__.py +0 -0
  39. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/cloud/apisec_client.py +0 -0
  40. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/cloud/client.py +0 -0
  41. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/core/__init__.py +0 -0
  42. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/core/config.py +0 -0
  43. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/core/credentials.py +0 -0
  44. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/core/discovery.py +0 -0
  45. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/core/log_format.py +0 -0
  46. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/core/repo.py +0 -0
  47. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/core/state.py +0 -0
  48. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/core/telemetry.py +0 -0
  49. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/core/types.py +0 -0
  50. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/fingerprinting/__init__.py +0 -0
  51. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/frameworks/__init__.py +0 -0
  52. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/frameworks/_jwt_common.py +0 -0
  53. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/frameworks/auth_helpers.py +0 -0
  54. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/frameworks/dotnet/__init__.py +0 -0
  55. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/frameworks/dotnet/_path_helpers.py +0 -0
  56. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/frameworks/dotnet/grpc_plugin.py +0 -0
  57. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/frameworks/dotnet/jwt_config_extractor.py +0 -0
  58. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/frameworks/dotnet/legacy_aspnet_plugin.py +0 -0
  59. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/frameworks/dotnet/refit_plugin.py +0 -0
  60. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/frameworks/dotnet/wcf_plugin.py +0 -0
  61. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/frameworks/java/__init__.py +0 -0
  62. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/frameworks/java/_annotations.py +0 -0
  63. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/frameworks/java/_constraints.py +0 -0
  64. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/frameworks/java/graphql_plugin.py +0 -0
  65. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/frameworks/java/jwt_config_extractor.py +0 -0
  66. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/frameworks/js/__init__.py +0 -0
  67. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/frameworks/js/express_plugin.py +0 -0
  68. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/frameworks/js/fastify_plugin.py +0 -0
  69. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/frameworks/js/graphql_plugin.py +0 -0
  70. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/frameworks/js/nestjs_plugin.py +0 -0
  71. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/frameworks/python/__init__.py +0 -0
  72. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/frameworks/python/celery_plugin.py +0 -0
  73. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/frameworks/python/click_plugin.py +0 -0
  74. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/frameworks/python/django_plugin.py +0 -0
  75. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/frameworks/python/fastapi/__init__.py +0 -0
  76. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/frameworks/python/flask_plugin.py +0 -0
  77. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/frameworks/python/graphql_plugin.py +0 -0
  78. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/frameworks/python/prefect_plugin.py +0 -0
  79. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/frameworks/python/webhook_plugin.py +0 -0
  80. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/parsing/__init__.py +0 -0
  81. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/parsing/base.py +0 -0
  82. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/parsing/csharp/__init__.py +0 -0
  83. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/parsing/csharp/language_services.py +0 -0
  84. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/parsing/csharp/literals.py +0 -0
  85. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/parsing/csharp/parser.py +0 -0
  86. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/parsing/csharp/type_resolver.py +0 -0
  87. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/parsing/js/__init__.py +0 -0
  88. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/parsing/js/language_services.py +0 -0
  89. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/parsing/js/parser.py +0 -0
  90. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/parsing/jvm/__init__.py +0 -0
  91. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/parsing/jvm/language_services.py +0 -0
  92. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/parsing/jvm/parser.py +0 -0
  93. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/parsing/jvm/type_resolver.py +0 -0
  94. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/parsing/python/__init__.py +0 -0
  95. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/parsing/python/cbv_extractor.py +0 -0
  96. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/parsing/python/constant_resolver.py +0 -0
  97. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/parsing/python/cross_file_resolver.py +0 -0
  98. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/parsing/python/dynamic_route_detector.py +0 -0
  99. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/parsing/python/expression_utils.py +0 -0
  100. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/parsing/python/extraction_types.py +0 -0
  101. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/parsing/python/language_services.py +0 -0
  102. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/parsing/python/parameter_analyzer.py +0 -0
  103. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/parsing/python/parser.py +0 -0
  104. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/parsing/python/path_resolver.py +0 -0
  105. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/parsing/python/router_registry.py +0 -0
  106. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/parsing/python/type_resolver.py +0 -0
  107. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/parsing/python/visitors.py +0 -0
  108. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/parsing/services.py +0 -0
  109. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/query/__init__.py +0 -0
  110. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/query/ast_cache.py +0 -0
  111. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/query/executor.py +0 -0
  112. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/src/apisec_code_bolt/query/handlers.py +0 -0
  113. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/conftest.py +0 -0
  114. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/dep_files/Cargo.toml +0 -0
  115. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/dep_files/Pipfile +0 -0
  116. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/dep_files/build.gradle +0 -0
  117. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/dep_files/build.gradle.kts +0 -0
  118. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/dep_files/go.mod +0 -0
  119. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/dep_files/package.json +0 -0
  120. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/dep_files/pom.xml +0 -0
  121. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/dep_files/pyproject_pep621.toml +0 -0
  122. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/dep_files/pyproject_poetry.toml +0 -0
  123. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/dep_files/requirements-dev.txt +0 -0
  124. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/dep_files/requirements.txt +0 -0
  125. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/dep_files/setup.cfg +0 -0
  126. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/dep_files/setup.py +0 -0
  127. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/sample_django/urls.py +0 -0
  128. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/sample_django/views.py +0 -0
  129. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/sample_express/app.ts +0 -0
  130. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/sample_express/middleware/authenticate.ts +0 -0
  131. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/sample_express/routes/auth.ts +0 -0
  132. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/sample_express/routes/users.ts +0 -0
  133. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/sample_fastapi/main.py +0 -0
  134. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/sample_fastapi/routes/__init__.py +0 -0
  135. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/sample_fastapi/routes/users.py +0 -0
  136. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/sample_fastapi/services/__init__.py +0 -0
  137. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/sample_fastapi/services/user_service.py +0 -0
  138. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/sample_flask/app.py +0 -0
  139. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/sample_nestjs/auth.controller.ts +0 -0
  140. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/sample_nestjs/roles.decorator.ts +0 -0
  141. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/sample_nestjs/roles.guard.ts +0 -0
  142. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/sample_nestjs/users.controller.ts +0 -0
  143. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/sample_spring_boot/src/main/java/com/example/demo/config/SecurityConfig.java +0 -0
  144. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/sample_spring_boot/src/main/java/com/example/demo/controller/UserController.java +0 -0
  145. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/sample_spring_boot/src/main/java/com/example/demo/model/User.java +0 -0
  146. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/sample_spring_boot/src/main/java/com/example/demo/service/UserService.java +0 -0
  147. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/sample_spring_boot/src/main/resources/application.properties +0 -0
  148. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/vuln_spring_boot/VULNERABILITIES.md +0 -0
  149. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/vuln_spring_boot/src/main/java/com/example/vulnapi/config/SecurityConfig.java +0 -0
  150. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/vuln_spring_boot/src/main/java/com/example/vulnapi/controller/AdminController.java +0 -0
  151. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/vuln_spring_boot/src/main/java/com/example/vulnapi/controller/OrderController.java +0 -0
  152. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/vuln_spring_boot/src/main/java/com/example/vulnapi/controller/UserController.java +0 -0
  153. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/vuln_spring_boot/src/main/java/com/example/vulnapi/model/Order.java +0 -0
  154. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/vuln_spring_boot/src/main/java/com/example/vulnapi/model/User.java +0 -0
  155. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/vuln_spring_boot/src/main/java/com/example/vulnapi/service/OrderService.java +0 -0
  156. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/vuln_spring_boot/src/main/java/com/example/vulnapi/service/UserService.java +0 -0
  157. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/fixtures/vuln_spring_boot/src/main/resources/application.properties +0 -0
  158. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/integration/__init__.py +0 -0
  159. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/integration/test_cli.py +0 -0
  160. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/integration/test_django_analysis.py +0 -0
  161. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/integration/test_express_analysis.py +0 -0
  162. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/integration/test_fastapi_analysis.py +0 -0
  163. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/integration/test_flask_analysis.py +0 -0
  164. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/integration/test_nestjs_analysis.py +0 -0
  165. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/integration/test_spring_boot_analysis.py +0 -0
  166. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/test_query/__init__.py +0 -0
  167. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/test_query/fixtures/sample_app.py +0 -0
  168. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/test_query/test_executor.py +0 -0
  169. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/test_query/test_handlers.py +0 -0
  170. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/__init__.py +0 -0
  171. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_aspnet_plugin.py +0 -0
  172. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_benchmark_audit.py +0 -0
  173. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_benchmark_run.py +0 -0
  174. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_call_graph.py +0 -0
  175. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_cbv_extractor.py +0 -0
  176. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_config.py +0 -0
  177. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_constant_resolver.py +0 -0
  178. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_cross_file_resolver.py +0 -0
  179. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_csharp_literals.py +0 -0
  180. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_csharp_type_resolver.py +0 -0
  181. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_data_flow.py +0 -0
  182. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_dependency_parsing.py +0 -0
  183. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_discovery.py +0 -0
  184. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_django_plugin.py +0 -0
  185. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_dynamic_routes.py +0 -0
  186. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_express_nestjs_plugin.py +0 -0
  187. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_fastapi_plugin.py +0 -0
  188. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_fastify_plugin.py +0 -0
  189. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_flow_analysis.py +0 -0
  190. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_graphql_plugin.py +0 -0
  191. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_grpc_plugin.py +0 -0
  192. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_instrumentation.py +0 -0
  193. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_integration_detection.py +0 -0
  194. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_java_parser.py +0 -0
  195. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_js_graphql_plugin.py +0 -0
  196. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_jwt_config_extraction.py +0 -0
  197. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_legacy_aspnet_plugin.py +0 -0
  198. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_micronaut_plugin.py +0 -0
  199. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_parameter_analyzer.py +0 -0
  200. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_path_resolver.py +0 -0
  201. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_python_parser.py +0 -0
  202. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_refit_plugin.py +0 -0
  203. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_repo_canonical.py +0 -0
  204. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_router_registry.py +0 -0
  205. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_sensitivity_capability.py +0 -0
  206. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_sink_evidence.py +0 -0
  207. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_spring_plugin.py +0 -0
  208. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_telemetry.py +0 -0
  209. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_transformation_tracking.py +0 -0
  210. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_types.py +0 -0
  211. {apisec_code_bolt-0.1.0 → apisec_code_bolt-0.1.2}/tests/unit/test_wcf_plugin.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: apisec-code-bolt
3
- Version: 0.1.0
3
+ Version: 0.1.2
4
4
  Summary: Static analysis probe for extracting architectural metadata from codebases
5
5
  Project-URL: Homepage, https://apisec.ai
6
6
  Project-URL: Documentation, https://docs.apisec.ai/code-bolt
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "apisec-code-bolt"
7
- version = "0.1.0"
7
+ version = "0.1.2"
8
8
  description = "Static analysis probe for extracting architectural metadata from codebases"
9
9
  readme = "README.md"
10
10
  license = {text = "Proprietary"}
@@ -6,7 +6,11 @@ information (routes, data flows, authentication patterns) without sending
6
6
  raw source code outside the customer's environment.
7
7
  """
8
8
 
9
- __version__ = "0.1.0"
9
+ try:
10
+ from importlib.metadata import version as _pkg_version
11
+ __version__ = _pkg_version("apisec-code-bolt")
12
+ except Exception:
13
+ __version__ = "0.0.0"
10
14
  __author__ = "APIsec"
11
15
 
12
16
  from .core.config import CodeBoltConfig, load_config
@@ -1045,13 +1045,13 @@ class ProjectAnalyzer:
1045
1045
  if route.body:
1046
1046
  enriched_fields = self._enrich_body_fields(
1047
1047
  route.body.model_name,
1048
- route.body.model_fields,
1048
+ route.body.body_fields,
1049
1049
  route.handler_location.file if route.handler_location else None,
1050
1050
  )
1051
1051
  body = HttpBodyModel(
1052
1052
  content_type=route.body.content_type,
1053
1053
  model_name=route.body.model_name,
1054
- model_fields=enriched_fields,
1054
+ body_fields=enriched_fields,
1055
1055
  required=route.body.required,
1056
1056
  )
1057
1057
 
@@ -1862,9 +1862,9 @@ class ProjectAnalyzer:
1862
1862
  "header_params": [{"name": p.name} for p in (r.header_params or [])],
1863
1863
  "cookie_params": [{"name": p.name} for p in (r.cookie_params or [])],
1864
1864
  "body": {
1865
- "model_fields": [
1865
+ "body_fields": [
1866
1866
  {"name": f.name} if hasattr(f, "name") else {"name": f}
1867
- for f in (r.body.model_fields or [])
1867
+ for f in (r.body.body_fields or [])
1868
1868
  ]
1869
1869
  }
1870
1870
  if r.body
@@ -1606,9 +1606,9 @@ class DataFlowAnalyzer:
1606
1606
  ep_body = ep.get("body")
1607
1607
  if ep_body:
1608
1608
  body_fields = (
1609
- ep_body.get("model_fields", [])
1609
+ ep_body.get("body_fields", [])
1610
1610
  if isinstance(ep_body, dict)
1611
- else getattr(ep_body, "model_fields", [])
1611
+ else getattr(ep_body, "body_fields", [])
1612
1612
  )
1613
1613
  for f in body_fields:
1614
1614
  fname = (
@@ -214,7 +214,7 @@ class HttpBodyModel(BaseModel):
214
214
 
215
215
  content_type: str | None = None # application/json, multipart/form-data, etc.
216
216
  model_name: str | None = None # Pydantic model, Java DTO class
217
- model_fields: list[BodyFieldModel] = Field(default_factory=list)
217
+ body_fields: list[BodyFieldModel] = Field(default_factory=list)
218
218
  required: bool = True
219
219
 
220
220
 
@@ -64,7 +64,7 @@ class ExtractedBody:
64
64
  content_type: str | None = None
65
65
  model_name: str | None = None
66
66
  model_qualified_name: QualifiedName | None = None
67
- model_fields: list[str] = field(default_factory=list)
67
+ body_fields: list[str] = field(default_factory=list)
68
68
  required: bool = True
69
69
 
70
70
  code_location: CodeLocation | None = None
@@ -1017,7 +1017,7 @@ class AspNetCorePlugin(BaseFrameworkPlugin):
1017
1017
  body = ExtractedBody(
1018
1018
  content_type=consumes,
1019
1019
  model_name=body.model_name,
1020
- model_fields=body.model_fields,
1020
+ body_fields=body.body_fields,
1021
1021
  required=body.required,
1022
1022
  )
1023
1023
 
@@ -2081,7 +2081,7 @@ class AspNetCorePlugin(BaseFrameworkPlugin):
2081
2081
  body = ExtractedBody(
2082
2082
  content_type="application/json",
2083
2083
  model_name=type_ann,
2084
- model_fields=[f.name for f in fields] if fields else [],
2084
+ body_fields=[f.name for f in fields] if fields else [],
2085
2085
  required=True,
2086
2086
  )
2087
2087
  elif self._is_complex_type(raw_type):
@@ -450,7 +450,7 @@ class JaxRsPlugin(BaseFrameworkPlugin):
450
450
  body = ExtractedBody(
451
451
  content_type=consumes or "application/json",
452
452
  model_name=param.type_annotation,
453
- model_fields=model_fields,
453
+ body_fields=model_fields,
454
454
  required=True,
455
455
  )
456
456
  continue
@@ -471,7 +471,7 @@ class JaxRsPlugin(BaseFrameworkPlugin):
471
471
  if form_parts and body is None:
472
472
  body = ExtractedBody(
473
473
  content_type="application/x-www-form-urlencoded",
474
- model_fields=form_parts,
474
+ body_fields=form_parts,
475
475
  required=True,
476
476
  )
477
477
 
@@ -343,7 +343,7 @@ class MicronautPlugin(BaseFrameworkPlugin):
343
343
  body = ExtractedBody(
344
344
  content_type=consumes,
345
345
  model_name=body.model_name,
346
- model_fields=body.model_fields,
346
+ body_fields=body.body_fields,
347
347
  required=body.required,
348
348
  )
349
349
  else:
@@ -500,7 +500,7 @@ class MicronautPlugin(BaseFrameworkPlugin):
500
500
  body = ExtractedBody(
501
501
  content_type="application/json",
502
502
  model_name=model_name,
503
- model_fields=model_fields,
503
+ body_fields=model_fields,
504
504
  required=True,
505
505
  )
506
506
  continue
@@ -481,7 +481,7 @@ class SpringBootPlugin(BaseFrameworkPlugin):
481
481
  body = ExtractedBody(
482
482
  content_type=consumes,
483
483
  model_name=body.model_name,
484
- model_fields=body.model_fields,
484
+ body_fields=body.body_fields,
485
485
  required=body.required,
486
486
  )
487
487
  else:
@@ -639,7 +639,7 @@ class SpringBootPlugin(BaseFrameworkPlugin):
639
639
  body = ExtractedBody(
640
640
  content_type="application/json",
641
641
  model_name=model_name,
642
- model_fields=model_fields,
642
+ body_fields=model_fields,
643
643
  required=True,
644
644
  )
645
645
  # @Valid marks the body for bean-validation; no dedicated manifest
@@ -921,7 +921,7 @@ class FastAPIPlugin(BaseFrameworkPlugin):
921
921
  body = ExtractedBody(
922
922
  content_type=content_type,
923
923
  model_name=param.base_type,
924
- model_fields=fields,
924
+ body_fields=fields,
925
925
  )
926
926
  continue
927
927
 
@@ -975,7 +975,7 @@ class FastAPIPlugin(BaseFrameworkPlugin):
975
975
  content_type=content_type,
976
976
  model_name=model_name,
977
977
  model_qualified_name=model_qn,
978
- model_fields=model_fields,
978
+ body_fields=model_fields,
979
979
  required=not param.is_optional,
980
980
  )
981
981
 
@@ -302,8 +302,8 @@ public class AuthResource {
302
302
  assert len(routes) == 1
303
303
  assert routes[0].body is not None
304
304
  assert routes[0].body.content_type == "application/x-www-form-urlencoded"
305
- assert "username" in (routes[0].body.model_fields or [])
306
- assert "password" in (routes[0].body.model_fields or [])
305
+ assert "username" in (routes[0].body.body_fields or [])
306
+ assert "password" in (routes[0].body.body_fields or [])
307
307
 
308
308
  def test_injected_types_are_skipped(self, parser: JavaParser, plugin: JaxRsPlugin) -> None:
309
309
  source = """