clawsec 0.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 (361) hide show
  1. package/README.md +560 -0
  2. package/dist/bin/clawsec.d.ts +7 -0
  3. package/dist/bin/clawsec.d.ts.map +1 -0
  4. package/dist/bin/clawsec.js +12 -0
  5. package/dist/bin/clawsec.js.map +1 -0
  6. package/dist/src/actions/block.d.ts +22 -0
  7. package/dist/src/actions/block.d.ts.map +1 -0
  8. package/dist/src/actions/block.js +83 -0
  9. package/dist/src/actions/block.js.map +1 -0
  10. package/dist/src/actions/confirm.d.ts +35 -0
  11. package/dist/src/actions/confirm.d.ts.map +1 -0
  12. package/dist/src/actions/confirm.js +156 -0
  13. package/dist/src/actions/confirm.js.map +1 -0
  14. package/dist/src/actions/executor.d.ts +64 -0
  15. package/dist/src/actions/executor.d.ts.map +1 -0
  16. package/dist/src/actions/executor.js +114 -0
  17. package/dist/src/actions/executor.js.map +1 -0
  18. package/dist/src/actions/index.d.ts +13 -0
  19. package/dist/src/actions/index.d.ts.map +1 -0
  20. package/dist/src/actions/index.js +15 -0
  21. package/dist/src/actions/index.js.map +1 -0
  22. package/dist/src/actions/log.d.ts +19 -0
  23. package/dist/src/actions/log.d.ts.map +1 -0
  24. package/dist/src/actions/log.js +63 -0
  25. package/dist/src/actions/log.js.map +1 -0
  26. package/dist/src/actions/types.d.ts +85 -0
  27. package/dist/src/actions/types.d.ts.map +1 -0
  28. package/dist/src/actions/types.js +78 -0
  29. package/dist/src/actions/types.js.map +1 -0
  30. package/dist/src/actions/warn.d.ts +22 -0
  31. package/dist/src/actions/warn.d.ts.map +1 -0
  32. package/dist/src/actions/warn.js +84 -0
  33. package/dist/src/actions/warn.js.map +1 -0
  34. package/dist/src/approval/agent-confirm.d.ts +104 -0
  35. package/dist/src/approval/agent-confirm.d.ts.map +1 -0
  36. package/dist/src/approval/agent-confirm.js +173 -0
  37. package/dist/src/approval/agent-confirm.js.map +1 -0
  38. package/dist/src/approval/index.d.ts +14 -0
  39. package/dist/src/approval/index.d.ts.map +1 -0
  40. package/dist/src/approval/index.js +9 -0
  41. package/dist/src/approval/index.js.map +1 -0
  42. package/dist/src/approval/native.d.ts +56 -0
  43. package/dist/src/approval/native.d.ts.map +1 -0
  44. package/dist/src/approval/native.js +196 -0
  45. package/dist/src/approval/native.js.map +1 -0
  46. package/dist/src/approval/store.d.ts +88 -0
  47. package/dist/src/approval/store.d.ts.map +1 -0
  48. package/dist/src/approval/store.js +192 -0
  49. package/dist/src/approval/store.js.map +1 -0
  50. package/dist/src/approval/types.d.ts +119 -0
  51. package/dist/src/approval/types.d.ts.map +1 -0
  52. package/dist/src/approval/types.js +6 -0
  53. package/dist/src/approval/types.js.map +1 -0
  54. package/dist/src/approval/webhook.d.ts +170 -0
  55. package/dist/src/approval/webhook.d.ts.map +1 -0
  56. package/dist/src/approval/webhook.js +362 -0
  57. package/dist/src/approval/webhook.js.map +1 -0
  58. package/dist/src/cli/commands/audit.d.ts +43 -0
  59. package/dist/src/cli/commands/audit.d.ts.map +1 -0
  60. package/dist/src/cli/commands/audit.js +115 -0
  61. package/dist/src/cli/commands/audit.js.map +1 -0
  62. package/dist/src/cli/commands/feedback.d.ts +27 -0
  63. package/dist/src/cli/commands/feedback.d.ts.map +1 -0
  64. package/dist/src/cli/commands/feedback.js +228 -0
  65. package/dist/src/cli/commands/feedback.js.map +1 -0
  66. package/dist/src/cli/commands/index.d.ts +11 -0
  67. package/dist/src/cli/commands/index.d.ts.map +1 -0
  68. package/dist/src/cli/commands/index.js +13 -0
  69. package/dist/src/cli/commands/index.js.map +1 -0
  70. package/dist/src/cli/commands/status.d.ts +20 -0
  71. package/dist/src/cli/commands/status.d.ts.map +1 -0
  72. package/dist/src/cli/commands/status.js +122 -0
  73. package/dist/src/cli/commands/status.js.map +1 -0
  74. package/dist/src/cli/commands/test.d.ts +23 -0
  75. package/dist/src/cli/commands/test.d.ts.map +1 -0
  76. package/dist/src/cli/commands/test.js +134 -0
  77. package/dist/src/cli/commands/test.js.map +1 -0
  78. package/dist/src/cli/commands/types.d.ts +81 -0
  79. package/dist/src/cli/commands/types.d.ts.map +1 -0
  80. package/dist/src/cli/commands/types.js +6 -0
  81. package/dist/src/cli/commands/types.js.map +1 -0
  82. package/dist/src/cli/index.d.ts +17 -0
  83. package/dist/src/cli/index.d.ts.map +1 -0
  84. package/dist/src/cli/index.js +267 -0
  85. package/dist/src/cli/index.js.map +1 -0
  86. package/dist/src/config/defaults.d.ts +20 -0
  87. package/dist/src/config/defaults.d.ts.map +1 -0
  88. package/dist/src/config/defaults.js +123 -0
  89. package/dist/src/config/defaults.js.map +1 -0
  90. package/dist/src/config/index.d.ts +8 -0
  91. package/dist/src/config/index.d.ts.map +1 -0
  92. package/dist/src/config/index.js +41 -0
  93. package/dist/src/config/index.js.map +1 -0
  94. package/dist/src/config/loader.d.ts +99 -0
  95. package/dist/src/config/loader.d.ts.map +1 -0
  96. package/dist/src/config/loader.js +242 -0
  97. package/dist/src/config/loader.js.map +1 -0
  98. package/dist/src/config/schema.d.ts +627 -0
  99. package/dist/src/config/schema.d.ts.map +1 -0
  100. package/dist/src/config/schema.js +585 -0
  101. package/dist/src/config/schema.js.map +1 -0
  102. package/dist/src/detectors/destructive/cloud-detector.d.ts +51 -0
  103. package/dist/src/detectors/destructive/cloud-detector.d.ts.map +1 -0
  104. package/dist/src/detectors/destructive/cloud-detector.js +556 -0
  105. package/dist/src/detectors/destructive/cloud-detector.js.map +1 -0
  106. package/dist/src/detectors/destructive/code-detector.d.ts +59 -0
  107. package/dist/src/detectors/destructive/code-detector.d.ts.map +1 -0
  108. package/dist/src/detectors/destructive/code-detector.js +558 -0
  109. package/dist/src/detectors/destructive/code-detector.js.map +1 -0
  110. package/dist/src/detectors/destructive/index.d.ts +54 -0
  111. package/dist/src/detectors/destructive/index.d.ts.map +1 -0
  112. package/dist/src/detectors/destructive/index.js +168 -0
  113. package/dist/src/detectors/destructive/index.js.map +1 -0
  114. package/dist/src/detectors/destructive/shell-detector.d.ts +43 -0
  115. package/dist/src/detectors/destructive/shell-detector.d.ts.map +1 -0
  116. package/dist/src/detectors/destructive/shell-detector.js +302 -0
  117. package/dist/src/detectors/destructive/shell-detector.js.map +1 -0
  118. package/dist/src/detectors/destructive/types.d.ts +143 -0
  119. package/dist/src/detectors/destructive/types.d.ts.map +1 -0
  120. package/dist/src/detectors/destructive/types.js +6 -0
  121. package/dist/src/detectors/destructive/types.js.map +1 -0
  122. package/dist/src/detectors/exfiltration/cloud-detector.d.ts +51 -0
  123. package/dist/src/detectors/exfiltration/cloud-detector.d.ts.map +1 -0
  124. package/dist/src/detectors/exfiltration/cloud-detector.js +427 -0
  125. package/dist/src/detectors/exfiltration/cloud-detector.js.map +1 -0
  126. package/dist/src/detectors/exfiltration/http-detector.d.ts +47 -0
  127. package/dist/src/detectors/exfiltration/http-detector.d.ts.map +1 -0
  128. package/dist/src/detectors/exfiltration/http-detector.js +429 -0
  129. package/dist/src/detectors/exfiltration/http-detector.js.map +1 -0
  130. package/dist/src/detectors/exfiltration/index.d.ts +44 -0
  131. package/dist/src/detectors/exfiltration/index.d.ts.map +1 -0
  132. package/dist/src/detectors/exfiltration/index.js +118 -0
  133. package/dist/src/detectors/exfiltration/index.js.map +1 -0
  134. package/dist/src/detectors/exfiltration/network-detector.d.ts +55 -0
  135. package/dist/src/detectors/exfiltration/network-detector.d.ts.map +1 -0
  136. package/dist/src/detectors/exfiltration/network-detector.js +504 -0
  137. package/dist/src/detectors/exfiltration/network-detector.js.map +1 -0
  138. package/dist/src/detectors/exfiltration/types.d.ts +139 -0
  139. package/dist/src/detectors/exfiltration/types.d.ts.map +1 -0
  140. package/dist/src/detectors/exfiltration/types.js +6 -0
  141. package/dist/src/detectors/exfiltration/types.js.map +1 -0
  142. package/dist/src/detectors/purchase/domain-detector.d.ts +44 -0
  143. package/dist/src/detectors/purchase/domain-detector.d.ts.map +1 -0
  144. package/dist/src/detectors/purchase/domain-detector.js +296 -0
  145. package/dist/src/detectors/purchase/domain-detector.js.map +1 -0
  146. package/dist/src/detectors/purchase/form-detector.d.ts +27 -0
  147. package/dist/src/detectors/purchase/form-detector.d.ts.map +1 -0
  148. package/dist/src/detectors/purchase/form-detector.js +344 -0
  149. package/dist/src/detectors/purchase/form-detector.js.map +1 -0
  150. package/dist/src/detectors/purchase/index.d.ts +65 -0
  151. package/dist/src/detectors/purchase/index.d.ts.map +1 -0
  152. package/dist/src/detectors/purchase/index.js +216 -0
  153. package/dist/src/detectors/purchase/index.js.map +1 -0
  154. package/dist/src/detectors/purchase/spend-tracker.d.ts +132 -0
  155. package/dist/src/detectors/purchase/spend-tracker.d.ts.map +1 -0
  156. package/dist/src/detectors/purchase/spend-tracker.js +313 -0
  157. package/dist/src/detectors/purchase/spend-tracker.js.map +1 -0
  158. package/dist/src/detectors/purchase/types.d.ts +139 -0
  159. package/dist/src/detectors/purchase/types.d.ts.map +1 -0
  160. package/dist/src/detectors/purchase/types.js +6 -0
  161. package/dist/src/detectors/purchase/types.js.map +1 -0
  162. package/dist/src/detectors/purchase/url-detector.d.ts +31 -0
  163. package/dist/src/detectors/purchase/url-detector.d.ts.map +1 -0
  164. package/dist/src/detectors/purchase/url-detector.js +292 -0
  165. package/dist/src/detectors/purchase/url-detector.js.map +1 -0
  166. package/dist/src/detectors/secrets/api-key-detector.d.ts +30 -0
  167. package/dist/src/detectors/secrets/api-key-detector.d.ts.map +1 -0
  168. package/dist/src/detectors/secrets/api-key-detector.js +297 -0
  169. package/dist/src/detectors/secrets/api-key-detector.js.map +1 -0
  170. package/dist/src/detectors/secrets/index.d.ts +43 -0
  171. package/dist/src/detectors/secrets/index.d.ts.map +1 -0
  172. package/dist/src/detectors/secrets/index.js +261 -0
  173. package/dist/src/detectors/secrets/index.js.map +1 -0
  174. package/dist/src/detectors/secrets/pii-detector.d.ts +54 -0
  175. package/dist/src/detectors/secrets/pii-detector.d.ts.map +1 -0
  176. package/dist/src/detectors/secrets/pii-detector.js +286 -0
  177. package/dist/src/detectors/secrets/pii-detector.js.map +1 -0
  178. package/dist/src/detectors/secrets/token-detector.d.ts +51 -0
  179. package/dist/src/detectors/secrets/token-detector.d.ts.map +1 -0
  180. package/dist/src/detectors/secrets/token-detector.js +233 -0
  181. package/dist/src/detectors/secrets/token-detector.js.map +1 -0
  182. package/dist/src/detectors/secrets/types.d.ts +157 -0
  183. package/dist/src/detectors/secrets/types.d.ts.map +1 -0
  184. package/dist/src/detectors/secrets/types.js +6 -0
  185. package/dist/src/detectors/secrets/types.js.map +1 -0
  186. package/dist/src/detectors/website/category-detector.d.ts +22 -0
  187. package/dist/src/detectors/website/category-detector.d.ts.map +1 -0
  188. package/dist/src/detectors/website/category-detector.js +162 -0
  189. package/dist/src/detectors/website/category-detector.js.map +1 -0
  190. package/dist/src/detectors/website/index.d.ts +53 -0
  191. package/dist/src/detectors/website/index.d.ts.map +1 -0
  192. package/dist/src/detectors/website/index.js +232 -0
  193. package/dist/src/detectors/website/index.js.map +1 -0
  194. package/dist/src/detectors/website/pattern-matcher.d.ts +33 -0
  195. package/dist/src/detectors/website/pattern-matcher.d.ts.map +1 -0
  196. package/dist/src/detectors/website/pattern-matcher.js +121 -0
  197. package/dist/src/detectors/website/pattern-matcher.js.map +1 -0
  198. package/dist/src/detectors/website/types.d.ts +105 -0
  199. package/dist/src/detectors/website/types.d.ts.map +1 -0
  200. package/dist/src/detectors/website/types.js +6 -0
  201. package/dist/src/detectors/website/types.js.map +1 -0
  202. package/dist/src/engine/analyzer.d.ts +87 -0
  203. package/dist/src/engine/analyzer.d.ts.map +1 -0
  204. package/dist/src/engine/analyzer.js +427 -0
  205. package/dist/src/engine/analyzer.js.map +1 -0
  206. package/dist/src/engine/cache.d.ts +80 -0
  207. package/dist/src/engine/cache.d.ts.map +1 -0
  208. package/dist/src/engine/cache.js +167 -0
  209. package/dist/src/engine/cache.js.map +1 -0
  210. package/dist/src/engine/index.d.ts +11 -0
  211. package/dist/src/engine/index.d.ts.map +1 -0
  212. package/dist/src/engine/index.js +11 -0
  213. package/dist/src/engine/index.js.map +1 -0
  214. package/dist/src/engine/llm-client.d.ts +210 -0
  215. package/dist/src/engine/llm-client.d.ts.map +1 -0
  216. package/dist/src/engine/llm-client.js +506 -0
  217. package/dist/src/engine/llm-client.js.map +1 -0
  218. package/dist/src/engine/types.d.ts +163 -0
  219. package/dist/src/engine/types.d.ts.map +1 -0
  220. package/dist/src/engine/types.js +21 -0
  221. package/dist/src/engine/types.js.map +1 -0
  222. package/dist/src/feedback/index.d.ts +9 -0
  223. package/dist/src/feedback/index.d.ts.map +1 -0
  224. package/dist/src/feedback/index.js +8 -0
  225. package/dist/src/feedback/index.js.map +1 -0
  226. package/dist/src/feedback/learner.d.ts +222 -0
  227. package/dist/src/feedback/learner.d.ts.map +1 -0
  228. package/dist/src/feedback/learner.js +401 -0
  229. package/dist/src/feedback/learner.js.map +1 -0
  230. package/dist/src/feedback/store.d.ts +113 -0
  231. package/dist/src/feedback/store.d.ts.map +1 -0
  232. package/dist/src/feedback/store.js +228 -0
  233. package/dist/src/feedback/store.js.map +1 -0
  234. package/dist/src/feedback/types.d.ts +126 -0
  235. package/dist/src/feedback/types.d.ts.map +1 -0
  236. package/dist/src/feedback/types.js +6 -0
  237. package/dist/src/feedback/types.js.map +1 -0
  238. package/dist/src/hooks/before-agent-start/handler.d.ts +37 -0
  239. package/dist/src/hooks/before-agent-start/handler.d.ts.map +1 -0
  240. package/dist/src/hooks/before-agent-start/handler.js +109 -0
  241. package/dist/src/hooks/before-agent-start/handler.js.map +1 -0
  242. package/dist/src/hooks/before-agent-start/index.d.ts +8 -0
  243. package/dist/src/hooks/before-agent-start/index.d.ts.map +1 -0
  244. package/dist/src/hooks/before-agent-start/index.js +7 -0
  245. package/dist/src/hooks/before-agent-start/index.js.map +1 -0
  246. package/dist/src/hooks/before-agent-start/prompts.d.ts +48 -0
  247. package/dist/src/hooks/before-agent-start/prompts.d.ts.map +1 -0
  248. package/dist/src/hooks/before-agent-start/prompts.js +103 -0
  249. package/dist/src/hooks/before-agent-start/prompts.js.map +1 -0
  250. package/dist/src/hooks/before-tool-call/handler.d.ts +42 -0
  251. package/dist/src/hooks/before-tool-call/handler.d.ts.map +1 -0
  252. package/dist/src/hooks/before-tool-call/handler.js +226 -0
  253. package/dist/src/hooks/before-tool-call/handler.js.map +1 -0
  254. package/dist/src/hooks/before-tool-call/index.d.ts +7 -0
  255. package/dist/src/hooks/before-tool-call/index.d.ts.map +1 -0
  256. package/dist/src/hooks/before-tool-call/index.js +6 -0
  257. package/dist/src/hooks/before-tool-call/index.js.map +1 -0
  258. package/dist/src/hooks/tool-result-persist/filter.d.ts +72 -0
  259. package/dist/src/hooks/tool-result-persist/filter.d.ts.map +1 -0
  260. package/dist/src/hooks/tool-result-persist/filter.js +305 -0
  261. package/dist/src/hooks/tool-result-persist/filter.js.map +1 -0
  262. package/dist/src/hooks/tool-result-persist/handler.d.ts +49 -0
  263. package/dist/src/hooks/tool-result-persist/handler.d.ts.map +1 -0
  264. package/dist/src/hooks/tool-result-persist/handler.js +217 -0
  265. package/dist/src/hooks/tool-result-persist/handler.js.map +1 -0
  266. package/dist/src/hooks/tool-result-persist/index.d.ts +11 -0
  267. package/dist/src/hooks/tool-result-persist/index.d.ts.map +1 -0
  268. package/dist/src/hooks/tool-result-persist/index.js +11 -0
  269. package/dist/src/hooks/tool-result-persist/index.js.map +1 -0
  270. package/dist/src/index.d.ts +256 -0
  271. package/dist/src/index.d.ts.map +1 -0
  272. package/dist/src/index.js +222 -0
  273. package/dist/src/index.js.map +1 -0
  274. package/dist/src/notifications/discord.d.ts +10 -0
  275. package/dist/src/notifications/discord.d.ts.map +1 -0
  276. package/dist/src/notifications/discord.js +218 -0
  277. package/dist/src/notifications/discord.js.map +1 -0
  278. package/dist/src/notifications/index.d.ts +37 -0
  279. package/dist/src/notifications/index.d.ts.map +1 -0
  280. package/dist/src/notifications/index.js +68 -0
  281. package/dist/src/notifications/index.js.map +1 -0
  282. package/dist/src/notifications/slack.d.ts +10 -0
  283. package/dist/src/notifications/slack.d.ts.map +1 -0
  284. package/dist/src/notifications/slack.js +218 -0
  285. package/dist/src/notifications/slack.js.map +1 -0
  286. package/dist/src/notifications/telegram.d.ts +10 -0
  287. package/dist/src/notifications/telegram.d.ts.map +1 -0
  288. package/dist/src/notifications/telegram.js +242 -0
  289. package/dist/src/notifications/telegram.js.map +1 -0
  290. package/dist/src/notifications/types.d.ts +119 -0
  291. package/dist/src/notifications/types.d.ts.map +1 -0
  292. package/dist/src/notifications/types.js +6 -0
  293. package/dist/src/notifications/types.js.map +1 -0
  294. package/dist/src/proxy/index.d.ts +8 -0
  295. package/dist/src/proxy/index.d.ts.map +1 -0
  296. package/dist/src/proxy/index.js +9 -0
  297. package/dist/src/proxy/index.js.map +1 -0
  298. package/dist/src/proxy/middleware.d.ts +55 -0
  299. package/dist/src/proxy/middleware.d.ts.map +1 -0
  300. package/dist/src/proxy/middleware.js +215 -0
  301. package/dist/src/proxy/middleware.js.map +1 -0
  302. package/dist/src/proxy/server.d.ts +57 -0
  303. package/dist/src/proxy/server.d.ts.map +1 -0
  304. package/dist/src/proxy/server.js +298 -0
  305. package/dist/src/proxy/server.js.map +1 -0
  306. package/dist/src/proxy/types.d.ts +136 -0
  307. package/dist/src/proxy/types.d.ts.map +1 -0
  308. package/dist/src/proxy/types.js +6 -0
  309. package/dist/src/proxy/types.js.map +1 -0
  310. package/dist/src/sanitization/index.d.ts +10 -0
  311. package/dist/src/sanitization/index.d.ts.map +1 -0
  312. package/dist/src/sanitization/index.js +9 -0
  313. package/dist/src/sanitization/index.js.map +1 -0
  314. package/dist/src/sanitization/patterns.d.ts +51 -0
  315. package/dist/src/sanitization/patterns.d.ts.map +1 -0
  316. package/dist/src/sanitization/patterns.js +266 -0
  317. package/dist/src/sanitization/patterns.js.map +1 -0
  318. package/dist/src/sanitization/scanner.d.ts +29 -0
  319. package/dist/src/sanitization/scanner.d.ts.map +1 -0
  320. package/dist/src/sanitization/scanner.js +328 -0
  321. package/dist/src/sanitization/scanner.js.map +1 -0
  322. package/dist/src/sanitization/types.d.ts +57 -0
  323. package/dist/src/sanitization/types.d.ts.map +1 -0
  324. package/dist/src/sanitization/types.js +5 -0
  325. package/dist/src/sanitization/types.js.map +1 -0
  326. package/openclaw.plugin.json +114 -0
  327. package/package.json +63 -0
  328. package/rules/builtin/README.md +139 -0
  329. package/rules/builtin/ai-services.yaml +70 -0
  330. package/rules/builtin/api-keys.yaml +64 -0
  331. package/rules/builtin/authentication.yaml +56 -0
  332. package/rules/builtin/aws-security.yaml +57 -0
  333. package/rules/builtin/azure-security.yaml +58 -0
  334. package/rules/builtin/cicd-security.yaml +64 -0
  335. package/rules/builtin/cloud-storage.yaml +64 -0
  336. package/rules/builtin/container-registry.yaml +55 -0
  337. package/rules/builtin/crypto-wallets.yaml +71 -0
  338. package/rules/builtin/database-nosql.yaml +58 -0
  339. package/rules/builtin/database-sql.yaml +62 -0
  340. package/rules/builtin/development-env.yaml +67 -0
  341. package/rules/builtin/docker.yaml +57 -0
  342. package/rules/builtin/filesystem.yaml +71 -0
  343. package/rules/builtin/financial-pci.yaml +61 -0
  344. package/rules/builtin/gcp-security.yaml +57 -0
  345. package/rules/builtin/git-operations.yaml +68 -0
  346. package/rules/builtin/healthcare-hipaa.yaml +64 -0
  347. package/rules/builtin/kubernetes.yaml +60 -0
  348. package/rules/builtin/messaging-services.yaml +53 -0
  349. package/rules/builtin/minimal.yaml +47 -0
  350. package/rules/builtin/mobile-development.yaml +61 -0
  351. package/rules/builtin/monitoring.yaml +63 -0
  352. package/rules/builtin/network-security.yaml +57 -0
  353. package/rules/builtin/package-managers.yaml +74 -0
  354. package/rules/builtin/payment-processing.yaml +66 -0
  355. package/rules/builtin/pii-protection.yaml +48 -0
  356. package/rules/builtin/production-strict.yaml +55 -0
  357. package/rules/builtin/secrets-management.yaml +63 -0
  358. package/rules/builtin/serverless.yaml +74 -0
  359. package/rules/builtin/ssh-security.yaml +66 -0
  360. package/rules/builtin/terraform.yaml +51 -0
  361. package/rules/builtin/web-security.yaml +62 -0
@@ -0,0 +1,47 @@
1
+ # Minimal Security Rules
2
+ # Lightweight security for trusted environments
3
+
4
+ name: minimal
5
+ description: Minimal security rules for trusted environments
6
+ version: "1.0"
7
+
8
+ rules:
9
+ destructive:
10
+ enabled: true
11
+ severity: critical
12
+ action: confirm
13
+ shell:
14
+ enabled: true
15
+ patterns:
16
+ # Only the most dangerous commands
17
+ - "rm -rf /"
18
+ - "rm -rf /*"
19
+ - "dd if=/dev/zero of=/dev/sda"
20
+ - "mkfs"
21
+ - ":(){:|:&};:" # Fork bomb
22
+ cloud:
23
+ enabled: false
24
+ code:
25
+ enabled: false
26
+
27
+ secrets:
28
+ enabled: true
29
+ severity: critical
30
+ action: warn
31
+ patterns:
32
+ # Only catch actual production secrets
33
+ - "-----BEGIN.*PRIVATE KEY-----"
34
+ - "sk_live_" # Production Stripe
35
+ - "AKIA" # AWS keys
36
+
37
+ website:
38
+ enabled: false
39
+
40
+ purchase:
41
+ enabled: false
42
+
43
+ exfiltration:
44
+ enabled: false
45
+
46
+ sanitization:
47
+ enabled: false
@@ -0,0 +1,61 @@
1
+ # Mobile Development Security Rules
2
+ # Protects mobile app development credentials
3
+
4
+ name: mobile-development
5
+ description: Security rules for mobile app development
6
+ version: "1.0"
7
+
8
+ rules:
9
+ secrets:
10
+ enabled: true
11
+ severity: critical
12
+ action: block
13
+ patterns:
14
+ # iOS/Apple
15
+ - "APPLE_ID"
16
+ - "APPLE_TEAM_ID"
17
+ - "APP_STORE_CONNECT_API_KEY"
18
+ - "IOS_DISTRIBUTION_CERTIFICATE"
19
+ - "FASTLANE_PASSWORD"
20
+ - "FASTLANE_SESSION"
21
+ - "MATCH_PASSWORD"
22
+
23
+ # Android/Google Play
24
+ - "GOOGLE_PLAY_JSON_KEY"
25
+ - "ANDROID_KEYSTORE_PASSWORD"
26
+ - "ANDROID_KEY_PASSWORD"
27
+ - "SUPPLY_JSON_KEY"
28
+
29
+ # Firebase
30
+ - "FIREBASE_TOKEN"
31
+ - "FIREBASE_API_KEY"
32
+ - "GOOGLE_APPLICATION_CREDENTIALS"
33
+ - "AAAA[A-Za-z0-9_-]{7}:[A-Za-z0-9_-]{140}"
34
+
35
+ # Expo
36
+ - "EXPO_TOKEN"
37
+ - "EXPO_CLI_PASSWORD"
38
+
39
+ # App Center
40
+ - "APPCENTER_API_TOKEN"
41
+
42
+ # Crashlytics
43
+ - "CRASHLYTICS_API_KEY"
44
+
45
+ # TestFlight
46
+ - "TESTFLIGHT_"
47
+
48
+ # Code signing
49
+ - "SIGNING_KEY"
50
+ - "KEYSTORE_PASSWORD"
51
+ - "KEY_ALIAS"
52
+
53
+ destructive:
54
+ enabled: true
55
+ severity: high
56
+ action: confirm
57
+ patterns:
58
+ - "fastlane deliver"
59
+ - "fastlane supply"
60
+ - "expo publish"
61
+ - "appcenter distribute"
@@ -0,0 +1,63 @@
1
+ # Monitoring & Observability Security Rules
2
+ # Protects monitoring service credentials
3
+
4
+ name: monitoring
5
+ description: Security rules for monitoring and observability services
6
+ version: "1.0"
7
+
8
+ rules:
9
+ secrets:
10
+ enabled: true
11
+ severity: critical
12
+ action: block
13
+ patterns:
14
+ # Datadog
15
+ - "DD_API_KEY"
16
+ - "DD_APP_KEY"
17
+ - "DATADOG_API_KEY"
18
+
19
+ # New Relic
20
+ - "NEW_RELIC_LICENSE_KEY"
21
+ - "NEW_RELIC_API_KEY"
22
+ - "NRAK-[A-Z0-9]{27}"
23
+
24
+ # Sentry
25
+ - "SENTRY_DSN"
26
+ - "SENTRY_AUTH_TOKEN"
27
+
28
+ # Splunk
29
+ - "SPLUNK_TOKEN"
30
+ - "SPLUNK_HEC_TOKEN"
31
+
32
+ # Grafana
33
+ - "GRAFANA_API_KEY"
34
+ - "GF_SECURITY_ADMIN_PASSWORD"
35
+
36
+ # PagerDuty
37
+ - "PAGERDUTY_ROUTING_KEY"
38
+ - "PAGERDUTY_API_KEY"
39
+
40
+ # Honeycomb
41
+ - "HONEYCOMB_API_KEY"
42
+
43
+ # LogDNA/Mezmo
44
+ - "LOGDNA_API_KEY"
45
+
46
+ # Papertrail
47
+ - "PAPERTRAIL_API_TOKEN"
48
+
49
+ # Loggly
50
+ - "LOGGLY_TOKEN"
51
+
52
+ # Elasticsearch/Kibana
53
+ - "ELASTIC_PASSWORD"
54
+ - "ELASTICSEARCH_PASSWORD"
55
+
56
+ # Prometheus
57
+ - "PROMETHEUS_REMOTE_WRITE_URL"
58
+
59
+ # Jaeger
60
+ - "JAEGER_AGENT_HOST"
61
+
62
+ # Zipkin
63
+ - "ZIPKIN_BASE_URL"
@@ -0,0 +1,57 @@
1
+ # Network Security Rules
2
+ # Protects against network-based attacks and data exfiltration
3
+
4
+ name: network-security
5
+ description: Prevents network-based security threats
6
+ version: "1.0"
7
+
8
+ rules:
9
+ exfiltration:
10
+ enabled: true
11
+ severity: high
12
+ action: block
13
+ patterns:
14
+ # Netcat reverse shells
15
+ - "nc -e"
16
+ - "nc -c"
17
+ - "ncat -e"
18
+ - "netcat -e"
19
+ - "/dev/tcp/"
20
+ - "/dev/udp/"
21
+
22
+ # Data exfiltration
23
+ - "curl.*POST.*-d"
24
+ - "curl.*--data"
25
+ - "wget.*--post-data"
26
+ - "curl.*@" # File upload
27
+
28
+ # DNS tunneling
29
+ - "iodine"
30
+ - "dns2tcp"
31
+ - "dnscat"
32
+
33
+ # Port forwarding
34
+ - "ssh.*-R"
35
+ - "ssh.*-L"
36
+ - "ssh.*-D"
37
+ - "chisel"
38
+ - "ngrok"
39
+
40
+ # Encoded data transfer
41
+ - "base64.*|.*curl"
42
+ - "base64.*|.*wget"
43
+ - "base64.*|.*nc"
44
+
45
+ website:
46
+ enabled: true
47
+ mode: blocklist
48
+ severity: high
49
+ action: block
50
+ blocklist:
51
+ - "*.onion"
52
+ - "*.i2p"
53
+ - "pastebin.com"
54
+ - "hastebin.com"
55
+ - "transfer.sh"
56
+ - "file.io"
57
+ - "0x0.st"
@@ -0,0 +1,74 @@
1
+ # Package Manager Security Rules
2
+ # Protects package manager credentials and operations
3
+
4
+ name: package-managers
5
+ description: Security rules for package managers (npm, pip, etc.)
6
+ version: "1.0"
7
+
8
+ rules:
9
+ secrets:
10
+ enabled: true
11
+ severity: critical
12
+ action: block
13
+ patterns:
14
+ # NPM
15
+ - "npm_[a-zA-Z0-9]{36}"
16
+ - "NPM_TOKEN"
17
+ - "NPM_AUTH_TOKEN"
18
+ - "//registry.npmjs.org/:_authToken"
19
+
20
+ # Yarn
21
+ - "YARN_NPM_AUTH_TOKEN"
22
+
23
+ # PyPI
24
+ - "pypi-AgEIcHlwaS5vcmc[a-zA-Z0-9-_]{50,}"
25
+ - "PYPI_TOKEN"
26
+ - "TWINE_PASSWORD"
27
+
28
+ # RubyGems
29
+ - "RUBYGEMS_API_KEY"
30
+ - "GEM_HOST_API_KEY"
31
+
32
+ # Maven/Gradle
33
+ - "MAVEN_PASSWORD"
34
+ - "GRADLE_PUBLISH_KEY"
35
+ - "OSSRH_PASSWORD"
36
+
37
+ # NuGet
38
+ - "NUGET_API_KEY"
39
+ - "NUGET_AUTH_TOKEN"
40
+
41
+ # Cargo (Rust)
42
+ - "CARGO_REGISTRY_TOKEN"
43
+ - "CRATES_IO_TOKEN"
44
+
45
+ # Go
46
+ - "GOPRIVATE"
47
+ - "GOPROXY"
48
+
49
+ # Composer (PHP)
50
+ - "COMPOSER_AUTH"
51
+
52
+ # Hex (Elixir)
53
+ - "HEX_API_KEY"
54
+
55
+ destructive:
56
+ enabled: true
57
+ severity: high
58
+ action: confirm
59
+ patterns:
60
+ # NPM
61
+ - "npm unpublish"
62
+ - "npm deprecate"
63
+ - "npm cache clean --force"
64
+
65
+ # Yarn
66
+ - "yarn cache clean"
67
+
68
+ # Pip
69
+ - "pip uninstall -y"
70
+ - "pip cache purge"
71
+
72
+ # Gem
73
+ - "gem uninstall"
74
+ - "gem yank"
@@ -0,0 +1,66 @@
1
+ # Payment Processing Security Rules
2
+ # Strict controls for payment and financial operations
3
+
4
+ name: payment-processing
5
+ description: Strict security controls for payment processing operations
6
+ version: "1.0"
7
+
8
+ rules:
9
+ purchase:
10
+ enabled: true
11
+ severity: critical
12
+ action: block
13
+ spendLimits:
14
+ perTransaction: 50
15
+ daily: 200
16
+ domains:
17
+ mode: blocklist
18
+ blocklist:
19
+ # Payment processors
20
+ - "*.stripe.com"
21
+ - "*.paypal.com"
22
+ - "*.square.com"
23
+ - "*.braintree.com"
24
+ - "*.adyen.com"
25
+ - "*.authorize.net"
26
+
27
+ # E-commerce
28
+ - "*.amazon.com"
29
+ - "*.ebay.com"
30
+ - "*.shopify.com"
31
+ - "*.etsy.com"
32
+ - "*.alibaba.com"
33
+ - "*.aliexpress.com"
34
+
35
+ # Cryptocurrency
36
+ - "*.coinbase.com"
37
+ - "*.binance.com"
38
+ - "*.kraken.com"
39
+
40
+ # Banking
41
+ - "*.chase.com"
42
+ - "*.bankofamerica.com"
43
+ - "*.wellsfargo.com"
44
+
45
+ secrets:
46
+ enabled: true
47
+ severity: critical
48
+ action: block
49
+ patterns:
50
+ # Stripe
51
+ - "sk_live_[a-zA-Z0-9]{24,}"
52
+ - "pk_live_[a-zA-Z0-9]{24,}"
53
+ - "rk_live_[a-zA-Z0-9]{24,}"
54
+
55
+ # PayPal
56
+ - "PAYPAL_CLIENT_SECRET"
57
+ - "PAYPAL_CLIENT_ID"
58
+
59
+ # Square
60
+ - "sq0csp-[a-zA-Z0-9-]{43}"
61
+ - "EAAAE[a-zA-Z0-9-]{60}"
62
+
63
+ # Credit card patterns
64
+ - "\\b4[0-9]{15}\\b" # Visa
65
+ - "\\b5[1-5][0-9]{14}\\b" # Mastercard
66
+ - "\\b3[47][0-9]{13}\\b" # Amex
@@ -0,0 +1,48 @@
1
+ # PII Protection Security Rules
2
+ # Prevents exposure of personally identifiable information
3
+
4
+ name: pii-protection
5
+ description: Protects personally identifiable information from exposure
6
+ version: "1.0"
7
+
8
+ rules:
9
+ secrets:
10
+ enabled: true
11
+ severity: critical
12
+ action: block
13
+ patterns:
14
+ # SSN (US Social Security Number)
15
+ - "\\b\\d{3}-\\d{2}-\\d{4}\\b"
16
+ - "\\b\\d{9}\\b" # SSN without dashes
17
+
18
+ # Credit Cards (with Luhn validation recommended)
19
+ - "\\b4[0-9]{12}(?:[0-9]{3})?\\b" # Visa
20
+ - "\\b5[1-5][0-9]{14}\\b" # Mastercard
21
+ - "\\b3[47][0-9]{13}\\b" # Amex
22
+ - "\\b6(?:011|5[0-9]{2})[0-9]{12}\\b" # Discover
23
+ - "\\b3(?:0[0-5]|[68][0-9])[0-9]{11}\\b" # Diners
24
+
25
+ # Bank Account Numbers (IBAN)
26
+ - "\\b[A-Z]{2}[0-9]{2}[A-Z0-9]{4}[0-9]{7}([A-Z0-9]?){0,16}\\b"
27
+
28
+ # Phone Numbers (various formats)
29
+ - "\\b\\+?1?[-.]?\\(?\\d{3}\\)?[-.]?\\d{3}[-.]?\\d{4}\\b"
30
+
31
+ # Email addresses (for bulk extraction prevention)
32
+ - "\\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Z|a-z]{2,}\\b"
33
+
34
+ # Passport Numbers
35
+ - "\\b[A-Z]{1,2}[0-9]{6,9}\\b"
36
+
37
+ # Driver's License (generic US patterns)
38
+ - "\\b[A-Z]{1,2}[0-9]{5,8}\\b"
39
+
40
+ # Date of Birth patterns
41
+ - "\\b(0[1-9]|1[0-2])/(0[1-9]|[12]\\d|3[01])/(19|20)\\d{2}\\b"
42
+ - "\\b(19|20)\\d{2}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])\\b"
43
+
44
+ sanitization:
45
+ enabled: true
46
+ severity: high
47
+ action: block
48
+ redactMatches: true
@@ -0,0 +1,55 @@
1
+ # Production Strict Security Rules
2
+ # Maximum security for production environments
3
+
4
+ name: production-strict
5
+ description: Strict security rules for production environments
6
+ version: "1.0"
7
+
8
+ rules:
9
+ destructive:
10
+ enabled: true
11
+ severity: critical
12
+ action: block
13
+ shell:
14
+ enabled: true
15
+ cloud:
16
+ enabled: true
17
+ code:
18
+ enabled: true
19
+
20
+ secrets:
21
+ enabled: true
22
+ severity: critical
23
+ action: block
24
+
25
+ website:
26
+ enabled: true
27
+ mode: allowlist
28
+ severity: critical
29
+ action: block
30
+ allowlist: [] # No websites allowed by default
31
+
32
+ purchase:
33
+ enabled: true
34
+ severity: critical
35
+ action: block
36
+ spendLimits:
37
+ perTransaction: 0
38
+ daily: 0
39
+
40
+ exfiltration:
41
+ enabled: true
42
+ severity: critical
43
+ action: block
44
+
45
+ sanitization:
46
+ enabled: true
47
+ severity: critical
48
+ action: block
49
+ minConfidence: 0.3 # Lower threshold for production
50
+ redactMatches: false # Block entirely, don't just redact
51
+ categories:
52
+ instructionOverride: true
53
+ systemLeak: true
54
+ jailbreak: true
55
+ encodedPayload: true
@@ -0,0 +1,63 @@
1
+ # Secrets Management Security Rules
2
+ # Protects secrets management service credentials
3
+
4
+ name: secrets-management
5
+ description: Security rules for secrets management services
6
+ version: "1.0"
7
+
8
+ rules:
9
+ secrets:
10
+ enabled: true
11
+ severity: critical
12
+ action: block
13
+ patterns:
14
+ # HashiCorp Vault
15
+ - "VAULT_TOKEN"
16
+ - "VAULT_ADDR"
17
+ - "hvs\\.[a-zA-Z0-9_-]{24}"
18
+ - "s\\.[a-zA-Z0-9]{24}"
19
+
20
+ # AWS Secrets Manager
21
+ - "aws secretsmanager get-secret-value"
22
+ - "secretsmanager:GetSecretValue"
23
+
24
+ # GCP Secret Manager
25
+ - "gcloud secrets versions access"
26
+ - "secretmanager.versions.access"
27
+
28
+ # Azure Key Vault
29
+ - "AZURE_KEYVAULT"
30
+ - "az keyvault secret show"
31
+
32
+ # 1Password
33
+ - "OP_SESSION"
34
+ - "op://.*"
35
+
36
+ # Doppler
37
+ - "DOPPLER_TOKEN"
38
+ - "dp\\.pt\\.[a-zA-Z0-9]+"
39
+
40
+ # Infisical
41
+ - "INFISICAL_TOKEN"
42
+
43
+ # Bitwarden
44
+ - "BW_SESSION"
45
+ - "BW_CLIENTSECRET"
46
+
47
+ # LastPass
48
+ - "LASTPASS_"
49
+
50
+ # CyberArk
51
+ - "CYBERARK_"
52
+
53
+ destructive:
54
+ enabled: true
55
+ severity: critical
56
+ action: block
57
+ patterns:
58
+ - "vault secrets disable"
59
+ - "vault auth disable"
60
+ - "aws secretsmanager delete-secret"
61
+ - "gcloud secrets delete"
62
+ - "az keyvault secret delete"
63
+ - "az keyvault delete"
@@ -0,0 +1,74 @@
1
+ # Serverless Security Rules
2
+ # Protects serverless function deployments and credentials
3
+
4
+ name: serverless
5
+ description: Security rules for serverless platforms
6
+ version: "1.0"
7
+
8
+ rules:
9
+ secrets:
10
+ enabled: true
11
+ severity: critical
12
+ action: block
13
+ patterns:
14
+ # AWS Lambda
15
+ - "AWS_LAMBDA_FUNCTION_NAME"
16
+ - "AWS_LAMBDA_LOG_GROUP_NAME"
17
+
18
+ # Google Cloud Functions
19
+ - "FUNCTION_TARGET"
20
+ - "GOOGLE_FUNCTION_SOURCE"
21
+
22
+ # Azure Functions
23
+ - "FUNCTIONS_WORKER_RUNTIME"
24
+ - "AzureWebJobsStorage"
25
+
26
+ # Vercel
27
+ - "VERCEL_TOKEN"
28
+ - "VERCEL_PROJECT_ID"
29
+
30
+ # Netlify Functions
31
+ - "NETLIFY_AUTH_TOKEN"
32
+
33
+ # Cloudflare Workers
34
+ - "CLOUDFLARE_API_TOKEN"
35
+ - "CF_API_KEY"
36
+
37
+ # Deno Deploy
38
+ - "DENO_DEPLOY_TOKEN"
39
+
40
+ # Supabase Edge Functions
41
+ - "SUPABASE_SERVICE_ROLE_KEY"
42
+
43
+ # Railway
44
+ - "RAILWAY_TOKEN"
45
+
46
+ # Render
47
+ - "RENDER_API_KEY"
48
+
49
+ destructive:
50
+ enabled: true
51
+ severity: high
52
+ action: confirm
53
+ patterns:
54
+ # AWS Lambda
55
+ - "aws lambda delete-function"
56
+ - "serverless remove"
57
+ - "sls remove"
58
+
59
+ # GCP Cloud Functions
60
+ - "gcloud functions delete"
61
+
62
+ # Azure Functions
63
+ - "az functionapp delete"
64
+ - "func azure functionapp delete"
65
+
66
+ # Vercel
67
+ - "vercel remove"
68
+ - "vercel rm"
69
+
70
+ # Netlify
71
+ - "netlify sites:delete"
72
+
73
+ # Cloudflare Workers
74
+ - "wrangler delete"
@@ -0,0 +1,66 @@
1
+ # SSH Security Rules
2
+ # Protects SSH credentials and dangerous operations
3
+
4
+ name: ssh-security
5
+ description: Security rules for SSH access and credentials
6
+ version: "1.0"
7
+
8
+ rules:
9
+ secrets:
10
+ enabled: true
11
+ severity: critical
12
+ action: block
13
+ patterns:
14
+ # SSH private keys
15
+ - "-----BEGIN OPENSSH PRIVATE KEY-----"
16
+ - "-----BEGIN RSA PRIVATE KEY-----"
17
+ - "-----BEGIN DSA PRIVATE KEY-----"
18
+ - "-----BEGIN EC PRIVATE KEY-----"
19
+ - "-----BEGIN PRIVATE KEY-----"
20
+
21
+ # SSH passwords
22
+ - "SSH_PASSWORD"
23
+ - "SSH_PASS"
24
+ - "sshpass"
25
+
26
+ # SSH agent
27
+ - "SSH_AUTH_SOCK"
28
+ - "SSH_AGENT_PID"
29
+
30
+ # Known hosts manipulation
31
+ - "StrictHostKeyChecking=no"
32
+ - "UserKnownHostsFile=/dev/null"
33
+
34
+ destructive:
35
+ enabled: true
36
+ severity: high
37
+ action: confirm
38
+ shell:
39
+ enabled: true
40
+ patterns:
41
+ # Dangerous SSH commands
42
+ - "ssh.*rm -rf"
43
+ - "ssh.*mkfs"
44
+ - "ssh.*dd if="
45
+ - "ssh.*:(){:|:&};:" # Fork bomb
46
+
47
+ # Key operations
48
+ - "ssh-keygen -R" # Remove from known_hosts
49
+ - "rm.*id_rsa"
50
+ - "rm.*id_ed25519"
51
+ - "rm.*.ssh/"
52
+
53
+ # Config modifications
54
+ - "chmod.*600.*authorized_keys"
55
+
56
+ exfiltration:
57
+ enabled: true
58
+ severity: high
59
+ action: block
60
+ patterns:
61
+ # SSH tunneling for exfiltration
62
+ - "ssh.*-R"
63
+ - "ssh.*-L"
64
+ - "ssh.*-D"
65
+ - "sshfs"
66
+ - "rsync.*-e ssh"