@elizaos/skills 2.0.0-alpha.3

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 (371) hide show
  1. package/README.md +126 -0
  2. package/package.json +53 -0
  3. package/skills/1password/SKILL.md +70 -0
  4. package/skills/1password/references/cli-examples.md +29 -0
  5. package/skills/1password/references/get-started.md +17 -0
  6. package/skills/apple-notes/SKILL.md +77 -0
  7. package/skills/apple-reminders/SKILL.md +96 -0
  8. package/skills/bear-notes/SKILL.md +107 -0
  9. package/skills/bird/SKILL.md +224 -0
  10. package/skills/blogwatcher/SKILL.md +69 -0
  11. package/skills/blucli/SKILL.md +47 -0
  12. package/skills/bluebubbles/SKILL.md +131 -0
  13. package/skills/camsnap/SKILL.md +45 -0
  14. package/skills/canvas/SKILL.md +203 -0
  15. package/skills/clawhub/SKILL.md +77 -0
  16. package/skills/coding-agent/SKILL.md +284 -0
  17. package/skills/discord/SKILL.md +578 -0
  18. package/skills/eightctl/SKILL.md +50 -0
  19. package/skills/food-order/SKILL.md +48 -0
  20. package/skills/gemini/SKILL.md +43 -0
  21. package/skills/gifgrep/SKILL.md +79 -0
  22. package/skills/github/SKILL.md +77 -0
  23. package/skills/gog/SKILL.md +116 -0
  24. package/skills/goplaces/SKILL.md +52 -0
  25. package/skills/healthcheck/SKILL.md +245 -0
  26. package/skills/himalaya/SKILL.md +257 -0
  27. package/skills/himalaya/references/configuration.md +184 -0
  28. package/skills/himalaya/references/message-composition.md +199 -0
  29. package/skills/imsg/SKILL.md +74 -0
  30. package/skills/local-places/SERVER_README.md +101 -0
  31. package/skills/local-places/SKILL.md +102 -0
  32. package/skills/local-places/pyproject.toml +21 -0
  33. package/skills/local-places/src/local_places/__init__.py +2 -0
  34. package/skills/local-places/src/local_places/google_places.py +314 -0
  35. package/skills/local-places/src/local_places/main.py +65 -0
  36. package/skills/local-places/src/local_places/schemas.py +107 -0
  37. package/skills/mcporter/SKILL.md +61 -0
  38. package/skills/model-usage/SKILL.md +69 -0
  39. package/skills/model-usage/references/codexbar-cli.md +33 -0
  40. package/skills/model-usage/scripts/model_usage.py +310 -0
  41. package/skills/nano-banana-pro/SKILL.md +58 -0
  42. package/skills/nano-banana-pro/scripts/generate_image.py +184 -0
  43. package/skills/nano-pdf/SKILL.md +38 -0
  44. package/skills/notion/SKILL.md +172 -0
  45. package/skills/obsidian/SKILL.md +81 -0
  46. package/skills/openai-image-gen/SKILL.md +89 -0
  47. package/skills/openai-image-gen/scripts/gen.py +240 -0
  48. package/skills/openai-whisper/SKILL.md +38 -0
  49. package/skills/openai-whisper-api/SKILL.md +52 -0
  50. package/skills/openai-whisper-api/scripts/transcribe.sh +85 -0
  51. package/skills/openhue/SKILL.md +51 -0
  52. package/skills/oracle/SKILL.md +125 -0
  53. package/skills/ordercli/SKILL.md +78 -0
  54. package/skills/peekaboo/SKILL.md +190 -0
  55. package/skills/sag/SKILL.md +87 -0
  56. package/skills/security-ask-questions-if-underspecified/.claude-plugin/plugin.json +10 -0
  57. package/skills/security-ask-questions-if-underspecified/README.md +24 -0
  58. package/skills/security-ask-questions-if-underspecified/skills/ask-questions-if-underspecified/SKILL.md +85 -0
  59. package/skills/security-audit-context-building/.claude-plugin/plugin.json +10 -0
  60. package/skills/security-audit-context-building/README.md +58 -0
  61. package/skills/security-audit-context-building/commands/audit-context.md +21 -0
  62. package/skills/security-audit-context-building/skills/audit-context-building/SKILL.md +297 -0
  63. package/skills/security-audit-context-building/skills/audit-context-building/resources/COMPLETENESS_CHECKLIST.md +47 -0
  64. package/skills/security-audit-context-building/skills/audit-context-building/resources/FUNCTION_MICRO_ANALYSIS_EXAMPLE.md +355 -0
  65. package/skills/security-audit-context-building/skills/audit-context-building/resources/OUTPUT_REQUIREMENTS.md +71 -0
  66. package/skills/security-building-secure-contracts/.claude-plugin/plugin.json +10 -0
  67. package/skills/security-building-secure-contracts/README.md +241 -0
  68. package/skills/security-building-secure-contracts/skills/algorand-vulnerability-scanner/SKILL.md +284 -0
  69. package/skills/security-building-secure-contracts/skills/algorand-vulnerability-scanner/resources/VULNERABILITY_PATTERNS.md +405 -0
  70. package/skills/security-building-secure-contracts/skills/audit-prep-assistant/SKILL.md +409 -0
  71. package/skills/security-building-secure-contracts/skills/cairo-vulnerability-scanner/SKILL.md +329 -0
  72. package/skills/security-building-secure-contracts/skills/cairo-vulnerability-scanner/resources/VULNERABILITY_PATTERNS.md +722 -0
  73. package/skills/security-building-secure-contracts/skills/code-maturity-assessor/SKILL.md +218 -0
  74. package/skills/security-building-secure-contracts/skills/code-maturity-assessor/resources/ASSESSMENT_CRITERIA.md +355 -0
  75. package/skills/security-building-secure-contracts/skills/code-maturity-assessor/resources/EXAMPLE_REPORT.md +248 -0
  76. package/skills/security-building-secure-contracts/skills/code-maturity-assessor/resources/REPORT_FORMAT.md +33 -0
  77. package/skills/security-building-secure-contracts/skills/cosmos-vulnerability-scanner/SKILL.md +334 -0
  78. package/skills/security-building-secure-contracts/skills/cosmos-vulnerability-scanner/resources/VULNERABILITY_PATTERNS.md +740 -0
  79. package/skills/security-building-secure-contracts/skills/guidelines-advisor/SKILL.md +252 -0
  80. package/skills/security-building-secure-contracts/skills/guidelines-advisor/resources/ASSESSMENT_AREAS.md +329 -0
  81. package/skills/security-building-secure-contracts/skills/guidelines-advisor/resources/DELIVERABLES.md +118 -0
  82. package/skills/security-building-secure-contracts/skills/guidelines-advisor/resources/EXAMPLE_REPORT.md +298 -0
  83. package/skills/security-building-secure-contracts/skills/secure-workflow-guide/SKILL.md +161 -0
  84. package/skills/security-building-secure-contracts/skills/secure-workflow-guide/resources/EXAMPLE_REPORT.md +279 -0
  85. package/skills/security-building-secure-contracts/skills/secure-workflow-guide/resources/WORKFLOW_STEPS.md +132 -0
  86. package/skills/security-building-secure-contracts/skills/solana-vulnerability-scanner/SKILL.md +389 -0
  87. package/skills/security-building-secure-contracts/skills/solana-vulnerability-scanner/resources/VULNERABILITY_PATTERNS.md +669 -0
  88. package/skills/security-building-secure-contracts/skills/substrate-vulnerability-scanner/SKILL.md +298 -0
  89. package/skills/security-building-secure-contracts/skills/substrate-vulnerability-scanner/resources/VULNERABILITY_PATTERNS.md +791 -0
  90. package/skills/security-building-secure-contracts/skills/token-integration-analyzer/SKILL.md +362 -0
  91. package/skills/security-building-secure-contracts/skills/token-integration-analyzer/resources/ASSESSMENT_CATEGORIES.md +571 -0
  92. package/skills/security-building-secure-contracts/skills/token-integration-analyzer/resources/REPORT_TEMPLATES.md +141 -0
  93. package/skills/security-building-secure-contracts/skills/ton-vulnerability-scanner/SKILL.md +388 -0
  94. package/skills/security-building-secure-contracts/skills/ton-vulnerability-scanner/resources/VULNERABILITY_PATTERNS.md +595 -0
  95. package/skills/security-burpsuite-project-parser/.claude-plugin/plugin.json +10 -0
  96. package/skills/security-burpsuite-project-parser/README.md +103 -0
  97. package/skills/security-burpsuite-project-parser/commands/burp-search.md +18 -0
  98. package/skills/security-burpsuite-project-parser/skills/SKILL.md +358 -0
  99. package/skills/security-burpsuite-project-parser/skills/scripts/burp-search.sh +99 -0
  100. package/skills/security-claude-in-chrome-troubleshooting/.claude-plugin/plugin.json +8 -0
  101. package/skills/security-claude-in-chrome-troubleshooting/README.md +31 -0
  102. package/skills/security-claude-in-chrome-troubleshooting/skills/claude-in-chrome-troubleshooting/SKILL.md +251 -0
  103. package/skills/security-constant-time-analysis/.claude-plugin/plugin.json +9 -0
  104. package/skills/security-constant-time-analysis/README.md +381 -0
  105. package/skills/security-constant-time-analysis/commands/ct-check.md +20 -0
  106. package/skills/security-constant-time-analysis/ct_analyzer/__init__.py +49 -0
  107. package/skills/security-constant-time-analysis/ct_analyzer/analyzer.py +1284 -0
  108. package/skills/security-constant-time-analysis/ct_analyzer/script_analyzers.py +3081 -0
  109. package/skills/security-constant-time-analysis/ct_analyzer/tests/__init__.py +1 -0
  110. package/skills/security-constant-time-analysis/ct_analyzer/tests/test_analyzer.py +1397 -0
  111. package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/bn_excerpt.js +205 -0
  112. package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/decompose_constant_time.c +181 -0
  113. package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/decompose_vulnerable.c +74 -0
  114. package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/decompose_vulnerable.go +78 -0
  115. package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/decompose_vulnerable.rs +92 -0
  116. package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/vulnerable.cs +174 -0
  117. package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/vulnerable.java +161 -0
  118. package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/vulnerable.kt +181 -0
  119. package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/vulnerable.php +140 -0
  120. package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/vulnerable.py +252 -0
  121. package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/vulnerable.rb +188 -0
  122. package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/vulnerable.swift +199 -0
  123. package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/vulnerable.ts +154 -0
  124. package/skills/security-constant-time-analysis/pyproject.toml +52 -0
  125. package/skills/security-constant-time-analysis/skills/constant-time-analysis/README.md +90 -0
  126. package/skills/security-constant-time-analysis/skills/constant-time-analysis/SKILL.md +219 -0
  127. package/skills/security-constant-time-analysis/skills/constant-time-analysis/references/compiled.md +129 -0
  128. package/skills/security-constant-time-analysis/skills/constant-time-analysis/references/javascript.md +136 -0
  129. package/skills/security-constant-time-analysis/skills/constant-time-analysis/references/kotlin.md +252 -0
  130. package/skills/security-constant-time-analysis/skills/constant-time-analysis/references/php.md +172 -0
  131. package/skills/security-constant-time-analysis/skills/constant-time-analysis/references/python.md +179 -0
  132. package/skills/security-constant-time-analysis/skills/constant-time-analysis/references/ruby.md +198 -0
  133. package/skills/security-constant-time-analysis/skills/constant-time-analysis/references/swift.md +288 -0
  134. package/skills/security-constant-time-analysis/skills/constant-time-analysis/references/vm-compiled.md +354 -0
  135. package/skills/security-constant-time-analysis/uv.lock +8 -0
  136. package/skills/security-culture-index/.claude-plugin/plugin.json +8 -0
  137. package/skills/security-culture-index/README.md +79 -0
  138. package/skills/security-culture-index/skills/interpreting-culture-index/SKILL.md +293 -0
  139. package/skills/security-culture-index/skills/interpreting-culture-index/references/anti-patterns.md +255 -0
  140. package/skills/security-culture-index/skills/interpreting-culture-index/references/conversation-starters.md +408 -0
  141. package/skills/security-culture-index/skills/interpreting-culture-index/references/interview-trait-signals.md +253 -0
  142. package/skills/security-culture-index/skills/interpreting-culture-index/references/motivators.md +158 -0
  143. package/skills/security-culture-index/skills/interpreting-culture-index/references/patterns-archetypes.md +147 -0
  144. package/skills/security-culture-index/skills/interpreting-culture-index/references/primary-traits.md +307 -0
  145. package/skills/security-culture-index/skills/interpreting-culture-index/references/secondary-traits.md +228 -0
  146. package/skills/security-culture-index/skills/interpreting-culture-index/references/team-composition.md +148 -0
  147. package/skills/security-culture-index/skills/interpreting-culture-index/scripts/check_deps.py +108 -0
  148. package/skills/security-culture-index/skills/interpreting-culture-index/scripts/culture_index/__init__.py +20 -0
  149. package/skills/security-culture-index/skills/interpreting-culture-index/scripts/culture_index/constants.py +122 -0
  150. package/skills/security-culture-index/skills/interpreting-culture-index/scripts/culture_index/extract.py +187 -0
  151. package/skills/security-culture-index/skills/interpreting-culture-index/scripts/culture_index/models.py +16 -0
  152. package/skills/security-culture-index/skills/interpreting-culture-index/scripts/culture_index/opencv_extractor.py +520 -0
  153. package/skills/security-culture-index/skills/interpreting-culture-index/scripts/extract_pdf.py +237 -0
  154. package/skills/security-culture-index/skills/interpreting-culture-index/scripts/pyproject.toml +18 -0
  155. package/skills/security-culture-index/skills/interpreting-culture-index/templates/burnout-report.md +113 -0
  156. package/skills/security-culture-index/skills/interpreting-culture-index/templates/comparison-report.md +103 -0
  157. package/skills/security-culture-index/skills/interpreting-culture-index/templates/hiring-profile.md +127 -0
  158. package/skills/security-culture-index/skills/interpreting-culture-index/templates/individual-report.md +85 -0
  159. package/skills/security-culture-index/skills/interpreting-culture-index/templates/predicted-profile.md +165 -0
  160. package/skills/security-culture-index/skills/interpreting-culture-index/templates/team-report.md +109 -0
  161. package/skills/security-culture-index/skills/interpreting-culture-index/workflows/analyze-team.md +188 -0
  162. package/skills/security-culture-index/skills/interpreting-culture-index/workflows/coach-manager.md +267 -0
  163. package/skills/security-culture-index/skills/interpreting-culture-index/workflows/compare-profiles.md +188 -0
  164. package/skills/security-culture-index/skills/interpreting-culture-index/workflows/define-hiring-profile.md +220 -0
  165. package/skills/security-culture-index/skills/interpreting-culture-index/workflows/detect-burnout.md +206 -0
  166. package/skills/security-culture-index/skills/interpreting-culture-index/workflows/extract-from-pdf.md +121 -0
  167. package/skills/security-culture-index/skills/interpreting-culture-index/workflows/interpret-individual.md +183 -0
  168. package/skills/security-culture-index/skills/interpreting-culture-index/workflows/interview-debrief.md +234 -0
  169. package/skills/security-culture-index/skills/interpreting-culture-index/workflows/mediate-conflict.md +306 -0
  170. package/skills/security-culture-index/skills/interpreting-culture-index/workflows/plan-onboarding.md +322 -0
  171. package/skills/security-culture-index/skills/interpreting-culture-index/workflows/predict-from-interview.md +250 -0
  172. package/skills/security-differential-review/.claude-plugin/plugin.json +10 -0
  173. package/skills/security-differential-review/README.md +109 -0
  174. package/skills/security-differential-review/commands/diff-review.md +21 -0
  175. package/skills/security-differential-review/skills/differential-review/SKILL.md +220 -0
  176. package/skills/security-differential-review/skills/differential-review/adversarial.md +203 -0
  177. package/skills/security-differential-review/skills/differential-review/methodology.md +234 -0
  178. package/skills/security-differential-review/skills/differential-review/patterns.md +300 -0
  179. package/skills/security-differential-review/skills/differential-review/reporting.md +369 -0
  180. package/skills/security-dwarf-expert/.claude-plugin/plugin.json +10 -0
  181. package/skills/security-dwarf-expert/README.md +38 -0
  182. package/skills/security-dwarf-expert/skills/dwarf-expert/SKILL.md +93 -0
  183. package/skills/security-dwarf-expert/skills/dwarf-expert/reference/coding.md +31 -0
  184. package/skills/security-dwarf-expert/skills/dwarf-expert/reference/dwarfdump.md +50 -0
  185. package/skills/security-dwarf-expert/skills/dwarf-expert/reference/readelf.md +8 -0
  186. package/skills/security-entry-point-analyzer/.claude-plugin/plugin.json +10 -0
  187. package/skills/security-entry-point-analyzer/README.md +74 -0
  188. package/skills/security-entry-point-analyzer/commands/entry-points.md +18 -0
  189. package/skills/security-entry-point-analyzer/skills/entry-point-analyzer/SKILL.md +251 -0
  190. package/skills/security-entry-point-analyzer/skills/entry-point-analyzer/references/cosmwasm.md +182 -0
  191. package/skills/security-entry-point-analyzer/skills/entry-point-analyzer/references/move-aptos.md +107 -0
  192. package/skills/security-entry-point-analyzer/skills/entry-point-analyzer/references/move-sui.md +87 -0
  193. package/skills/security-entry-point-analyzer/skills/entry-point-analyzer/references/solana.md +155 -0
  194. package/skills/security-entry-point-analyzer/skills/entry-point-analyzer/references/solidity.md +135 -0
  195. package/skills/security-entry-point-analyzer/skills/entry-point-analyzer/references/ton.md +185 -0
  196. package/skills/security-entry-point-analyzer/skills/entry-point-analyzer/references/vyper.md +141 -0
  197. package/skills/security-firebase-apk-scanner/.claude-plugin/plugin.json +10 -0
  198. package/skills/security-firebase-apk-scanner/README.md +85 -0
  199. package/skills/security-firebase-apk-scanner/commands/scan-apk.md +18 -0
  200. package/skills/security-firebase-apk-scanner/scanner.sh +1408 -0
  201. package/skills/security-firebase-apk-scanner/skills/firebase-apk-scanner/SKILL.md +197 -0
  202. package/skills/security-firebase-apk-scanner/skills/firebase-apk-scanner/references/vulnerabilities.md +803 -0
  203. package/skills/security-fix-review/.claude-plugin/plugin.json +13 -0
  204. package/skills/security-fix-review/README.md +118 -0
  205. package/skills/security-fix-review/commands/fix-review.md +24 -0
  206. package/skills/security-fix-review/skills/fix-review/SKILL.md +264 -0
  207. package/skills/security-fix-review/skills/fix-review/references/bug-detection.md +408 -0
  208. package/skills/security-fix-review/skills/fix-review/references/finding-matching.md +298 -0
  209. package/skills/security-fix-review/skills/fix-review/references/report-parsing.md +398 -0
  210. package/skills/security-insecure-defaults/.claude-plugin/plugin.json +10 -0
  211. package/skills/security-insecure-defaults/README.md +45 -0
  212. package/skills/security-insecure-defaults/skills/insecure-defaults/SKILL.md +117 -0
  213. package/skills/security-insecure-defaults/skills/insecure-defaults/references/examples.md +409 -0
  214. package/skills/security-modern-python/.claude-plugin/plugin.json +10 -0
  215. package/skills/security-modern-python/README.md +58 -0
  216. package/skills/security-modern-python/hooks/hooks.json +16 -0
  217. package/skills/security-modern-python/hooks/intercept-legacy-python.bats +388 -0
  218. package/skills/security-modern-python/hooks/intercept-legacy-python.sh +109 -0
  219. package/skills/security-modern-python/hooks/test_helper.bash +75 -0
  220. package/skills/security-modern-python/skills/modern-python/SKILL.md +333 -0
  221. package/skills/security-modern-python/skills/modern-python/references/dependabot.md +43 -0
  222. package/skills/security-modern-python/skills/modern-python/references/migration-checklist.md +141 -0
  223. package/skills/security-modern-python/skills/modern-python/references/pep723-scripts.md +259 -0
  224. package/skills/security-modern-python/skills/modern-python/references/prek.md +211 -0
  225. package/skills/security-modern-python/skills/modern-python/references/pyproject.md +254 -0
  226. package/skills/security-modern-python/skills/modern-python/references/ruff-config.md +240 -0
  227. package/skills/security-modern-python/skills/modern-python/references/security-setup.md +255 -0
  228. package/skills/security-modern-python/skills/modern-python/references/testing.md +284 -0
  229. package/skills/security-modern-python/skills/modern-python/references/uv-commands.md +200 -0
  230. package/skills/security-modern-python/skills/modern-python/templates/dependabot.yml +36 -0
  231. package/skills/security-modern-python/skills/modern-python/templates/pre-commit-config.yaml +66 -0
  232. package/skills/security-property-based-testing/.claude-plugin/plugin.json +9 -0
  233. package/skills/security-property-based-testing/README.md +47 -0
  234. package/skills/security-property-based-testing/skills/property-based-testing/README.md +88 -0
  235. package/skills/security-property-based-testing/skills/property-based-testing/SKILL.md +109 -0
  236. package/skills/security-property-based-testing/skills/property-based-testing/references/design.md +191 -0
  237. package/skills/security-property-based-testing/skills/property-based-testing/references/generating.md +200 -0
  238. package/skills/security-property-based-testing/skills/property-based-testing/references/libraries.md +130 -0
  239. package/skills/security-property-based-testing/skills/property-based-testing/references/refactoring.md +181 -0
  240. package/skills/security-property-based-testing/skills/property-based-testing/references/reviewing.md +209 -0
  241. package/skills/security-property-based-testing/skills/property-based-testing/references/strategies.md +124 -0
  242. package/skills/semgrep-rule-creator/.claude-plugin/plugin.json +8 -0
  243. package/skills/semgrep-rule-creator/README.md +43 -0
  244. package/skills/semgrep-rule-creator/commands/semgrep-rule.md +26 -0
  245. package/skills/semgrep-rule-creator/skills/semgrep-rule-creator/SKILL.md +168 -0
  246. package/skills/semgrep-rule-creator/skills/semgrep-rule-creator/references/quick-reference.md +203 -0
  247. package/skills/semgrep-rule-creator/skills/semgrep-rule-creator/references/workflow.md +240 -0
  248. package/skills/semgrep-rule-variant-creator/.claude-plugin/plugin.json +9 -0
  249. package/skills/semgrep-rule-variant-creator/README.md +86 -0
  250. package/skills/semgrep-rule-variant-creator/skills/semgrep-rule-variant-creator/SKILL.md +205 -0
  251. package/skills/semgrep-rule-variant-creator/skills/semgrep-rule-variant-creator/references/applicability-analysis.md +250 -0
  252. package/skills/semgrep-rule-variant-creator/skills/semgrep-rule-variant-creator/references/language-syntax-guide.md +324 -0
  253. package/skills/semgrep-rule-variant-creator/skills/semgrep-rule-variant-creator/references/workflow.md +518 -0
  254. package/skills/session-logs/SKILL.md +115 -0
  255. package/skills/sharp-edges/.claude-plugin/plugin.json +10 -0
  256. package/skills/sharp-edges/README.md +48 -0
  257. package/skills/sharp-edges/skills/sharp-edges/SKILL.md +292 -0
  258. package/skills/sharp-edges/skills/sharp-edges/references/auth-patterns.md +252 -0
  259. package/skills/sharp-edges/skills/sharp-edges/references/case-studies.md +274 -0
  260. package/skills/sharp-edges/skills/sharp-edges/references/config-patterns.md +333 -0
  261. package/skills/sharp-edges/skills/sharp-edges/references/crypto-apis.md +190 -0
  262. package/skills/sharp-edges/skills/sharp-edges/references/lang-c.md +205 -0
  263. package/skills/sharp-edges/skills/sharp-edges/references/lang-csharp.md +285 -0
  264. package/skills/sharp-edges/skills/sharp-edges/references/lang-go.md +270 -0
  265. package/skills/sharp-edges/skills/sharp-edges/references/lang-java.md +263 -0
  266. package/skills/sharp-edges/skills/sharp-edges/references/lang-javascript.md +269 -0
  267. package/skills/sharp-edges/skills/sharp-edges/references/lang-kotlin.md +265 -0
  268. package/skills/sharp-edges/skills/sharp-edges/references/lang-php.md +245 -0
  269. package/skills/sharp-edges/skills/sharp-edges/references/lang-python.md +274 -0
  270. package/skills/sharp-edges/skills/sharp-edges/references/lang-ruby.md +273 -0
  271. package/skills/sharp-edges/skills/sharp-edges/references/lang-rust.md +272 -0
  272. package/skills/sharp-edges/skills/sharp-edges/references/lang-swift.md +287 -0
  273. package/skills/sharp-edges/skills/sharp-edges/references/language-specific.md +588 -0
  274. package/skills/sherpa-onnx-tts/SKILL.md +103 -0
  275. package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +178 -0
  276. package/skills/skill-creator/SKILL.md +370 -0
  277. package/skills/skill-creator/license.txt +202 -0
  278. package/skills/skill-creator/scripts/init_skill.py +378 -0
  279. package/skills/skill-creator/scripts/package_skill.py +111 -0
  280. package/skills/skill-creator/scripts/quick_validate.py +101 -0
  281. package/skills/slack/SKILL.md +144 -0
  282. package/skills/songsee/SKILL.md +49 -0
  283. package/skills/sonoscli/SKILL.md +46 -0
  284. package/skills/spec-to-code-compliance/.claude-plugin/plugin.json +10 -0
  285. package/skills/spec-to-code-compliance/README.md +67 -0
  286. package/skills/spec-to-code-compliance/commands/spec-compliance.md +22 -0
  287. package/skills/spec-to-code-compliance/skills/spec-to-code-compliance/SKILL.md +349 -0
  288. package/skills/spec-to-code-compliance/skills/spec-to-code-compliance/resources/COMPLETENESS_CHECKLIST.md +69 -0
  289. package/skills/spec-to-code-compliance/skills/spec-to-code-compliance/resources/IR_EXAMPLES.md +417 -0
  290. package/skills/spec-to-code-compliance/skills/spec-to-code-compliance/resources/OUTPUT_REQUIREMENTS.md +105 -0
  291. package/skills/spotify-player/SKILL.md +64 -0
  292. package/skills/static-analysis/.claude-plugin/plugin.json +8 -0
  293. package/skills/static-analysis/README.md +59 -0
  294. package/skills/static-analysis/skills/codeql/SKILL.md +315 -0
  295. package/skills/static-analysis/skills/sarif-parsing/SKILL.md +479 -0
  296. package/skills/static-analysis/skills/sarif-parsing/resources/jq-queries.md +162 -0
  297. package/skills/static-analysis/skills/sarif-parsing/resources/sarif_helpers.py +331 -0
  298. package/skills/static-analysis/skills/semgrep/SKILL.md +337 -0
  299. package/skills/summarize/SKILL.md +87 -0
  300. package/skills/testing-handbook-skills/.claude-plugin/plugin.json +8 -0
  301. package/skills/testing-handbook-skills/README.md +241 -0
  302. package/skills/testing-handbook-skills/scripts/pyproject.toml +8 -0
  303. package/skills/testing-handbook-skills/scripts/validate-skills.py +657 -0
  304. package/skills/testing-handbook-skills/skills/address-sanitizer/SKILL.md +341 -0
  305. package/skills/testing-handbook-skills/skills/aflpp/SKILL.md +640 -0
  306. package/skills/testing-handbook-skills/skills/atheris/SKILL.md +515 -0
  307. package/skills/testing-handbook-skills/skills/cargo-fuzz/SKILL.md +454 -0
  308. package/skills/testing-handbook-skills/skills/codeql/SKILL.md +549 -0
  309. package/skills/testing-handbook-skills/skills/constant-time-testing/SKILL.md +507 -0
  310. package/skills/testing-handbook-skills/skills/coverage-analysis/SKILL.md +607 -0
  311. package/skills/testing-handbook-skills/skills/fuzzing-dictionary/SKILL.md +297 -0
  312. package/skills/testing-handbook-skills/skills/fuzzing-obstacles/SKILL.md +426 -0
  313. package/skills/testing-handbook-skills/skills/harness-writing/SKILL.md +614 -0
  314. package/skills/testing-handbook-skills/skills/libafl/SKILL.md +625 -0
  315. package/skills/testing-handbook-skills/skills/libfuzzer/SKILL.md +795 -0
  316. package/skills/testing-handbook-skills/skills/ossfuzz/SKILL.md +426 -0
  317. package/skills/testing-handbook-skills/skills/ruzzy/SKILL.md +443 -0
  318. package/skills/testing-handbook-skills/skills/semgrep/SKILL.md +601 -0
  319. package/skills/testing-handbook-skills/skills/testing-handbook-generator/SKILL.md +372 -0
  320. package/skills/testing-handbook-skills/skills/testing-handbook-generator/agent-prompt.md +280 -0
  321. package/skills/testing-handbook-skills/skills/testing-handbook-generator/discovery.md +452 -0
  322. package/skills/testing-handbook-skills/skills/testing-handbook-generator/templates/domain-skill.md +504 -0
  323. package/skills/testing-handbook-skills/skills/testing-handbook-generator/templates/fuzzer-skill.md +454 -0
  324. package/skills/testing-handbook-skills/skills/testing-handbook-generator/templates/technique-skill.md +527 -0
  325. package/skills/testing-handbook-skills/skills/testing-handbook-generator/templates/tool-skill.md +366 -0
  326. package/skills/testing-handbook-skills/skills/testing-handbook-generator/testing.md +482 -0
  327. package/skills/testing-handbook-skills/skills/wycheproof/SKILL.md +533 -0
  328. package/skills/things-mac/SKILL.md +86 -0
  329. package/skills/tmux/SKILL.md +135 -0
  330. package/skills/tmux/scripts/find-sessions.sh +112 -0
  331. package/skills/tmux/scripts/wait-for-text.sh +83 -0
  332. package/skills/trello/SKILL.md +95 -0
  333. package/skills/variant-analysis/.claude-plugin/plugin.json +8 -0
  334. package/skills/variant-analysis/README.md +41 -0
  335. package/skills/variant-analysis/commands/variants.md +23 -0
  336. package/skills/variant-analysis/skills/variant-analysis/METHODOLOGY.md +327 -0
  337. package/skills/variant-analysis/skills/variant-analysis/SKILL.md +142 -0
  338. package/skills/variant-analysis/skills/variant-analysis/resources/codeql/cpp.ql +119 -0
  339. package/skills/variant-analysis/skills/variant-analysis/resources/codeql/go.ql +69 -0
  340. package/skills/variant-analysis/skills/variant-analysis/resources/codeql/java.ql +71 -0
  341. package/skills/variant-analysis/skills/variant-analysis/resources/codeql/javascript.ql +63 -0
  342. package/skills/variant-analysis/skills/variant-analysis/resources/codeql/python.ql +80 -0
  343. package/skills/variant-analysis/skills/variant-analysis/resources/semgrep/cpp.yaml +98 -0
  344. package/skills/variant-analysis/skills/variant-analysis/resources/semgrep/go.yaml +63 -0
  345. package/skills/variant-analysis/skills/variant-analysis/resources/semgrep/java.yaml +61 -0
  346. package/skills/variant-analysis/skills/variant-analysis/resources/semgrep/javascript.yaml +60 -0
  347. package/skills/variant-analysis/skills/variant-analysis/resources/semgrep/python.yaml +72 -0
  348. package/skills/variant-analysis/skills/variant-analysis/resources/variant-report-template.md +75 -0
  349. package/skills/video-frames/SKILL.md +46 -0
  350. package/skills/video-frames/scripts/frame.sh +81 -0
  351. package/skills/voice-call/SKILL.md +45 -0
  352. package/skills/wacli/SKILL.md +72 -0
  353. package/skills/weather/SKILL.md +54 -0
  354. package/skills/yara-authoring/.claude-plugin/plugin.json +9 -0
  355. package/skills/yara-authoring/README.md +131 -0
  356. package/skills/yara-authoring/skills/yara-rule-authoring/SKILL.md +645 -0
  357. package/skills/yara-authoring/skills/yara-rule-authoring/examples/MAL_Mac_ProtonRAT_Jan25.yar +99 -0
  358. package/skills/yara-authoring/skills/yara-rule-authoring/examples/MAL_NPM_SupplyChain_Jan25.yar +170 -0
  359. package/skills/yara-authoring/skills/yara-rule-authoring/examples/MAL_Win_Remcos_Jan25.yar +103 -0
  360. package/skills/yara-authoring/skills/yara-rule-authoring/examples/SUSP_CRX_SuspiciousPermissions.yar +134 -0
  361. package/skills/yara-authoring/skills/yara-rule-authoring/examples/SUSP_JS_Obfuscation_Jan25.yar +185 -0
  362. package/skills/yara-authoring/skills/yara-rule-authoring/references/crx-module.md +214 -0
  363. package/skills/yara-authoring/skills/yara-rule-authoring/references/dex-module.md +383 -0
  364. package/skills/yara-authoring/skills/yara-rule-authoring/references/performance.md +333 -0
  365. package/skills/yara-authoring/skills/yara-rule-authoring/references/strings.md +433 -0
  366. package/skills/yara-authoring/skills/yara-rule-authoring/references/style-guide.md +257 -0
  367. package/skills/yara-authoring/skills/yara-rule-authoring/references/testing.md +399 -0
  368. package/skills/yara-authoring/skills/yara-rule-authoring/scripts/atom_analyzer.py +526 -0
  369. package/skills/yara-authoring/skills/yara-rule-authoring/scripts/pyproject.toml +25 -0
  370. package/skills/yara-authoring/skills/yara-rule-authoring/scripts/yara_lint.py +631 -0
  371. package/skills/yara-authoring/skills/yara-rule-authoring/workflows/rule-development.md +493 -0
@@ -0,0 +1,248 @@
1
+ ## Example Output
2
+
3
+ When the assessment is complete, you'll receive a comprehensive maturity report:
4
+
5
+ ```
6
+ === CODE MATURITY ASSESSMENT REPORT ===
7
+
8
+ Project: DeFi DEX Protocol
9
+ Platform: Solidity (Ethereum)
10
+ Assessment Date: March 15, 2024
11
+ Assessor: Trail of Bits Code Maturity Framework v0.1.0
12
+
13
+ ---
14
+
15
+ ## EXECUTIVE SUMMARY
16
+
17
+ Overall Maturity Score: 2.7 / 4.0 (MODERATE-SATISFACTORY)
18
+
19
+ Top 3 Strengths:
20
+ ✓ Comprehensive testing with 96% coverage and fuzzing
21
+ ✓ Well-documented access controls with multi-sig governance
22
+ ✓ Clear architectural documentation with diagrams
23
+
24
+ Top 3 Critical Gaps:
25
+ ⚠ Arithmetic operations lack formal specification
26
+ ⚠ No event monitoring infrastructure deployed
27
+ ⚠ Centralized upgrade mechanism without timelock
28
+
29
+ Priority Recommendation:
30
+ Implement arithmetic specification document and add 48-hour timelock
31
+ to all governance operations before mainnet launch.
32
+
33
+ ---
34
+
35
+ ## MATURITY SCORECARD
36
+
37
+ | Category | Rating | Score | Notes |
38
+ |-----------------------------|---------------|-------|---------------------------------|
39
+ | 1. Arithmetic | WEAK | 1/4 | Missing specification |
40
+ | 2. Auditing | MODERATE | 2/4 | Events present, no monitoring |
41
+ | 3. Authentication/Access | SATISFACTORY | 3/4 | Multi-sig, well-documented |
42
+ | 4. Complexity Management | MODERATE | 2/4 | Some functions too complex |
43
+ | 5. Decentralization | WEAK | 1/4 | Centralized upgrades |
44
+ | 6. Documentation | SATISFACTORY | 3/4 | Comprehensive, minor gaps |
45
+ | 7. Transaction Ordering | MODERATE | 2/4 | Some MEV risks documented |
46
+ | 8. Low-Level Manipulation | SATISFACTORY | 3/4 | Minimal assembly, justified |
47
+ | 9. Testing & Verification | STRONG | 4/4 | Excellent coverage & techniques |
48
+
49
+ **OVERALL: 2.7 / 4.0** (Moderate-Satisfactory)
50
+
51
+ ---
52
+
53
+ ## DETAILED ANALYSIS
54
+
55
+ ### 1. ARITHMETIC - WEAK (1/4)
56
+
57
+ **Evidence:**
58
+ ✗ No arithmetic specification document found
59
+ ✗ AMM pricing formula not documented (src/SwapRouter.sol:89-156)
60
+ ✗ Slippage calculation lacks precision analysis
61
+ ✓ Using Solidity 0.8+ for overflow protection
62
+ ✓ Critical functions tested for edge cases
63
+
64
+ **Critical Gap:**
65
+ File: src/SwapRouter.sol:127
66
+ ```solidity
67
+ uint256 amountOut = (reserveOut * amountIn * 997) / (reserveIn * 1000 + amountIn * 997);
68
+ ```
69
+ No specification for:
70
+ - Expected liquidity depth ranges
71
+ - Precision loss analysis
72
+ - Rounding direction justification
73
+
74
+ **To Reach Moderate (2/4):**
75
+ - Create arithmetic specification document
76
+ - Document all formulas and their precision requirements
77
+ - Add explicit rounding direction comments
78
+ - Test arithmetic edge cases with fuzzing
79
+
80
+ **Files Referenced:**
81
+ - src/SwapRouter.sol:89-156
82
+ - src/LiquidityPool.sol:234-267
83
+ - src/PriceCalculator.sol:178-195
84
+
85
+ ---
86
+
87
+ ### 2. AUDITING - MODERATE (2/4)
88
+
89
+ **Evidence:**
90
+ ✓ Events emitted for all critical operations
91
+ ✓ Consistent event naming (Action + noun)
92
+ ✓ Indexed parameters for filtering
93
+ ✗ No off-chain monitoring infrastructure
94
+ ✗ No monitoring plan documented
95
+ ✗ No incident response plan
96
+
97
+ **Events Found:** 23 events across 8 contracts
98
+ - Swap, AddLiquidity, RemoveLiquidity ✓
99
+ - PairCreated, LiquidityProvided ✓
100
+ - OwnershipTransferred, GovernanceProposed ✓
101
+
102
+ **Critical Gap:**
103
+ No monitoring alerts for:
104
+ - Large swaps causing significant price impact
105
+ - Oracle price deviations
106
+ - Unusual liquidity withdrawal patterns
107
+
108
+ **To Reach Satisfactory (3/4):**
109
+ - Deploy off-chain monitoring (Tenderly/Defender)
110
+ - Create monitoring playbook document
111
+ - Set up alerts for critical events
112
+ - Test incident response plan quarterly
113
+
114
+ ---
115
+
116
+ ### 3. AUTHENTICATION/ACCESS CONTROLS - SATISFACTORY (3/4)
117
+
118
+ **Evidence:**
119
+ ✓ All privileged functions have access controls
120
+ ✓ Multi-sig (3/5) controls governance
121
+ ✓ Role separation (Admin, Operator, Pauser)
122
+ ✓ Roles documented in ROLES.md
123
+ ✓ Two-step ownership transfer
124
+ ✓ All access patterns tested
125
+ ✓ Emergency pause by separate role
126
+
127
+ **Access Control Implementation:**
128
+ - OpenZeppelin AccessControl used consistently
129
+ - 4 roles defined with non-overlapping privileges
130
+ - Emergency functions require multi-sig
131
+
132
+ **Minor Gap:**
133
+ Multi-sig is EOA-based (should upgrade to Governor contract)
134
+
135
+ **To Reach Strong (4/4):**
136
+ - Replace multi-sig EOAs with on-chain Governor
137
+ - Add timelock to all parameter changes
138
+ - Document key compromise scenarios
139
+ - Test governor upgrade path
140
+
141
+ **Files Referenced:**
142
+ - All contracts use consistent access patterns
143
+ - ROLES.md comprehensive
144
+ - test/access/* covers all scenarios
145
+
146
+ ---
147
+
148
+ ### 9. TESTING & VERIFICATION - STRONG (4/4)
149
+
150
+ **Evidence:**
151
+ ✓ 96% line coverage, 94% branch coverage
152
+ ✓ 287 unit tests, all passing
153
+ ✓ Echidna fuzzing for 12 invariants
154
+ ✓ Integration tests for all workflows
155
+ ✓ Mutation testing implemented
156
+ ✓ Tests run in CI/CD
157
+ ✓ Fork tests against mainnet state
158
+
159
+ **Testing Breakdown:**
160
+ - Unit: 287 tests (forge test)
161
+ - Integration: 45 scenarios (end-to-end flows)
162
+ - Fuzzing: 12 invariants (Echidna, 10k runs each)
163
+ - Formal: 3 key properties (Certora)
164
+ - Fork: Tested against live Uniswap/SushiSwap
165
+
166
+ **Uncovered Code:**
167
+ - Emergency migration (tested manually)
168
+ - Governance upgrade path (one-time)
169
+
170
+ **Why Strong:**
171
+ Exceeds all satisfactory criteria with formal verification and
172
+ extensive fuzzing. Test quality is exceptional.
173
+
174
+ ---
175
+
176
+ ## IMPROVEMENT ROADMAP
177
+
178
+ ### CRITICAL (Fix Before Mainnet - Week 1-2)
179
+
180
+ **1. Create Arithmetic Specification [HIGH IMPACT]**
181
+ - Effort: 3-5 days
182
+ - Document all formulas with ground-truth models
183
+ - Analyze precision loss for each operation
184
+ - Justify rounding directions
185
+ - Impact: Moves Arithmetic from WEAK → MODERATE
186
+
187
+ **2. Add Governance Timelock [HIGH IMPACT]**
188
+ - Effort: 2-3 days
189
+ - Deploy TimelockController (48-hour delay)
190
+ - Update all governance functions
191
+ - Document emergency override procedure
192
+ - Impact: Moves Decentralization from WEAK → MODERATE
193
+
194
+ ---
195
+
196
+ ### HIGH PRIORITY (Fix Before Launch - Week 3-4)
197
+
198
+ **3. Deploy Monitoring Infrastructure [MEDIUM IMPACT]**
199
+ - Effort: 3-4 days
200
+ - Set up Tenderly/OpenZeppelin Defender
201
+ - Create alert rules for critical events
202
+ - Document monitoring playbook
203
+ - Impact: Moves Auditing from MODERATE → SATISFACTORY
204
+
205
+ **4. Simplify Complex Functions [MEDIUM IMPACT]**
206
+ - Effort: 5-7 days
207
+ - Split SwapRouter.getAmountOut() (cyclomatic complexity: 15)
208
+ - Extract PriceCalculator._validateSlippage() logic
209
+ - Impact: Moves Complexity from MODERATE → SATISFACTORY
210
+
211
+ ---
212
+
213
+ ### MEDIUM PRIORITY (Improve for V2 - Month 2-3)
214
+
215
+ **5. Document MEV Risks**
216
+ - Effort: 2-3 days
217
+ - Create MEV analysis document
218
+ - Add slippage protection where missing
219
+ - Impact: Moves Transaction Ordering from MODERATE → SATISFACTORY
220
+
221
+ **6. Upgrade to On-Chain Governance**
222
+ - Effort: 1-2 weeks
223
+ - Replace multi-sig with Governor contract
224
+ - Add voting period and quorum
225
+ - Impact: Moves Authentication from SATISFACTORY → STRONG
226
+
227
+ ---
228
+
229
+ ## CONCLUSION
230
+
231
+ The codebase demonstrates **MODERATE-SATISFACTORY maturity** (2.7/4.0),
232
+ with excellent testing practices and good documentation. Primary concerns
233
+ are arithmetic specification gaps and centralized upgrade control.
234
+
235
+ **Recommended Path to Mainnet:**
236
+ 1. Complete CRITICAL items (arithmetic spec, timelock)
237
+ 2. Address HIGH priority items (monitoring, complexity)
238
+ 3. Conduct external audit
239
+ 4. Launch with documented limitations
240
+ 5. Implement MEDIUM priority items in V2
241
+
242
+ **Timeline:** 3-4 weeks to address critical/high items before audit.
243
+
244
+ ---
245
+
246
+ Assessment completed using Trail of Bits Building Secure Contracts
247
+ Code Maturity Evaluation Framework v0.1.0
248
+ ```
@@ -0,0 +1,33 @@
1
+
2
+ ## Report Format
3
+
4
+ ### Executive Summary
5
+ - Project name and platform
6
+ - Overall maturity (average rating)
7
+ - Top 3 strengths
8
+ - Top 3 critical gaps
9
+ - Priority recommendations
10
+
11
+ ### Maturity Scorecard
12
+ | Category | Rating | Notes |
13
+ |----------|--------|-------|
14
+ | Arithmetic | [Rating] | [Key findings] |
15
+ | Auditing | [Rating] | [Key findings] |
16
+ | ... | ... | ... |
17
+
18
+ **Overall**: [X.X / 4.0]
19
+
20
+ ### Detailed Analysis
21
+ For each category:
22
+ - Rating with justification
23
+ - Evidence from codebase (file:line references)
24
+ - Gaps identified
25
+ - Actions to reach next level
26
+
27
+ ### Improvement Roadmap
28
+ Priority-ordered recommendations:
29
+ - **CRITICAL** (immediate)
30
+ - **HIGH** (1-2 months)
31
+ - **MEDIUM** (2-4 months)
32
+
33
+ Each with effort estimate and impact
@@ -0,0 +1,334 @@
1
+ ---
2
+ name: cosmos-vulnerability-scanner
3
+ description: Scans Cosmos SDK blockchains for 9 consensus-critical vulnerabilities including non-determinism, incorrect signers, ABCI panics, and rounding errors. Use when auditing Cosmos chains or CosmWasm contracts.
4
+ ---
5
+
6
+ # Cosmos Vulnerability Scanner
7
+
8
+ ## 1. Purpose
9
+
10
+ Systematically scan Cosmos SDK blockchain modules and CosmWasm smart contracts for platform-specific security vulnerabilities that can cause chain halts, consensus failures, or fund loss. This skill encodes 9 critical vulnerability patterns unique to Cosmos-based chains.
11
+
12
+ ## 2. When to Use This Skill
13
+
14
+ - Auditing Cosmos SDK modules (custom x/ modules)
15
+ - Reviewing CosmWasm smart contracts (Rust)
16
+ - Pre-launch security assessment of Cosmos chains
17
+ - Investigating chain halt incidents
18
+ - Validating consensus-critical code changes
19
+ - Reviewing ABCI method implementations
20
+
21
+ ## 3. Platform Detection
22
+
23
+ ### File Extensions & Indicators
24
+ - **Go files**: `.go`, `.proto`
25
+ - **CosmWasm**: `.rs` (Rust with cosmwasm imports)
26
+
27
+ ### Language/Framework Markers
28
+ ```go
29
+ // Cosmos SDK indicators
30
+ import (
31
+ "github.com/cosmos/cosmos-sdk/types"
32
+ sdk "github.com/cosmos/cosmos-sdk/types"
33
+ "github.com/cosmos/cosmos-sdk/x/..."
34
+ )
35
+
36
+ // Common patterns
37
+ keeper.Keeper
38
+ sdk.Msg, GetSigners()
39
+ BeginBlocker, EndBlocker
40
+ CheckTx, DeliverTx
41
+ protobuf service definitions
42
+ ```
43
+
44
+ ```rust
45
+ // CosmWasm indicators
46
+ use cosmwasm_std::*;
47
+ #[entry_point]
48
+ pub fn execute(deps: DepsMut, env: Env, info: MessageInfo, msg: ExecuteMsg)
49
+ ```
50
+
51
+ ### Project Structure
52
+ - `x/modulename/` - Custom modules
53
+ - `keeper/keeper.go` - State management
54
+ - `types/msgs.go` - Message definitions
55
+ - `abci.go` - BeginBlocker/EndBlocker
56
+ - `handler.go` - Message handlers (legacy)
57
+
58
+ ### Tool Support
59
+ - **CodeQL**: Custom rules for non-determinism and panics
60
+ - **go vet**, **golangci-lint**: Basic Go static analysis
61
+ - **Manual review**: Critical for consensus issues
62
+
63
+ ---
64
+
65
+ ## 4. How This Skill Works
66
+
67
+ When invoked, I will:
68
+
69
+ 1. **Search your codebase** for Cosmos SDK modules
70
+ 2. **Analyze each module** for the 9 vulnerability patterns
71
+ 3. **Report findings** with file references and severity
72
+ 4. **Provide fixes** for each identified issue
73
+ 5. **Check message handlers** for validation issues
74
+
75
+ ---
76
+
77
+ ## 5. Example Output
78
+
79
+ When vulnerabilities are found, you'll get a report like this:
80
+
81
+ ```
82
+ === COSMOS SDK VULNERABILITY SCAN RESULTS ===
83
+
84
+ Project: my-cosmos-chain
85
+ Files Scanned: 6 (.go)
86
+ Vulnerabilities Found: 2
87
+
88
+ ---
89
+
90
+ [CRITICAL] Incorrect GetSigners()
91
+
92
+ ---
93
+
94
+ ## 5. Vulnerability Patterns (9 Patterns)
95
+
96
+ I check for 9 critical vulnerability patterns unique to CosmWasm. For detailed detection patterns, code examples, mitigations, and testing strategies, see [VULNERABILITY_PATTERNS.md](resources/VULNERABILITY_PATTERNS.md).
97
+
98
+ ### Pattern Summary:
99
+
100
+ 1. **Missing Denom Validation** ⚠️ CRITICAL - Accepting arbitrary token denoms
101
+ 2. **Insufficient Authorization** ⚠️ CRITICAL - Missing sender/admin validation
102
+ 3. **Missing Balance Check** ⚠️ HIGH - Not verifying sufficient balances
103
+ 4. **Improper Reply Handling** ⚠️ HIGH - Unsafe submessage reply processing
104
+ 5. **Missing Reply ID Check** ⚠️ MEDIUM - Not validating reply IDs
105
+ 6. **Improper IBC Packet Validation** ⚠️ CRITICAL - Unvalidated IBC packets
106
+ 7. **Unvalidated Execute Message** ⚠️ HIGH - Missing message validation
107
+ 8. **Integer Overflow** ⚠️ HIGH - Unchecked arithmetic operations
108
+ 9. **Reentrancy via Submessages** ⚠️ MEDIUM - State changes before submessages
109
+
110
+ For complete vulnerability patterns with code examples, see [VULNERABILITY_PATTERNS.md](resources/VULNERABILITY_PATTERNS.md).
111
+ ## 5. Scanning Workflow
112
+
113
+ ### Step 1: Platform Identification
114
+ 1. Identify Cosmos SDK version (`go.mod`)
115
+ 2. Locate custom modules (`x/*/`)
116
+ 3. Find ABCI methods (`abci.go`, BeginBlocker, EndBlocker)
117
+ 4. Identify message types (`types/msgs.go`, `.proto`)
118
+
119
+ ### Step 2: Critical Path Analysis
120
+ Focus on consensus-critical code:
121
+ - BeginBlocker / EndBlocker implementations
122
+ - Message handlers (execute, DeliverTx)
123
+ - Keeper methods that modify state
124
+ - CheckTx priority logic
125
+
126
+ ### Step 3: Non-Determinism Sweep
127
+ **This is the highest priority check for Cosmos chains.**
128
+
129
+ ```bash
130
+ # Search for non-deterministic patterns
131
+ grep -r "range.*map\[" x/
132
+ grep -r "\bint\b\|\buint\b" x/ | grep -v "int32\|int64\|uint32\|uint64"
133
+ grep -r "float32\|float64" x/
134
+ grep -r "go func\|go routine" x/
135
+ grep -r "select {" x/
136
+ grep -r "time.Now()" x/
137
+ grep -r "rand\." x/
138
+ ```
139
+
140
+ For each finding:
141
+ 1. Verify it's in consensus-critical path
142
+ 2. Confirm it causes non-determinism
143
+ 3. Assess severity (chain halt vs data inconsistency)
144
+
145
+ ### Step 4: ABCI Method Analysis
146
+ Review BeginBlocker and EndBlocker:
147
+ - [ ] Computational complexity bounded?
148
+ - [ ] No unbounded iterations?
149
+ - [ ] No nested loops over large collections?
150
+ - [ ] Panic-prone operations validated?
151
+ - [ ] Benchmarked with maximum state?
152
+
153
+ ### Step 5: Message Validation
154
+ For each message type:
155
+ - [ ] GetSigners() address matches handler usage?
156
+ - [ ] All error returns checked?
157
+ - [ ] Priority set in CheckTx if critical?
158
+ - [ ] Handler registered (or using v0.47+ auto-registration)?
159
+
160
+ ### Step 6: Arithmetic & Bookkeeping
161
+ - [ ] sdk.Dec operations use multiply-before-divide?
162
+ - [ ] Rounding favors protocol over users?
163
+ - [ ] Custom bookkeeping synchronized with x/bank?
164
+ - [ ] Invariant checks in place?
165
+
166
+ ---
167
+
168
+ ## 6. Reporting Format
169
+
170
+ ### Finding Template
171
+ ```markdown
172
+ ## [CRITICAL] Non-Deterministic Map Iteration in EndBlocker
173
+
174
+ **Location**: `x/dex/abci.go:45-52`
175
+
176
+ **Description**:
177
+ The EndBlocker iterates over an unordered map to distribute rewards, causing different validators to process users in different orders and produce different state roots. This will halt the chain when validators fail to reach consensus.
178
+
179
+ **Vulnerable Code**:
180
+ ```go
181
+ // abci.go, line 45
182
+ func EndBlocker(ctx sdk.Context, k keeper.Keeper) {
183
+ rewards := k.GetPendingRewards(ctx) // Returns map[string]sdk.Coins
184
+ for user, amount := range rewards { // NON-DETERMINISTIC ORDER
185
+ k.bankKeeper.SendCoins(ctx, moduleAcc, user, amount)
186
+ }
187
+ }
188
+ ```
189
+
190
+ **Attack Scenario**:
191
+ 1. Multiple users have pending rewards
192
+ 2. Different validators iterate in different orders due to map randomization
193
+ 3. If any reward distribution fails mid-iteration, state diverges
194
+ 4. Validators produce different app hashes
195
+ 5. Chain halts - cannot reach consensus
196
+
197
+ **Recommendation**:
198
+ Sort map keys before iteration:
199
+ ```go
200
+ func EndBlocker(ctx sdk.Context, k keeper.Keeper) {
201
+ rewards := k.GetPendingRewards(ctx)
202
+
203
+ // Collect and sort keys for deterministic iteration
204
+ users := make([]string, 0, len(rewards))
205
+ for user := range rewards {
206
+ users = append(users, user)
207
+ }
208
+ sort.Strings(users) // Deterministic order
209
+
210
+ // Process in sorted order
211
+ for _, user := range users {
212
+ k.bankKeeper.SendCoins(ctx, moduleAcc, user, rewards[user])
213
+ }
214
+ }
215
+ ```
216
+
217
+ **References**:
218
+ - building-secure-contracts/not-so-smart-contracts/cosmos/non_determinism
219
+ - Cosmos SDK docs: Determinism
220
+ ```
221
+
222
+ ---
223
+
224
+ ## 7. Priority Guidelines
225
+
226
+ ### Critical - CHAIN HALT Risk
227
+ - Non-determinism (any form)
228
+ - ABCI method panics
229
+ - Slow ABCI methods
230
+ - Incorrect GetSigners (allows unauthorized actions)
231
+
232
+ ### High - Fund Loss Risk
233
+ - Missing error handling (bankKeeper.SendCoins)
234
+ - Broken bookkeeping (accounting mismatch)
235
+ - Missing message priority (oracle/emergency messages)
236
+
237
+ ### Medium - Logic/DoS Risk
238
+ - Rounding errors (protocol value leakage)
239
+ - Unregistered message handlers (functionality broken)
240
+
241
+ ---
242
+
243
+ ## 8. Testing Recommendations
244
+
245
+ ### Non-Determinism Testing
246
+ ```bash
247
+ # Build for different architectures
248
+ GOARCH=amd64 go build
249
+ GOARCH=arm64 go build
250
+
251
+ # Run same operations, compare state roots
252
+ # Must be identical across architectures
253
+
254
+ # Fuzz test with concurrent operations
255
+ go test -fuzz=FuzzEndBlocker -parallel=10
256
+ ```
257
+
258
+ ### ABCI Benchmarking
259
+ ```go
260
+ func BenchmarkBeginBlocker(b *testing.B) {
261
+ ctx := setupMaximalState() // Worst-case state
262
+ b.ResetTimer()
263
+
264
+ for i := 0; i < b.N; i++ {
265
+ BeginBlocker(ctx, keeper)
266
+ }
267
+
268
+ // Must complete in < 1 second
269
+ require.Less(b, b.Elapsed()/time.Duration(b.N), time.Second)
270
+ }
271
+ ```
272
+
273
+ ### Invariant Testing
274
+ ```go
275
+ // Run invariants in integration tests
276
+ func TestInvariants(t *testing.T) {
277
+ app := setupApp()
278
+
279
+ // Execute operations
280
+ app.DeliverTx(...)
281
+
282
+ // Check invariants
283
+ _, broken := keeper.AllInvariants()(app.Ctx)
284
+ require.False(t, broken, "invariant violation detected")
285
+ }
286
+ ```
287
+
288
+ ---
289
+
290
+ ## 9. Additional Resources
291
+
292
+ - **Building Secure Contracts**: `building-secure-contracts/not-so-smart-contracts/cosmos/`
293
+ - **Cosmos SDK Docs**: https://docs.cosmos.network/
294
+ - **CodeQL for Go**: https://codeql.github.com/docs/codeql-language-guides/codeql-for-go/
295
+ - **Cosmos Security Best Practices**: https://github.com/cosmos/cosmos-sdk/blob/main/docs/docs/learn/advanced/17-determinism.md
296
+
297
+ ---
298
+
299
+ ## 10. Quick Reference Checklist
300
+
301
+ Before completing Cosmos chain audit:
302
+
303
+ **Non-Determinism (CRITICAL)**:
304
+ - [ ] No map iteration in consensus code
305
+ - [ ] No platform-dependent types (int, uint, float)
306
+ - [ ] No goroutines in message handlers/ABCI
307
+ - [ ] No select statements with multiple channels
308
+ - [ ] No rand, time.Now(), memory addresses
309
+ - [ ] All serialization is deterministic
310
+
311
+ **ABCI Methods (CRITICAL)**:
312
+ - [ ] BeginBlocker/EndBlocker computationally bounded
313
+ - [ ] No unbounded iterations
314
+ - [ ] No nested loops over large collections
315
+ - [ ] All panic-prone operations validated
316
+ - [ ] Benchmarked with maximum state
317
+
318
+ **Message Handling (HIGH)**:
319
+ - [ ] GetSigners() matches handler address usage
320
+ - [ ] All error returns checked
321
+ - [ ] Critical messages prioritized in CheckTx
322
+ - [ ] All message types registered
323
+
324
+ **Arithmetic & Accounting (MEDIUM)**:
325
+ - [ ] Multiply before divide pattern used
326
+ - [ ] Rounding favors protocol
327
+ - [ ] Custom bookkeeping synced with x/bank
328
+ - [ ] Invariant checks implemented
329
+
330
+ **Testing**:
331
+ - [ ] Cross-architecture builds tested
332
+ - [ ] ABCI methods benchmarked
333
+ - [ ] Invariants checked in CI
334
+ - [ ] Integration tests cover all messages