opencode-skills-collection 4.0.43 → 4.0.44
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.
- package/bundled-skills/.antigravity-install-manifest.json +47 -1
- package/bundled-skills/api-rate-limit-handler/SKILL.md +282 -0
- package/bundled-skills/api-security/SKILL.md +205 -0
- package/bundled-skills/api-security/references/jwt-oauth-testing.md +123 -0
- package/bundled-skills/api-security/references/rest-graphql-testing.md +137 -0
- package/bundled-skills/apk-reverse/SKILL.md +438 -0
- package/bundled-skills/apk-reverse/references/android-advanced.md +365 -0
- package/bundled-skills/apk-reverse/references/apk-security-checklist.md +230 -0
- package/bundled-skills/apk-reverse/references/frida-bypass-kit.md +70 -0
- package/bundled-skills/apk-reverse/references/frida-cookbook.md +472 -0
- package/bundled-skills/attack-chain/SKILL.md +185 -0
- package/bundled-skills/attack-chain/references/attack-playbooks.md +126 -0
- package/bundled-skills/attack-chain/references/evasion-cheatsheet.md +133 -0
- package/bundled-skills/attack-chain/references/lifecycle-checklist.md +37 -0
- package/bundled-skills/attack-chain/references/phases.md +490 -0
- package/bundled-skills/binary-diff/SKILL.md +320 -0
- package/bundled-skills/binary-diff/references/prompt-template.md +173 -0
- package/bundled-skills/browser-extension-reverse/SKILL.md +99 -0
- package/bundled-skills/browser-extension-reverse/references/extension-analysis.md +10 -0
- package/bundled-skills/case-review/SKILL.md +167 -0
- package/bundled-skills/cloud-k8s/SKILL.md +124 -0
- package/bundled-skills/cloud-k8s/references/k8s-cloud-checklist.md +16 -0
- package/bundled-skills/code-audit/SKILL.md +92 -0
- package/bundled-skills/code-audit/references/sast-review-checklist.md +10 -0
- package/bundled-skills/database-security/SKILL.md +81 -0
- package/bundled-skills/database-security/references/db-misconfig-checklist.md +9 -0
- package/bundled-skills/diagram-generator/SKILL.md +199 -0
- package/bundled-skills/diagram-generator/references/README.md +3 -0
- package/bundled-skills/diagram-generator/references/diagram-patterns.md +254 -0
- package/bundled-skills/digital-forensics/SKILL.md +93 -0
- package/bundled-skills/digital-forensics/references/forensics-triage.md +10 -0
- package/bundled-skills/docs/integrations/jetski-cortex.md +3 -3
- package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +1 -1
- package/bundled-skills/docs/maintainers/repo-growth-seo.md +1 -1
- package/bundled-skills/docs/maintainers/skills-update-guide.md +1 -1
- package/bundled-skills/docs/sources/sources.md +9 -0
- package/bundled-skills/docs/users/aas-core.md +1 -1
- package/bundled-skills/docs/users/bundles.md +1 -1
- package/bundled-skills/docs/users/claude-code-skills.md +1 -1
- package/bundled-skills/docs/users/gemini-cli-skills.md +1 -1
- package/bundled-skills/docs/users/kiro-integration.md +1 -1
- package/bundled-skills/docs/users/usage.md +3 -3
- package/bundled-skills/docs/users/visual-guide.md +4 -4
- package/bundled-skills/docs-generator/SKILL.md +197 -0
- package/bundled-skills/docs-generator/references/security-report-templates.md +348 -0
- package/bundled-skills/docs-generator/references/templates.md +102 -0
- package/bundled-skills/docs-generator/references/vendor-report-rules.md +263 -0
- package/bundled-skills/dotnet-reverse/SKILL.md +197 -0
- package/bundled-skills/dotnet-reverse/references/common-workflow.md +171 -0
- package/bundled-skills/dotnet-reverse/references/obfuscators.md +145 -0
- package/bundled-skills/dotnet-reverse/references/sharp-tools.md +164 -0
- package/bundled-skills/edr-bypass-re/SKILL.md +248 -0
- package/bundled-skills/edr-bypass-re/references/hook-survey.md +226 -0
- package/bundled-skills/edr-bypass-re/references/telemetry-blinding.md +346 -0
- package/bundled-skills/edr-bypass-re/references/unhook-techniques.md +338 -0
- package/bundled-skills/email-security/SKILL.md +81 -0
- package/bundled-skills/email-security/references/email-auth-checklist.md +8 -0
- package/bundled-skills/firmware-pentest/SKILL.md +381 -0
- package/bundled-skills/firmware-pentest/references/emba-automated-analysis.md +192 -0
- package/bundled-skills/firmware-pentest/references/emulation-and-fuzz.md +337 -0
- package/bundled-skills/firmware-pentest/references/extraction-methodology.md +285 -0
- package/bundled-skills/ghidra-reverse/SKILL.md +98 -0
- package/bundled-skills/ghidra-reverse/references/ghidra-cheatsheet.md +12 -0
- package/bundled-skills/go-rust-reverse/SKILL.md +82 -0
- package/bundled-skills/go-rust-reverse/references/go-rust-notes.md +5 -0
- package/bundled-skills/hardware-security/SKILL.md +80 -0
- package/bundled-skills/hardware-security/references/debug-interface-triage.md +7 -0
- package/bundled-skills/ida-reverse/SKILL.md +401 -0
- package/bundled-skills/ida-reverse/references/LOCAL-SETUP.md +66 -0
- package/bundled-skills/ida-reverse/references/ida-mcp-cheatsheet.md +515 -0
- package/bundled-skills/identity-federation/SKILL.md +81 -0
- package/bundled-skills/identity-federation/references/sso-flow-checklist.md +9 -0
- package/bundled-skills/instructree/SKILL.md +94 -0
- package/bundled-skills/js-reverse/SKILL.md +239 -0
- package/bundled-skills/js-reverse/references/ast-deobfuscation.md +3 -0
- package/bundled-skills/js-reverse/references/automation-entry.md +12 -0
- package/bundled-skills/js-reverse/references/env-patching.md +6 -0
- package/bundled-skills/js-reverse/references/fallbacks.md +8 -0
- package/bundled-skills/js-reverse/references/instrumentation.md +9 -0
- package/bundled-skills/js-reverse/references/local-rebuild.md +11 -0
- package/bundled-skills/js-reverse/references/mcp-task-template.md +30 -0
- package/bundled-skills/js-reverse/references/node-env-rebuild.md +9 -0
- package/bundled-skills/js-reverse/references/output-contract.md +9 -0
- package/bundled-skills/js-reverse/references/task-artifacts.md +11 -0
- package/bundled-skills/js-reverse/references/task-input-template.md +11 -0
- package/bundled-skills/js-reverse/references/tool-defaults.md +7 -0
- package/bundled-skills/llm-security/SKILL.md +160 -0
- package/bundled-skills/llm-security/references/agent-obedience-engineering.md +243 -0
- package/bundled-skills/llm-security/references/agent-security-testing.md +116 -0
- package/bundled-skills/llm-security/references/owasp-llm-top10.md +48 -0
- package/bundled-skills/llm-security/references/prompt-injection-methodology.md +107 -0
- package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package-lock.json +4 -4
- package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package.json +1 -1
- package/bundled-skills/macos-reverse/SKILL.md +85 -0
- package/bundled-skills/macos-reverse/references/macho-triage.md +10 -0
- package/bundled-skills/malware-analysis/SKILL.md +311 -0
- package/bundled-skills/malware-analysis/references/anti-analysis-techniques.md +205 -0
- package/bundled-skills/malware-analysis/references/sandbox-orchestration.md +204 -0
- package/bundled-skills/malware-analysis/references/yara-sigma-rules.md +232 -0
- package/bundled-skills/mobile-reverse/SKILL.md +222 -0
- package/bundled-skills/mobile-reverse/references/anti-detection-bypass.md +182 -0
- package/bundled-skills/mobile-reverse/references/frida-objection-deep.md +218 -0
- package/bundled-skills/mobile-reverse/references/ios-reverse-guide.md +177 -0
- package/bundled-skills/muapi-media/SKILL.md +311 -0
- package/bundled-skills/ot-ics/SKILL.md +117 -0
- package/bundled-skills/ot-ics/references/ot-safe-assessment.md +10 -0
- package/bundled-skills/patch-diff-exploit/SKILL.md +278 -0
- package/bundled-skills/patch-diff-exploit/references/diff-tools-comparison.md +271 -0
- package/bundled-skills/patch-diff-exploit/references/patch-tuesday-workflow.md +253 -0
- package/bundled-skills/patch-diff-exploit/references/root-cause-and-poc.md +198 -0
- package/bundled-skills/pentest-tools/SKILL.md +346 -0
- package/bundled-skills/pentest-tools/references/ai-pentest-agents.md +148 -0
- package/bundled-skills/pentest-tools/references/ai-pentesting-landscape-2026.md +73 -0
- package/bundled-skills/pentest-tools/references/automation-loop-pattern.md +153 -0
- package/bundled-skills/pentest-tools/references/awesome-pentest-digest.md +175 -0
- package/bundled-skills/pentest-tools/references/burpsuite-mcp-guide.md +769 -0
- package/bundled-skills/pentest-tools/references/client-side-lab-playbook.md +155 -0
- package/bundled-skills/pentest-tools/references/kali-mcp-ecosystem.md +119 -0
- package/bundled-skills/pentest-tools/references/msf-protocol.md +169 -0
- package/bundled-skills/pentest-tools/references/network-attack-defense.md +350 -0
- package/bundled-skills/pentest-tools/references/nuclei-guide-2026.md +157 -0
- package/bundled-skills/pentest-tools/references/payloads.md +32 -0
- package/bundled-skills/pentest-tools/references/pentest-ai-agents-matrix.md +117 -0
- package/bundled-skills/pentest-tools/references/pentest-loop.md +270 -0
- package/bundled-skills/pentest-tools/references/recon-pipeline.md +154 -0
- package/bundled-skills/pentest-tools/references/templates/findings.md +21 -0
- package/bundled-skills/pentest-tools/references/templates/progress.md +17 -0
- package/bundled-skills/pentest-tools/references/templates/rules.md +35 -0
- package/bundled-skills/pentest-tools/references/templates/scope.md +29 -0
- package/bundled-skills/pentest-tools/references/templates/task_plan.md +27 -0
- package/bundled-skills/pentest-tools/references/web-attack-cheatsheet.md +387 -0
- package/bundled-skills/pentest-tools/src-hunter/SKILL.md +243 -0
- package/bundled-skills/pentest-tools/src-hunter/references/README.en.md +115 -0
- package/bundled-skills/pentest-tools/src-hunter/references/README.md +148 -0
- package/bundled-skills/pentest-tools/src-hunter/references/dictionaries/00-index.md +44 -0
- package/bundled-skills/pentest-tools/src-hunter/references/dictionaries/chinese-srcfingerprints.md +515 -0
- package/bundled-skills/pentest-tools/src-hunter/references/dictionaries/default-credentials-cn.md +274 -0
- package/bundled-skills/pentest-tools/src-hunter/references/industry/00-index.md +66 -0
- package/bundled-skills/pentest-tools/src-hunter/references/industry/banking-finance.md +338 -0
- package/bundled-skills/pentest-tools/src-hunter/references/industry/telecom-isp.md +315 -0
- package/bundled-skills/pentest-tools/src-hunter/references/methodology/00-index.md +68 -0
- package/bundled-skills/pentest-tools/src-hunter/references/methodology/01-attack-priority.md +143 -0
- package/bundled-skills/pentest-tools/src-hunter/references/methodology/02-bypass-toolkit.md +357 -0
- package/bundled-skills/pentest-tools/src-hunter/references/methodology/03-evidence-discipline.md +205 -0
- package/bundled-skills/pentest-tools/src-hunter/references/methodology/04-control-gap-hunting.md +238 -0
- package/bundled-skills/pentest-tools/src-hunter/references/methodology/05-srctimebox-priority.md +161 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet/adcs/346/224/273/345/207/273.md +254 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet/exchange/346/224/273/345/207/273.md +254 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet/sharepoint/346/224/273/345/207/273.md +113 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/ai/345/256/211/345/205/250.md +698 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/api/345/256/211/345/205/250.md +1935 -0
- 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
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/jwt/345/256/211/345/205/250.md +496 -0
- 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
- 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
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/sql-nosql/346/263/250/345/205/245.md +1924 -0
- 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
- 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
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/websocket/345/256/211/345/205/250.md +487 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/index.md +69 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools/web/346/270/227/351/200/217.md +662 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools/windows/346/270/227/351/200/217.md +100 -0
- 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
- 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
- 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
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//345/237/237/346/270/227/351/200/217.md +50 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/waf-bypass.md +6504 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/00-index.md +57 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/api-rest.md +2050 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/arbitrary-x-authz.md +481 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/dos.md +615 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/file-upload.md +1365 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/graphql.md +253 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/http-smuggling.md +924 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/info-disclosure.md +432 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/intranet-postexp.md +4845 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/llm-prompt-injection.md +1394 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/logic-flaws.md +1796 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/mobile.md +397 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/oauth-saml-jwt.md +2504 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/path-traversal.md +1297 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/race-conditions.md +207 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/rce.md +4829 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/sqli.md +1620 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/ssrf-cache-host.md +2098 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/unauth-access.md +330 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/xss.md +1159 -0
- package/bundled-skills/pentest-tools/src-hunter/references/templates/report-submission.md +346 -0
- package/bundled-skills/pentest-tools/src-hunter/references/tools/mcp-jshook.md +174 -0
- package/bundled-skills/protocol-reverse/SKILL.md +108 -0
- package/bundled-skills/protocol-reverse/references/protocol-workflow.md +29 -0
- package/bundled-skills/pwn-chain/SKILL.md +209 -0
- package/bundled-skills/pwn-chain/references/heap-pwn.md +283 -0
- package/bundled-skills/pwn-chain/references/kernel-pwn.md +370 -0
- package/bundled-skills/pwn-chain/references/stack-pwn.md +312 -0
- package/bundled-skills/radare2/SKILL.md +460 -0
- package/bundled-skills/radare2/references/cheatsheet.md +129 -0
- package/bundled-skills/radio-sdr/SKILL.md +77 -0
- package/bundled-skills/radio-sdr/references/sdr-lab-rules.md +6 -0
- package/bundled-skills/reverse-browser-automation/SKILL.md +249 -0
- package/bundled-skills/reverse-browser-automation/references/playwright-cheatsheet.md +425 -0
- package/bundled-skills/reverse-engineering/SKILL.md +213 -0
- package/bundled-skills/reverse-engineering/dsl-vm-reverse/SKILL.md +388 -0
- package/bundled-skills/reverse-engineering/references/ai-assisted-re.md +149 -0
- package/bundled-skills/reverse-engineering/references/anti-analysis.md +836 -0
- package/bundled-skills/reverse-engineering/references/awesome-re-resources.md +135 -0
- package/bundled-skills/reverse-engineering/references/crypto-decode-tools.md +220 -0
- package/bundled-skills/reverse-engineering/references/elf-analysis.md +296 -0
- package/bundled-skills/reverse-engineering/references/field-notes.md +540 -0
- package/bundled-skills/reverse-engineering/references/go-reverse.md +240 -0
- package/bundled-skills/reverse-engineering/references/kernel-driver-reverse.md +298 -0
- package/bundled-skills/reverse-engineering/references/languages-compiled.md +587 -0
- package/bundled-skills/reverse-engineering/references/languages-platforms.md +486 -0
- package/bundled-skills/reverse-engineering/references/languages.md +499 -0
- package/bundled-skills/reverse-engineering/references/nonpe-format-cookbook.md +301 -0
- package/bundled-skills/reverse-engineering/references/ollvm-deobfuscation.md +501 -0
- package/bundled-skills/reverse-engineering/references/patterns-ctf-2.md +397 -0
- package/bundled-skills/reverse-engineering/references/patterns-ctf-3.md +719 -0
- package/bundled-skills/reverse-engineering/references/patterns-ctf.md +532 -0
- package/bundled-skills/reverse-engineering/references/patterns.md +801 -0
- package/bundled-skills/reverse-engineering/references/platforms-hardware.md +304 -0
- package/bundled-skills/reverse-engineering/references/platforms.md +442 -0
- package/bundled-skills/reverse-engineering/references/re-agent-workflow.md +240 -0
- package/bundled-skills/reverse-engineering/references/tools-advanced.md +822 -0
- package/bundled-skills/reverse-engineering/references/tools-dynamic.md +846 -0
- package/bundled-skills/reverse-engineering/references/tools.md +546 -0
- package/bundled-skills/supply-chain-security/SKILL.md +180 -0
- package/bundled-skills/supply-chain-security/references/cicd-pipeline-security.md +137 -0
- package/bundled-skills/supply-chain-security/references/sbom-sca-methodology.md +74 -0
- package/bundled-skills/thick-client/SKILL.md +104 -0
- package/bundled-skills/thick-client/references/thick-client-checklist.md +9 -0
- package/bundled-skills/threat-hunting/SKILL.md +94 -0
- package/bundled-skills/threat-hunting/references/hunting-loop.md +5 -0
- package/bundled-skills/threat-intelligence/SKILL.md +176 -0
- package/bundled-skills/threat-intelligence/references/x-public-intelligence.md +93 -0
- package/bundled-skills/tree-ring-memory/SKILL.md +29 -9
- package/bundled-skills/wifi-wireless/SKILL.md +80 -0
- package/bundled-skills/wifi-wireless/references/wireless-lab-rules.md +6 -0
- package/bundled-skills/windows-ad/SKILL.md +109 -0
- package/bundled-skills/windows-ad/references/ad-attack-paths.md +12 -0
- package/package.json +1 -1
- package/skills_index.json +1214 -2
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
# CTF Reverse - Hardware and Advanced Architecture Reversing
|
|
2
|
+
|
|
3
|
+
HD44780 LCD GPIO reconstruction, RISC-V advanced extensions and debugging, ARM64/AArch64 reversing and exploitation.
|
|
4
|
+
|
|
5
|
+
## Table of Contents
|
|
6
|
+
- [HD44780 LCD Controller GPIO Reconstruction (32C3 2015)](#hd44780-lcd-controller-gpio-reconstruction-32c3-2015)
|
|
7
|
+
- [RISC-V (Advanced)](#risc-v-advanced)
|
|
8
|
+
- [Custom Extensions](#custom-extensions)
|
|
9
|
+
- [Privileged Modes](#privileged-modes)
|
|
10
|
+
- [RISC-V Debugging](#risc-v-debugging)
|
|
11
|
+
- [ARM64/AArch64 Reversing and Exploitation](#arm64aarch64-reversing-and-exploitation)
|
|
12
|
+
- [MIPS64 Cavium OCTEON Coprocessor 2 Crypto (SEC-T CTF 2017)](#mips64-cavium-octeon-coprocessor-2-crypto-sec-t-ctf-2017)
|
|
13
|
+
- [EFM32 ARM Microcontroller MMIO AES (SEC-T CTF 2017)](#efm32-arm-microcontroller-mmio-aes-sec-t-ctf-2017)
|
|
14
|
+
- [MBR/Bootloader Reversing with QEMU + GDB (Square CTF 2017)](#mbrbootloader-reversing-with-qemu--gdb-square-ctf-2017)
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## HD44780 LCD Controller GPIO Reconstruction (32C3 2015)
|
|
19
|
+
|
|
20
|
+
Recover text displayed on an HD44780 LCD from raw Raspberry Pi GPIO recordings:
|
|
21
|
+
|
|
22
|
+
1. **Identify signal lines:** Map GPIO pins to HD44780 signals (RS, CLK, D4-D7 for 4-bit mode)
|
|
23
|
+
2. **Clock edge detection:** Sample data lines on falling clock edges (1->0 transition)
|
|
24
|
+
3. **Nibble assembly:** Combine two 4-bit samples into one 8-bit command/data byte
|
|
25
|
+
4. **DRAM address mapping:** HD44780 uses non-contiguous addressing for multi-line displays:
|
|
26
|
+
- Line 0: 0x00-0x27
|
|
27
|
+
- Line 1: 0x40-0x67
|
|
28
|
+
- Line 2: 0x14-0x3B
|
|
29
|
+
- Line 3: 0x54-0x7B
|
|
30
|
+
|
|
31
|
+
```python
|
|
32
|
+
display = [' '] * 80 # 4 lines x 20 chars
|
|
33
|
+
cursor = 0
|
|
34
|
+
|
|
35
|
+
for timestamp, gpio_state in sorted(gpio_log):
|
|
36
|
+
if falling_edge(gpio_state, CLK_PIN):
|
|
37
|
+
nibble = extract_data_bits(gpio_state)
|
|
38
|
+
byte = assemble_nibble(nibble) # Two nibbles per byte
|
|
39
|
+
if rs_high(gpio_state): # RS=1: data write
|
|
40
|
+
display[dram_to_position(cursor)] = chr(byte)
|
|
41
|
+
cursor += 1
|
|
42
|
+
else: # RS=0: command (set cursor, clear, etc.)
|
|
43
|
+
cursor = parse_command(byte)
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
**Key insight:** GPIO pin-to-signal mapping is rarely documented; identify CLK by finding the pin with most transitions, RS by correlation with data patterns (alternating command/data phases).
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## RISC-V (Advanced)
|
|
51
|
+
|
|
52
|
+
Beyond basic disassembly (see [tools.md](tools.md#risc-v-binary-analysis-ehax-2026)):
|
|
53
|
+
|
|
54
|
+
### Custom Extensions
|
|
55
|
+
|
|
56
|
+
```text
|
|
57
|
+
Bitmanip extensions (Zbb, Zbc, Zbs):
|
|
58
|
+
clz, ctz, cpop -> count leading/trailing zeros, popcount
|
|
59
|
+
orc.b, rev8 -> byte-level bit manipulation
|
|
60
|
+
andn, orn, xnor -> negated logic operations
|
|
61
|
+
clmul, clmulh, clmulr -> carry-less multiplication (crypto)
|
|
62
|
+
bset, bclr, binv, bext -> single-bit operations
|
|
63
|
+
|
|
64
|
+
Crypto extensions (Zk*):
|
|
65
|
+
aes32esi, aes32dsmi -> AES round operations
|
|
66
|
+
sha256sig0, sha512sum0 -> SHA hash acceleration
|
|
67
|
+
sm3p0, sm4ed -> Chinese crypto standards
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Privileged Modes
|
|
71
|
+
|
|
72
|
+
```text
|
|
73
|
+
Machine mode (M): Highest privilege, firmware/bootloader
|
|
74
|
+
Supervisor mode (S): OS kernel
|
|
75
|
+
User mode (U): Applications
|
|
76
|
+
|
|
77
|
+
CSR registers to watch:
|
|
78
|
+
mstatus/sstatus -> privilege level, interrupt enable
|
|
79
|
+
mtvec/stvec -> trap handler address
|
|
80
|
+
mepc/sepc -> exception return address
|
|
81
|
+
mcause/scause -> trap cause
|
|
82
|
+
satp -> page table root (virtual memory)
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### RISC-V Debugging
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
# OpenOCD + GDB for hardware debugging
|
|
89
|
+
openocd -f interface/jlink.cfg -f target/riscv.cfg
|
|
90
|
+
|
|
91
|
+
# GDB for RISC-V
|
|
92
|
+
riscv64-unknown-elf-gdb binary
|
|
93
|
+
(gdb) target remote :3333
|
|
94
|
+
|
|
95
|
+
# QEMU with GDB server
|
|
96
|
+
qemu-riscv64 -g 1234 -L /usr/riscv64-linux-gnu/ ./binary
|
|
97
|
+
riscv64-linux-gnu-gdb -ex 'target remote :1234' ./binary
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## ARM64/AArch64 Reversing and Exploitation
|
|
103
|
+
|
|
104
|
+
AArch64 (ARM 64-bit) appears in mobile apps, cloud servers (AWS Graviton), Apple Silicon, and CTF challenges. Key differences from x86-64 affect both reversing and exploitation.
|
|
105
|
+
|
|
106
|
+
**Setup and emulation:**
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
# Install cross-toolchain and emulator
|
|
110
|
+
apt install gcc-aarch64-linux-gnu gdb-multiarch qemu-user-static
|
|
111
|
+
|
|
112
|
+
# Run AArch64 binary on x86 host
|
|
113
|
+
qemu-aarch64-static -L /usr/aarch64-linux-gnu/ ./arm64_binary
|
|
114
|
+
|
|
115
|
+
# Debug with GDB
|
|
116
|
+
qemu-aarch64-static -g 12345 -L /usr/aarch64-linux-gnu/ ./arm64_binary &
|
|
117
|
+
gdb-multiarch -ex 'set arch aarch64' -ex 'target remote :1234' ./arm64_binary
|
|
118
|
+
|
|
119
|
+
# With library preloading (for challenges that ship libc)
|
|
120
|
+
qemu-aarch64-static -g 12345 -E LD_PRELOAD=./libc.so.6 -L ./lib ./arm64_binary
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
**AArch64 calling convention (key differences from x86-64):**
|
|
124
|
+
|
|
125
|
+
```text
|
|
126
|
+
Registers:
|
|
127
|
+
x0-x7 -- function arguments AND return values (x0 = first arg / return)
|
|
128
|
+
x8 -- indirect result location (struct returns)
|
|
129
|
+
x9-x15 -- caller-saved temporaries
|
|
130
|
+
x19-x28 -- callee-saved (preserved across calls)
|
|
131
|
+
x29 (fp) -- frame pointer
|
|
132
|
+
x30 (lr) -- link register (return address, NOT on stack by default)
|
|
133
|
+
sp -- stack pointer (must be 16-byte aligned)
|
|
134
|
+
xzr -- zero register (reads as 0, writes discarded)
|
|
135
|
+
|
|
136
|
+
Key exploitation differences:
|
|
137
|
+
- Return address in LR (x30), not on stack -- pushed only if function calls others
|
|
138
|
+
- No RIP-relative addressing like x86 -- uses ADRP+ADD pairs for PC-relative loads
|
|
139
|
+
- Fixed 4-byte instruction width -- no variable-length gadget tricks
|
|
140
|
+
- NOP = 0xD503201F (not 0x90)
|
|
141
|
+
- BLR x8 / BR x30 -- indirect calls/jumps use register operands
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
**Common AArch64 patterns in Ghidra/IDA:**
|
|
145
|
+
|
|
146
|
+
```text
|
|
147
|
+
# PC-relative address loading (equivalent to x86 LEA):
|
|
148
|
+
ADRP x0, #0x411000 ; Load page address (4KB aligned)
|
|
149
|
+
ADD x0, x0, #0x8 ; Add page offset -> x0 = 0x411008
|
|
150
|
+
|
|
151
|
+
# Function prologue:
|
|
152
|
+
STP x29, x30, [sp, #-0x30]! ; Push fp + lr, decrement sp
|
|
153
|
+
MOV x29, sp ; Set frame pointer
|
|
154
|
+
|
|
155
|
+
# Function epilogue:
|
|
156
|
+
LDP x29, x30, [sp], #0x30 ; Pop fp + lr, increment sp
|
|
157
|
+
RET ; Branch to x30 (lr)
|
|
158
|
+
|
|
159
|
+
# Switch/jump table:
|
|
160
|
+
ADR x1, jump_table
|
|
161
|
+
LDRB w2, [x1, x0] ; Load offset byte
|
|
162
|
+
ADD x1, x1, w2, SXTB ; Sign-extend and add
|
|
163
|
+
BR x1 ; Indirect branch
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
**ROP on AArch64:**
|
|
167
|
+
|
|
168
|
+
```python
|
|
169
|
+
from pwn import *
|
|
170
|
+
|
|
171
|
+
# AArch64 gadgets differ from x86:
|
|
172
|
+
# - "pop {x0}; ret" equivalent: LDP x0, x1, [sp], #0x10; RET
|
|
173
|
+
# - Prologue gadgets: LDP x29, x30, [sp, #0x20]; ... RET
|
|
174
|
+
# - system() call: x0 = pointer to "/bin/sh", BLR to system
|
|
175
|
+
|
|
176
|
+
context.arch = 'aarch64'
|
|
177
|
+
elf = ELF('./arm64_binary')
|
|
178
|
+
|
|
179
|
+
# Common gadget pattern in AArch64 libc:
|
|
180
|
+
# LDP X19, X20, [SP,#var_s10]
|
|
181
|
+
# LDP X29, X30, [SP+var_s0],#0x20
|
|
182
|
+
# RET
|
|
183
|
+
# Controls x19, x20, x29, x30 and advances sp by 0x20
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
**Key insight:** AArch64's fixed instruction width and register-based return address (`lr`/`x30`) make ROP gadgets more constrained than x86. Look for `LDP` (load pair) gadgets that pop multiple registers from the stack. The `STP`/`LDP` instruction pairs that save/restore callee-saved registers in function prologues/epilogues are the primary gadget source.
|
|
187
|
+
|
|
188
|
+
**When to recognize:** `file` shows "ELF 64-bit LSB ... ARM aarch64". Ghidra auto-detects but may need manual processor selection for raw binaries. Use `qemu-aarch64-static` for emulation on x86 hosts.
|
|
189
|
+
|
|
190
|
+
**Tools:** radare2 (`r2 -AA -a arm -b 64`), Ghidra (auto-detect), `aarch64-linux-gnu-objdump -d`, Unicorn Engine (`UC_ARCH_ARM64`)
|
|
191
|
+
|
|
192
|
+
**References:** Google CTF 2016 "Forced Puns", Insomni'hack 2018 "onecall"
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## MIPS64 Cavium OCTEON Coprocessor 2 Crypto (SEC-T CTF 2017)
|
|
197
|
+
|
|
198
|
+
Cavium OCTEON network processors implement hardware AES and SHA256 via MIPS Coprocessor 2 (CP2) using `dmtc2` (move to CP2) and `dmfc2` (move from CP2) instructions. These look like ordinary register moves to a disassembler but drive the hardware crypto engine.
|
|
199
|
+
|
|
200
|
+
**Key CP2 register layout (OCTEON):**
|
|
201
|
+
```text
|
|
202
|
+
AES key registers:
|
|
203
|
+
0x0104 – AES key quadword 0
|
|
204
|
+
0x0105 – AES key quadword 1
|
|
205
|
+
0x0106 – AES key quadword 2
|
|
206
|
+
0x0107 – AES key quadword 3
|
|
207
|
+
|
|
208
|
+
SHA256 hash registers:
|
|
209
|
+
0x400E–0x4012 – SHA256 intermediate hash words
|
|
210
|
+
0x404F – SHA256 control/result
|
|
211
|
+
|
|
212
|
+
dmtc2 rN, 0x0104 ; load 64 bits of AES key into CP2 register 0x104
|
|
213
|
+
dmtc2 rN, 0x0105 ; ...next quadword
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
**Approach:**
|
|
217
|
+
1. Disassemble in IDA/Ghidra — `dmtc2`/`dmfc2` with selector in 0x100-0x40FF range indicates OCTEON CP2
|
|
218
|
+
2. Cross-reference the Cavium OCTEON Hardware Reference Manual for register semantics
|
|
219
|
+
3. Trace the key loading sequence to recover the AES or HMAC key material
|
|
220
|
+
|
|
221
|
+
**Key insight:** Hardware crypto accelerators on MIPS appear as CP2 register writes (`dmtc2`/`dmfc2`). Identify the base register address and cross-reference vendor documentation.
|
|
222
|
+
|
|
223
|
+
**References:** SEC-T CTF 2017
|
|
224
|
+
|
|
225
|
+
---
|
|
226
|
+
|
|
227
|
+
## EFM32 ARM Microcontroller MMIO AES (SEC-T CTF 2017)
|
|
228
|
+
|
|
229
|
+
Silicon Labs EFM32 Cortex-M binary — a flat binary loaded at 0x1000 in Thumb mode.
|
|
230
|
+
|
|
231
|
+
**IDA setup:**
|
|
232
|
+
```text
|
|
233
|
+
Processor: ARM Little-endian (ARMv7-M)
|
|
234
|
+
Load address: 0x1000
|
|
235
|
+
Set T register = 1 (force Thumb mode decoding)
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
**AES accelerator MMIO layout (EFM32 AES peripheral at 0x400E0000):**
|
|
239
|
+
```text
|
|
240
|
+
0x400E0000 + 0x000 CTRL – enable, decrypt mode
|
|
241
|
+
0x400E0000 + 0x004 CMD – start/stop
|
|
242
|
+
0x400E0000 + 0x010 KEYLA – key low word 0
|
|
243
|
+
0x400E0000 + 0x014 KEYLB – key low word 1
|
|
244
|
+
0x400E0000 + 0x018 KEYLC – key low word 2
|
|
245
|
+
0x400E0000 + 0x01C KEYLD – key low word 3
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
The binary loads two separate values, XORs them together, then writes the result as the AES key. Decrypt the embedded ciphertext block with the composed key in ECB mode.
|
|
249
|
+
|
|
250
|
+
```python
|
|
251
|
+
from Crypto.Cipher import AES
|
|
252
|
+
|
|
253
|
+
key_part_a = bytes.fromhex("...") # extracted from IDA .data section
|
|
254
|
+
key_part_b = bytes.fromhex("...") # second value
|
|
255
|
+
key = bytes(a ^ b for a, b in zip(key_part_a, key_part_b))
|
|
256
|
+
|
|
257
|
+
cipher = AES.new(key, AES.MODE_ECB)
|
|
258
|
+
plaintext = cipher.decrypt(ciphertext)
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
**Key insight:** Hardware AES accelerators on microcontrollers appear as MMIO register writes at a specific base address — cross-reference the vendor reference manual (EFM32 Reference Manual for Silicon Labs peripherals).
|
|
262
|
+
|
|
263
|
+
**References:** SEC-T CTF 2017
|
|
264
|
+
|
|
265
|
+
---
|
|
266
|
+
|
|
267
|
+
## MBR/Bootloader Reversing with QEMU + GDB (Square CTF 2017)
|
|
268
|
+
|
|
269
|
+
Boot a floppy/disk image in QEMU with the GDB stub enabled, then attach GDB for full source-level debugging of 16-bit real mode or 32-bit protected mode bootloader code.
|
|
270
|
+
|
|
271
|
+
```bash
|
|
272
|
+
# Boot with GDB stub on port 1234; -S pauses execution at start
|
|
273
|
+
qemu-system-x86_64 -fda disk.img -s -S
|
|
274
|
+
|
|
275
|
+
# In another terminal, attach GDB
|
|
276
|
+
gdb -ex "set architecture i8086" \
|
|
277
|
+
-ex "target remote :1234" \
|
|
278
|
+
-ex "break *0x7c00" \
|
|
279
|
+
-ex "continue"
|
|
280
|
+
|
|
281
|
+
# Common MBR entry point is 0x7c00 (BIOS loads MBR here)
|
|
282
|
+
# Step through bootloader, inspect registers and memory:
|
|
283
|
+
(gdb) x/20i $pc
|
|
284
|
+
(gdb) info registers
|
|
285
|
+
(gdb) x/16xb 0x7c00
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
To bypass a password check: identify the conditional jump after the comparison and NOP it out in the image file, or patch the comparison to always succeed.
|
|
289
|
+
|
|
290
|
+
```bash
|
|
291
|
+
# Find the comparison offset in the image and patch it
|
|
292
|
+
python3 -c "
|
|
293
|
+
data = open('disk.img', 'rb').read()
|
|
294
|
+
# Replace JNZ (0x75) with JMP-short-always or NOP
|
|
295
|
+
data = data[:offset] + b'\x90\x90' + data[offset+2:]
|
|
296
|
+
open('disk_patched.img', 'wb').write(data)
|
|
297
|
+
"
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
**Key insight:** QEMU's `-s` flag exposes a GDB stub on port 1234 for full debugging of MBR/bootloader code — workflow identical to userland debugging.
|
|
301
|
+
|
|
302
|
+
**References:** Square CTF 2017
|
|
303
|
+
|
|
304
|
+
---
|