auditr 0.1.0__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 (310) hide show
  1. auditr-0.1.0/.dockerignore +22 -0
  2. auditr-0.1.0/.gitignore +37 -0
  3. auditr-0.1.0/Dockerfile +25 -0
  4. auditr-0.1.0/LICENSE +21 -0
  5. auditr-0.1.0/PKG-INFO +721 -0
  6. auditr-0.1.0/README.md +675 -0
  7. auditr-0.1.0/assets/icon.svg +26 -0
  8. auditr-0.1.0/auditor/__init__.py +45 -0
  9. auditr-0.1.0/auditor/aggregate.py +93 -0
  10. auditr-0.1.0/auditor/ast_util.py +85 -0
  11. auditr-0.1.0/auditor/baseline.py +69 -0
  12. auditr-0.1.0/auditor/builtins.py +20 -0
  13. auditr-0.1.0/auditor/cli/__init__.py +33 -0
  14. auditr-0.1.0/auditor/cli/__main__.py +6 -0
  15. auditr-0.1.0/auditor/cli/aggregate.py +27 -0
  16. auditr-0.1.0/auditor/cli/apps.py +18 -0
  17. auditr-0.1.0/auditor/cli/config.py +28 -0
  18. auditr-0.1.0/auditor/cli/crossfile.py +29 -0
  19. auditr-0.1.0/auditor/cli/discover.py +43 -0
  20. auditr-0.1.0/auditor/cli/helpers.py +106 -0
  21. auditr-0.1.0/auditor/cli/ignore.py +130 -0
  22. auditr-0.1.0/auditor/cli/index.py +66 -0
  23. auditr-0.1.0/auditor/cli/manifest.py +22 -0
  24. auditr-0.1.0/auditor/cli/options.py +181 -0
  25. auditr-0.1.0/auditor/cli/plugins.py +24 -0
  26. auditr-0.1.0/auditor/cli/report.py +54 -0
  27. auditr-0.1.0/auditor/cli/rules.py +66 -0
  28. auditr-0.1.0/auditor/cli/scan.py +265 -0
  29. auditr-0.1.0/auditor/cli/summary.py +91 -0
  30. auditr-0.1.0/auditor/config.py +530 -0
  31. auditr-0.1.0/auditor/crossfile.py +177 -0
  32. auditr-0.1.0/auditor/dead_code.py +80 -0
  33. auditr-0.1.0/auditor/discovery.py +249 -0
  34. auditr-0.1.0/auditor/engine.py +553 -0
  35. auditr-0.1.0/auditor/fingerprints.py +27 -0
  36. auditr-0.1.0/auditor/fixture_usage.py +42 -0
  37. auditr-0.1.0/auditor/ignores.py +85 -0
  38. auditr-0.1.0/auditor/index.py +697 -0
  39. auditr-0.1.0/auditor/languages/__init__.py +0 -0
  40. auditr-0.1.0/auditor/languages/base.py +298 -0
  41. auditr-0.1.0/auditor/languages/bash/__init__.py +2 -0
  42. auditr-0.1.0/auditor/languages/bash/auditor.py +42 -0
  43. auditr-0.1.0/auditor/languages/bash/base.py +62 -0
  44. auditr-0.1.0/auditor/languages/bash/detectors/__init__.py +6 -0
  45. auditr-0.1.0/auditor/languages/bash/detectors/malware.py +209 -0
  46. auditr-0.1.0/auditor/languages/bash/detectors/secrets.py +10 -0
  47. auditr-0.1.0/auditor/languages/malware_signatures.py +43 -0
  48. auditr-0.1.0/auditor/languages/malware_sweeps.py +73 -0
  49. auditr-0.1.0/auditor/languages/manifest/__init__.py +3 -0
  50. auditr-0.1.0/auditor/languages/manifest/auditor.py +43 -0
  51. auditr-0.1.0/auditor/languages/manifest/base.py +85 -0
  52. auditr-0.1.0/auditor/languages/manifest/detectors/__init__.py +3 -0
  53. auditr-0.1.0/auditor/languages/manifest/detectors/supply_chain.py +43 -0
  54. auditr-0.1.0/auditor/languages/python/__init__.py +0 -0
  55. auditr-0.1.0/auditor/languages/python/auditor.py +89 -0
  56. auditr-0.1.0/auditor/languages/python/detectors/__init__.py +18 -0
  57. auditr-0.1.0/auditor/languages/python/detectors/_util.py +135 -0
  58. auditr-0.1.0/auditor/languages/python/detectors/async_rules.py +335 -0
  59. auditr-0.1.0/auditor/languages/python/detectors/config_rules.py +91 -0
  60. auditr-0.1.0/auditor/languages/python/detectors/correctness.py +188 -0
  61. auditr-0.1.0/auditor/languages/python/detectors/malware.py +347 -0
  62. auditr-0.1.0/auditor/languages/python/detectors/oop.py +697 -0
  63. auditr-0.1.0/auditor/languages/python/detectors/secrets.py +10 -0
  64. auditr-0.1.0/auditor/languages/python/detectors/security/__init__.py +9 -0
  65. auditr-0.1.0/auditor/languages/python/detectors/security/_base.py +32 -0
  66. auditr-0.1.0/auditor/languages/python/detectors/security/crypto.py +177 -0
  67. auditr-0.1.0/auditor/languages/python/detectors/security/deserialize.py +119 -0
  68. auditr-0.1.0/auditor/languages/python/detectors/security/framework.py +174 -0
  69. auditr-0.1.0/auditor/languages/python/detectors/security/injection.py +226 -0
  70. auditr-0.1.0/auditor/languages/python/detectors/security/network.py +230 -0
  71. auditr-0.1.0/auditor/languages/python/detectors/sqlalchemy_rules.py +428 -0
  72. auditr-0.1.0/auditor/languages/python/detectors/style.py +141 -0
  73. auditr-0.1.0/auditor/languages/python/detectors/suggestions.py +203 -0
  74. auditr-0.1.0/auditor/languages/python/detectors/supply_chain.py +105 -0
  75. auditr-0.1.0/auditor/languages/python/detectors/testing.py +442 -0
  76. auditr-0.1.0/auditor/languages/python/detectors/typing_rules.py +115 -0
  77. auditr-0.1.0/auditor/languages/python/detectors/xfile.py +62 -0
  78. auditr-0.1.0/auditor/languages/python/shapes.py +330 -0
  79. auditr-0.1.0/auditor/languages/secret_sweeps.py +37 -0
  80. auditr-0.1.0/auditor/languages/sweep.py +65 -0
  81. auditr-0.1.0/auditor/languages/typescript/__init__.py +1 -0
  82. auditr-0.1.0/auditor/languages/typescript/auditor.py +68 -0
  83. auditr-0.1.0/auditor/languages/typescript/base.py +47 -0
  84. auditr-0.1.0/auditor/languages/typescript/detectors/__init__.py +14 -0
  85. auditr-0.1.0/auditor/languages/typescript/detectors/a11y.py +323 -0
  86. auditr-0.1.0/auditor/languages/typescript/detectors/complexity.py +120 -0
  87. auditr-0.1.0/auditor/languages/typescript/detectors/design_system.py +165 -0
  88. auditr-0.1.0/auditor/languages/typescript/detectors/dry.py +191 -0
  89. auditr-0.1.0/auditor/languages/typescript/detectors/malware.py +212 -0
  90. auditr-0.1.0/auditor/languages/typescript/detectors/react.py +306 -0
  91. auditr-0.1.0/auditor/languages/typescript/detectors/secrets.py +10 -0
  92. auditr-0.1.0/auditor/languages/typescript/detectors/security.py +155 -0
  93. auditr-0.1.0/auditor/languages/typescript/detectors/style.py +40 -0
  94. auditr-0.1.0/auditor/languages/typescript/detectors/xfile.py +37 -0
  95. auditr-0.1.0/auditor/languages/typescript/manifest.py +47 -0
  96. auditr-0.1.0/auditor/languages/typescript/nodes.py +203 -0
  97. auditr-0.1.0/auditor/languages/typescript/parser.py +42 -0
  98. auditr-0.1.0/auditor/languages/typescript/shapes.py +162 -0
  99. auditr-0.1.0/auditor/logconfig.py +25 -0
  100. auditr-0.1.0/auditor/mcp_server.py +239 -0
  101. auditr-0.1.0/auditor/models.py +235 -0
  102. auditr-0.1.0/auditor/paths.py +29 -0
  103. auditr-0.1.0/auditor/plugins.py +78 -0
  104. auditr-0.1.0/auditor/profiles/__init__.py +0 -0
  105. auditr-0.1.0/auditor/profiles/all-strict.toml +11 -0
  106. auditr-0.1.0/auditor/profiles/base.toml +55 -0
  107. auditr-0.1.0/auditor/profiles/pydantic.toml +2 -0
  108. auditr-0.1.0/auditor/profiles/strict.toml +5 -0
  109. auditr-0.1.0/auditor/registry.py +132 -0
  110. auditr-0.1.0/auditor/reporters/__init__.py +11 -0
  111. auditr-0.1.0/auditor/reporters/base.py +47 -0
  112. auditr-0.1.0/auditor/reporters/html_reporter.py +324 -0
  113. auditr-0.1.0/auditor/reporters/json_reporter.py +62 -0
  114. auditr-0.1.0/auditor/reporters/markdown_reporter.py +53 -0
  115. auditr-0.1.0/auditor/reporters/sarif_reporter.py +74 -0
  116. auditr-0.1.0/auditor/roles.py +123 -0
  117. auditr-0.1.0/auditor/secrets_signatures.py +253 -0
  118. auditr-0.1.0/auditor/serve.py +91 -0
  119. auditr-0.1.0/auditor/settings_cohesion.py +109 -0
  120. auditr-0.1.0/auditor/skips.py +126 -0
  121. auditr-0.1.0/docker-compose.yml +28 -0
  122. auditr-0.1.0/docs/superpowers/plans/2026-06-08-dead-code-rule.md +672 -0
  123. auditr-0.1.0/docs/superpowers/plans/2026-06-08-pytest-structural-test-rules.md +1702 -0
  124. auditr-0.1.0/docs/superpowers/plans/2026-06-08-sqlalchemy-rules.md +721 -0
  125. auditr-0.1.0/docs/superpowers/plans/2026-06-09-injectable-config-json.md +465 -0
  126. auditr-0.1.0/docs/superpowers/specs/2026-06-06-auditor-skip-directive-design.md +83 -0
  127. auditr-0.1.0/docs/superpowers/specs/2026-06-06-discovery-defaults-design.md +75 -0
  128. auditr-0.1.0/docs/superpowers/specs/2026-06-06-persistent-ignores-design.md +167 -0
  129. auditr-0.1.0/docs/superpowers/specs/2026-06-06-scattered-settings-rule-design.md +124 -0
  130. auditr-0.1.0/docs/superpowers/specs/2026-06-08-dead-code-rule-design.md +115 -0
  131. auditr-0.1.0/docs/superpowers/specs/2026-06-08-pytest-structural-test-rules-design.md +276 -0
  132. auditr-0.1.0/docs/superpowers/specs/2026-06-08-sqlalchemy-rules-design.md +156 -0
  133. auditr-0.1.0/docs/superpowers/specs/2026-06-09-injectable-config-json-design.md +98 -0
  134. auditr-0.1.0/pyproject.toml +60 -0
  135. auditr-0.1.0/scripts/release.sh +199 -0
  136. auditr-0.1.0/tests/_detector_cases.py +1067 -0
  137. auditr-0.1.0/tests/_support.py +213 -0
  138. auditr-0.1.0/tests/_ts_cases.py +475 -0
  139. auditr-0.1.0/tests/cli/test_aggregate.py +12 -0
  140. auditr-0.1.0/tests/cli/test_config.py +30 -0
  141. auditr-0.1.0/tests/cli/test_crossfile.py +10 -0
  142. auditr-0.1.0/tests/cli/test_discover.py +58 -0
  143. auditr-0.1.0/tests/cli/test_errors.py +22 -0
  144. auditr-0.1.0/tests/cli/test_helpers.py +44 -0
  145. auditr-0.1.0/tests/cli/test_ignore.py +193 -0
  146. auditr-0.1.0/tests/cli/test_index.py +30 -0
  147. auditr-0.1.0/tests/cli/test_manifest.py +31 -0
  148. auditr-0.1.0/tests/cli/test_plugins.py +9 -0
  149. auditr-0.1.0/tests/cli/test_report.py +21 -0
  150. auditr-0.1.0/tests/cli/test_rules.py +50 -0
  151. auditr-0.1.0/tests/cli/test_scan.py +417 -0
  152. auditr-0.1.0/tests/conftest.py +27 -0
  153. auditr-0.1.0/tests/fixtures/data/plugins/house_rules.py +25 -0
  154. auditr-0.1.0/tests/fixtures/data/sample_repo/edge/broken.py +3 -0
  155. auditr-0.1.0/tests/fixtures/data/sample_repo/edge/empty.py +0 -0
  156. auditr-0.1.0/tests/fixtures/data/sample_repo/edge/tricky.py +42 -0
  157. auditr-0.1.0/tests/fixtures/data/sample_repo/generated/client_pb2.py +4 -0
  158. auditr-0.1.0/tests/fixtures/data/sample_repo/pyproject.toml +7 -0
  159. auditr-0.1.0/tests/fixtures/data/sample_repo/scripts/migrate.py +13 -0
  160. auditr-0.1.0/tests/fixtures/data/sample_repo/src/__init__.py +0 -0
  161. auditr-0.1.0/tests/fixtures/data/sample_repo/src/account.py +17 -0
  162. auditr-0.1.0/tests/fixtures/data/sample_repo/src/async_service.py +65 -0
  163. auditr-0.1.0/tests/fixtures/data/sample_repo/src/clean.py +19 -0
  164. auditr-0.1.0/tests/fixtures/data/sample_repo/src/customer.py +16 -0
  165. auditr-0.1.0/tests/fixtures/data/sample_repo/src/integrations.py +81 -0
  166. auditr-0.1.0/tests/fixtures/data/sample_repo/src/models.py +58 -0
  167. auditr-0.1.0/tests/fixtures/data/sample_repo/src/processing.py +131 -0
  168. auditr-0.1.0/tests/fixtures/data/sample_repo/src/settings.py +24 -0
  169. auditr-0.1.0/tests/fixtures/data/sample_repo/src/web.py +58 -0
  170. auditr-0.1.0/tests/fixtures/data/sample_repo/tests/__init__.py +0 -0
  171. auditr-0.1.0/tests/fixtures/data/sample_repo/tests/conftest.py +8 -0
  172. auditr-0.1.0/tests/fixtures/data/sample_repo/tests/factories.py +15 -0
  173. auditr-0.1.0/tests/fixtures/data/sample_repo/tests/test_app.py +34 -0
  174. auditr-0.1.0/tests/fixtures/data/ts/Clean.tsx +19 -0
  175. auditr-0.1.0/tests/fixtures/data/ts/Dirty.tsx +20 -0
  176. auditr-0.1.0/tests/fixtures/data/ts/app/Clean.tsx +22 -0
  177. auditr-0.1.0/tests/fixtures/data/ts/app/components/Dashboard.tsx +105 -0
  178. auditr-0.1.0/tests/fixtures/data/ts/app/components/EdgeCases.tsx +55 -0
  179. auditr-0.1.0/tests/fixtures/data/ts/app/components/EmbedViewer.tsx +16 -0
  180. auditr-0.1.0/tests/fixtures/data/ts/app/components/HookPitfalls.tsx +23 -0
  181. auditr-0.1.0/tests/fixtures/data/ts/app/components/MetricsGrid.tsx +20 -0
  182. auditr-0.1.0/tests/fixtures/data/ts/app/components/StatCard.tsx +44 -0
  183. auditr-0.1.0/tests/fixtures/data/ts/app/components/StatCardLegacy.tsx +21 -0
  184. auditr-0.1.0/tests/fixtures/data/ts/app/components/StatusRow.tsx +13 -0
  185. auditr-0.1.0/tests/fixtures/data/ts/app/components/SummaryPanel.tsx +21 -0
  186. auditr-0.1.0/tests/fixtures/data/ts/app/components/Toolbar.tsx +17 -0
  187. auditr-0.1.0/tests/fixtures/data/ts/app/components/UserSettingsForm.tsx +13 -0
  188. auditr-0.1.0/tests/fixtures/data/ts/app/hooks/use-metrics.ts +13 -0
  189. auditr-0.1.0/tests/fixtures/data/ts/app/lib/format.ts +20 -0
  190. auditr-0.1.0/tests/fixtures/data/ts/app/lib/payload.ts +23 -0
  191. auditr-0.1.0/tests/fixtures/data/ts/stress/AdminConsole.tsx +237 -0
  192. auditr-0.1.0/tests/fixtures/data/ts/stress/AuditLog.tsx +96 -0
  193. auditr-0.1.0/tests/fixtures/data/ts/stress/HookPitfalls.tsx +23 -0
  194. auditr-0.1.0/tests/fixtures/data/ts/stress/PluginLoader.ts +22 -0
  195. auditr-0.1.0/tests/fixtures/data/ts/stress/ReportsView.tsx +98 -0
  196. auditr-0.1.0/tests/fixtures/sample_projects/dashboard/backend/app/__init__.py +1 -0
  197. auditr-0.1.0/tests/fixtures/sample_projects/dashboard/backend/app/api/__init__.py +1 -0
  198. auditr-0.1.0/tests/fixtures/sample_projects/dashboard/backend/app/api/routes.py +34 -0
  199. auditr-0.1.0/tests/fixtures/sample_projects/dashboard/backend/app/core/VERSION +1 -0
  200. auditr-0.1.0/tests/fixtures/sample_projects/dashboard/backend/app/core/__init__.py +1 -0
  201. auditr-0.1.0/tests/fixtures/sample_projects/dashboard/backend/app/core/auth.py +31 -0
  202. auditr-0.1.0/tests/fixtures/sample_projects/dashboard/backend/app/core/config.py +21 -0
  203. auditr-0.1.0/tests/fixtures/sample_projects/dashboard/backend/app/core/legacy.py +33 -0
  204. auditr-0.1.0/tests/fixtures/sample_projects/dashboard/backend/app/main.py +20 -0
  205. auditr-0.1.0/tests/fixtures/sample_projects/dashboard/backend/app/models/__init__.py +1 -0
  206. auditr-0.1.0/tests/fixtures/sample_projects/dashboard/backend/app/models/entities.py +78 -0
  207. auditr-0.1.0/tests/fixtures/sample_projects/dashboard/backend/app/schemas/__init__.py +1 -0
  208. auditr-0.1.0/tests/fixtures/sample_projects/dashboard/backend/app/schemas/reports.py +26 -0
  209. auditr-0.1.0/tests/fixtures/sample_projects/dashboard/backend/app/services/__init__.py +1 -0
  210. auditr-0.1.0/tests/fixtures/sample_projects/dashboard/backend/app/services/alerts.py +92 -0
  211. auditr-0.1.0/tests/fixtures/sample_projects/dashboard/backend/app/services/exporters.py +45 -0
  212. auditr-0.1.0/tests/fixtures/sample_projects/dashboard/backend/app/services/metrics.py +50 -0
  213. auditr-0.1.0/tests/fixtures/sample_projects/dashboard/backend/app/services/reports.py +71 -0
  214. auditr-0.1.0/tests/fixtures/sample_projects/dashboard/backend/tests/test_metrics.py +14 -0
  215. auditr-0.1.0/tests/fixtures/sample_projects/dashboard/frontend/src/components/AlertsPanel.tsx +28 -0
  216. auditr-0.1.0/tests/fixtures/sample_projects/dashboard/frontend/src/components/Clean.tsx +10 -0
  217. auditr-0.1.0/tests/fixtures/sample_projects/dashboard/frontend/src/components/Dashboard.tsx +62 -0
  218. auditr-0.1.0/tests/fixtures/sample_projects/dashboard/frontend/src/components/HostRow.tsx +19 -0
  219. auditr-0.1.0/tests/fixtures/sample_projects/dashboard/frontend/src/components/MetricsTable.tsx +51 -0
  220. auditr-0.1.0/tests/fixtures/sample_projects/dashboard/frontend/src/components/ServiceRow.tsx +19 -0
  221. auditr-0.1.0/tests/fixtures/sample_projects/dashboard/frontend/src/components/ui/index.tsx +23 -0
  222. auditr-0.1.0/tests/fixtures/sample_projects/dashboard/frontend/src/hooks/useMetrics.ts +27 -0
  223. auditr-0.1.0/tests/fixtures/sample_projects/dashboard/frontend/src/lib/format.ts +15 -0
  224. auditr-0.1.0/tests/fixtures/sample_projects/dashboard/frontend/src/routeTree.gen.ts +11 -0
  225. auditr-0.1.0/tests/fixtures/sample_projects/dashboard/pyproject.toml +25 -0
  226. auditr-0.1.0/tests/languages/bash/test_malware.py +234 -0
  227. auditr-0.1.0/tests/languages/bash/test_secrets.py +18 -0
  228. auditr-0.1.0/tests/languages/manifest/test_base.py +87 -0
  229. auditr-0.1.0/tests/languages/manifest/test_supply_chain.py +118 -0
  230. auditr-0.1.0/tests/languages/python/detectors/security/test_base.py +20 -0
  231. auditr-0.1.0/tests/languages/python/detectors/security/test_crypto.py +47 -0
  232. auditr-0.1.0/tests/languages/python/detectors/security/test_deserialize.py +56 -0
  233. auditr-0.1.0/tests/languages/python/detectors/security/test_framework.py +34 -0
  234. auditr-0.1.0/tests/languages/python/detectors/security/test_injection.py +58 -0
  235. auditr-0.1.0/tests/languages/python/detectors/security/test_network.py +87 -0
  236. auditr-0.1.0/tests/languages/python/detectors/test_async_rules.py +91 -0
  237. auditr-0.1.0/tests/languages/python/detectors/test_config_rules.py +35 -0
  238. auditr-0.1.0/tests/languages/python/detectors/test_correctness.py +90 -0
  239. auditr-0.1.0/tests/languages/python/detectors/test_malware.py +246 -0
  240. auditr-0.1.0/tests/languages/python/detectors/test_oop.py +118 -0
  241. auditr-0.1.0/tests/languages/python/detectors/test_secrets.py +18 -0
  242. auditr-0.1.0/tests/languages/python/detectors/test_sqlalchemy.py +337 -0
  243. auditr-0.1.0/tests/languages/python/detectors/test_style.py +48 -0
  244. auditr-0.1.0/tests/languages/python/detectors/test_supply_chain.py +114 -0
  245. auditr-0.1.0/tests/languages/python/detectors/test_testing.py +372 -0
  246. auditr-0.1.0/tests/languages/python/detectors/test_typing_rules.py +43 -0
  247. auditr-0.1.0/tests/languages/python/detectors/test_util.py +177 -0
  248. auditr-0.1.0/tests/languages/python/detectors/test_xfile.py +22 -0
  249. auditr-0.1.0/tests/languages/python/test_auditor.py +39 -0
  250. auditr-0.1.0/tests/languages/python/test_manifest.py +47 -0
  251. auditr-0.1.0/tests/languages/python/test_shapes.py +138 -0
  252. auditr-0.1.0/tests/languages/test_base.py +61 -0
  253. auditr-0.1.0/tests/languages/typescript/detectors/test_a11y.py +68 -0
  254. auditr-0.1.0/tests/languages/typescript/detectors/test_complexity.py +47 -0
  255. auditr-0.1.0/tests/languages/typescript/detectors/test_design_system.py +109 -0
  256. auditr-0.1.0/tests/languages/typescript/detectors/test_malware.py +42 -0
  257. auditr-0.1.0/tests/languages/typescript/detectors/test_react.py +189 -0
  258. auditr-0.1.0/tests/languages/typescript/detectors/test_secrets.py +20 -0
  259. auditr-0.1.0/tests/languages/typescript/detectors/test_security.py +34 -0
  260. auditr-0.1.0/tests/languages/typescript/detectors/test_style.py +33 -0
  261. auditr-0.1.0/tests/languages/typescript/test_app_fixture.py +56 -0
  262. auditr-0.1.0/tests/languages/typescript/test_auditor.py +55 -0
  263. auditr-0.1.0/tests/languages/typescript/test_base.py +28 -0
  264. auditr-0.1.0/tests/languages/typescript/test_crossfile.py +116 -0
  265. auditr-0.1.0/tests/languages/typescript/test_manifest.py +28 -0
  266. auditr-0.1.0/tests/languages/typescript/test_nodes.py +66 -0
  267. auditr-0.1.0/tests/languages/typescript/test_parser.py +27 -0
  268. auditr-0.1.0/tests/languages/typescript/test_shapes.py +104 -0
  269. auditr-0.1.0/tests/languages/typescript/test_stress_fixture.py +70 -0
  270. auditr-0.1.0/tests/reporters/test_base.py +16 -0
  271. auditr-0.1.0/tests/reporters/test_html_reporter.py +81 -0
  272. auditr-0.1.0/tests/reporters/test_json_reporter.py +35 -0
  273. auditr-0.1.0/tests/reporters/test_markdown_reporter.py +24 -0
  274. auditr-0.1.0/tests/reporters/test_sarif_reporter.py +19 -0
  275. auditr-0.1.0/tests/test_aggregate.py +49 -0
  276. auditr-0.1.0/tests/test_ast_util.py +72 -0
  277. auditr-0.1.0/tests/test_auditor_mechanics.py +70 -0
  278. auditr-0.1.0/tests/test_baseline.py +101 -0
  279. auditr-0.1.0/tests/test_builtins.py +25 -0
  280. auditr-0.1.0/tests/test_config.py +306 -0
  281. auditr-0.1.0/tests/test_crossfile.py +187 -0
  282. auditr-0.1.0/tests/test_dead_code.py +128 -0
  283. auditr-0.1.0/tests/test_detectors.py +19 -0
  284. auditr-0.1.0/tests/test_discovery.py +247 -0
  285. auditr-0.1.0/tests/test_dogfood.py +58 -0
  286. auditr-0.1.0/tests/test_engine.py +278 -0
  287. auditr-0.1.0/tests/test_fingerprints.py +54 -0
  288. auditr-0.1.0/tests/test_ignores.py +125 -0
  289. auditr-0.1.0/tests/test_ignores_integration.py +69 -0
  290. auditr-0.1.0/tests/test_index.py +204 -0
  291. auditr-0.1.0/tests/test_index_ignores.py +131 -0
  292. auditr-0.1.0/tests/test_index_partitioning.py +230 -0
  293. auditr-0.1.0/tests/test_index_schema.py +219 -0
  294. auditr-0.1.0/tests/test_logconfig.py +61 -0
  295. auditr-0.1.0/tests/test_mcp_server.py +291 -0
  296. auditr-0.1.0/tests/test_models.py +110 -0
  297. auditr-0.1.0/tests/test_paths.py +39 -0
  298. auditr-0.1.0/tests/test_plugins.py +117 -0
  299. auditr-0.1.0/tests/test_registry.py +77 -0
  300. auditr-0.1.0/tests/test_roles.py +77 -0
  301. auditr-0.1.0/tests/test_sample_dashboard.py +112 -0
  302. auditr-0.1.0/tests/test_sample_repo.py +221 -0
  303. auditr-0.1.0/tests/test_scattered_settings.py +170 -0
  304. auditr-0.1.0/tests/test_serve.py +50 -0
  305. auditr-0.1.0/tests/test_settings_cohesion.py +133 -0
  306. auditr-0.1.0/tests/test_shared_index.py +69 -0
  307. auditr-0.1.0/tests/test_shared_index_integration.py +40 -0
  308. auditr-0.1.0/tests/test_skips.py +173 -0
  309. auditr-0.1.0/tests/test_thresholds.py +48 -0
  310. auditr-0.1.0/uv.lock +1448 -0
@@ -0,0 +1,22 @@
1
+ .git/
2
+ .gitignore
3
+ .venv/
4
+ venv/
5
+ __pycache__/
6
+ *.py[cod]
7
+ *.egg-info/
8
+ .pytest_cache/
9
+ .ruff_cache/
10
+ .mypy_cache/
11
+ .coverage
12
+ htmlcov/
13
+ .auditor/
14
+ AUDIT.md
15
+ .audit/
16
+ .idea/
17
+ .vscode/
18
+ *.md
19
+ !README.md
20
+ Dockerfile
21
+ .dockerignore
22
+ docker-compose.yml
@@ -0,0 +1,37 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *.egg-info/
5
+ .eggs/
6
+ build/
7
+ dist/
8
+ *.egg
9
+
10
+ # Virtual environments
11
+ .venv/
12
+ venv/
13
+ env/
14
+
15
+ # uv
16
+ .python-version
17
+
18
+ # Test / tooling caches
19
+ .pytest_cache/
20
+ .ruff_cache/
21
+ .mypy_cache/
22
+ .coverage
23
+ htmlcov/
24
+
25
+ # auditor's generated index/cache now lives in the global home (~/.auditor or
26
+ # $AUDITOR_HOME), not in-repo. Local plugins stay untrusted local-only.
27
+ .auditor/plugins/
28
+
29
+ # Audit output
30
+ AUDIT.md
31
+ .audit/
32
+
33
+ # Editors / OS
34
+ .idea/
35
+ .vscode/
36
+ *.swp
37
+ .DS_Store
@@ -0,0 +1,25 @@
1
+ # syntax=docker/dockerfile:1
2
+ FROM python:3.13-slim
3
+
4
+ # git is needed for accurate .gitignore-aware discovery (git ls-files)
5
+ RUN apt-get update \
6
+ && apt-get install -y --no-install-recommends git \
7
+ && rm -rf /var/lib/apt/lists/*
8
+
9
+ COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
10
+
11
+ WORKDIR /app
12
+
13
+ COPY pyproject.toml README.md LICENSE ./
14
+ COPY auditor ./auditor
15
+ RUN uv pip install --system --no-cache ".[mcp,ts]"
16
+
17
+ # The shared index lives here (NOT inside the mounted repo at /auditor). Mount a named volume at
18
+ # this path to persist the incremental cache across runs: -v auditor-index:/root/.auditor
19
+ ENV AUDITOR_HOME=/root/.auditor
20
+
21
+ WORKDIR /auditor
22
+ # Default: the CLI (`docker run … scan .`). For the MCP server, override the entrypoint:
23
+ # docker run -i --rm -v "$PWD:/auditor" --entrypoint auditor-mcp auditor:latest
24
+ ENTRYPOINT ["auditor"]
25
+ CMD ["scan", "."]
auditr-0.1.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Sung Kim
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.