opencode-skills-collection 4.0.42 → 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 +49 -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/lore/SKILL.md +104 -298
- package/bundled-skills/lore/references/audit-template.md +21 -4
- package/bundled-skills/lore/references/compatibility.md +51 -121
- package/bundled-skills/lore/references/config.md +22 -23
- package/bundled-skills/lore/references/entry-format.md +33 -3
- package/bundled-skills/lore/references/history-command.md +98 -2
- package/bundled-skills/lore/references/platform-mirrors.md +45 -16
- package/bundled-skills/lore/references/stale-new-markers.md +10 -8
- package/bundled-skills/lore/references/summary-template.md +8 -1
- package/bundled-skills/lore/references/workflows.md +192 -0
- package/bundled-skills/lore/scripts/README.md +14 -13
- package/bundled-skills/lore/scripts/README.zh-CN.md +14 -13
- package/bundled-skills/lore/scripts/find_duplicates.py +14 -4
- package/bundled-skills/lore/scripts/find_stale.py +68 -16
- package/bundled-skills/lore/scripts/history.py +235 -23
- package/bundled-skills/lore/scripts/id_hash.py +7 -4
- package/bundled-skills/lore/scripts/list_entries.py +82 -13
- 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/poka-yoke/SKILL.md +172 -0
- package/bundled-skills/project-state-governor/SKILL.md +1 -1
- package/bundled-skills/project-state-governor/references/project-state-schema.md +1 -1
- 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/spec-driven-loop/SKILL.md +203 -0
- package/bundled-skills/spec-driven-loop/references/agent-and-judge-contracts.md +120 -0
- package/bundled-skills/spec-driven-loop/references/document-templates.md +184 -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 +1281 -3
- package/bundled-skills/lore/README.md +0 -386
- package/bundled-skills/lore/README.zh-CN.md +0 -386
- package/bundled-skills/lore/WORKFLOWS.md +0 -216
- package/bundled-skills/lore/WORKFLOWS.zh-CN.md +0 -216
|
@@ -19,13 +19,15 @@ entry with these fields:
|
|
|
19
19
|
text entry body, with tags stripped
|
|
20
20
|
tags dict of tag name -> value, e.g. {"added": "2026-07-09", "verified": "2026-07-15"}
|
|
21
21
|
last_verified value of #verified tag, or None
|
|
22
|
+
replaced_by value of #superseded-by tag (replacement entry ID), or None
|
|
22
23
|
|
|
23
24
|
Used by:
|
|
24
|
-
- query / audit / compress workflows (pre-step enumeration)
|
|
25
|
+
- query / audit / compress / history workflows (pre-step enumeration)
|
|
25
26
|
- find_duplicates.py
|
|
26
27
|
- find_stale.py
|
|
27
28
|
"""
|
|
28
29
|
import json
|
|
30
|
+
import os
|
|
29
31
|
import re
|
|
30
32
|
import sys
|
|
31
33
|
from pathlib import Path
|
|
@@ -91,10 +93,40 @@ def parse_entry(line: str):
|
|
|
91
93
|
layer, date, h, rest = m.group(1), m.group(2), m.group(3), m.group(4)
|
|
92
94
|
eid = f"{layer}-{date}-{h}"
|
|
93
95
|
|
|
94
|
-
# Extract #tag:value pairs
|
|
95
|
-
|
|
96
|
-
|
|
96
|
+
# Extract #tag:value pairs.
|
|
97
|
+
# #superseded-by:<id> is special: its value is an entry ID, not a date,
|
|
98
|
+
# so we keep it on a separate `replaced_by` field rather than in `tags`.
|
|
99
|
+
ENTRY_ID = r"[A-Z]+-\d{4}-\d{2}-\d{2}-[a-f0-9]{4}"
|
|
100
|
+
tag_re = re.compile(
|
|
101
|
+
r"#(added|verified|stale):(\S+)"
|
|
102
|
+
r"|#superseded-by:(" + ENTRY_ID + r")"
|
|
103
|
+
)
|
|
104
|
+
tags = {}
|
|
105
|
+
replaced_by = None
|
|
106
|
+
for m in tag_re.finditer(rest):
|
|
107
|
+
if m.group(1):
|
|
108
|
+
tags[m.group(1)] = m.group(2)
|
|
109
|
+
elif m.group(3):
|
|
110
|
+
if replaced_by is None:
|
|
111
|
+
replaced_by = m.group(3)
|
|
112
|
+
else:
|
|
113
|
+
print(
|
|
114
|
+
f"[WARN] entry {eid} carries multiple #superseded-by "
|
|
115
|
+
"tags; keeping the first only.",
|
|
116
|
+
file=sys.stderr,
|
|
117
|
+
)
|
|
97
118
|
text = tag_re.sub("", rest).strip()
|
|
119
|
+
# Any #superseded-by still present after the valid-tag strip is
|
|
120
|
+
# malformed (value is not LAYER-YYYY-MM-DD-xxxx). Warn instead of
|
|
121
|
+
# dropping it silently: the entry stays intact in the file, but the
|
|
122
|
+
# chain cannot be resolved and replaced_by stays None.
|
|
123
|
+
for m in re.finditer(r"#superseded-by:(\S+)", text):
|
|
124
|
+
print(
|
|
125
|
+
f"[WARN] entry {eid} has a malformed #superseded-by value "
|
|
126
|
+
f"'{m.group(1)}' (expected LAYER-YYYY-MM-DD-xxxx); chain not "
|
|
127
|
+
"resolved.",
|
|
128
|
+
file=sys.stderr,
|
|
129
|
+
)
|
|
98
130
|
|
|
99
131
|
return {
|
|
100
132
|
"id": eid,
|
|
@@ -105,6 +137,7 @@ def parse_entry(line: str):
|
|
|
105
137
|
"text": text,
|
|
106
138
|
"tags": tags,
|
|
107
139
|
"last_verified": tags.get("verified"),
|
|
140
|
+
"replaced_by": replaced_by,
|
|
108
141
|
}
|
|
109
142
|
|
|
110
143
|
|
|
@@ -123,14 +156,43 @@ def collect_entries(root: Path):
|
|
|
123
156
|
layer_file = md_file.stem
|
|
124
157
|
try:
|
|
125
158
|
with open(md_file, encoding="utf-8") as f:
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
159
|
+
lines = f.readlines()
|
|
160
|
+
if lines:
|
|
161
|
+
# Strip a UTF-8 BOM (Windows editors / PowerShell
|
|
162
|
+
# Set-Content add one); otherwise the first entry of
|
|
163
|
+
# the file would fail to parse and be silently skipped.
|
|
164
|
+
lines[0] = lines[0].lstrip("\ufeff")
|
|
165
|
+
i = 0
|
|
166
|
+
while i < len(lines):
|
|
167
|
+
# Join wrapped continuation lines into one logical
|
|
168
|
+
# bullet before parsing. A continuation is a non-blank
|
|
169
|
+
# line starting with 2+ spaces (or a tab) that is not
|
|
170
|
+
# itself a new entry bullet. This matches the documented
|
|
171
|
+
# "2 lines or fewer" bullet format without silently
|
|
172
|
+
# truncating the entry text.
|
|
173
|
+
joined = lines[i].rstrip("\n")
|
|
174
|
+
j = i + 1
|
|
175
|
+
while j < len(lines):
|
|
176
|
+
nxt = lines[j].rstrip("\n")
|
|
177
|
+
if nxt.strip() == "":
|
|
178
|
+
break
|
|
179
|
+
if not re.match(r"^\s{2,}", nxt):
|
|
180
|
+
break
|
|
181
|
+
if re.match(r"^\s*-\s*\[", nxt):
|
|
182
|
+
break
|
|
183
|
+
joined += " " + nxt.strip()
|
|
184
|
+
j += 1
|
|
185
|
+
e = parse_entry(joined)
|
|
186
|
+
if e is None:
|
|
187
|
+
i += 1
|
|
188
|
+
continue
|
|
189
|
+
e["scope"] = scope
|
|
190
|
+
e["layer_file"] = layer_file
|
|
191
|
+
e["file"] = str(md_file.relative_to(root)).replace(
|
|
192
|
+
os.sep, "/"
|
|
193
|
+
)
|
|
194
|
+
entries.append(e)
|
|
195
|
+
i = j
|
|
134
196
|
except OSError as exc:
|
|
135
197
|
print(f"warning: cannot read {md_file}: {exc}", file=sys.stderr)
|
|
136
198
|
return entries
|
|
@@ -138,6 +200,10 @@ def collect_entries(root: Path):
|
|
|
138
200
|
|
|
139
201
|
def main():
|
|
140
202
|
args = sys.argv[1:]
|
|
203
|
+
try:
|
|
204
|
+
sys.stdout.reconfigure(encoding="utf-8")
|
|
205
|
+
except AttributeError: # Python < 3.7
|
|
206
|
+
pass
|
|
141
207
|
|
|
142
208
|
scope_filter = None
|
|
143
209
|
layer_filter = None
|
|
@@ -176,7 +242,10 @@ def main():
|
|
|
176
242
|
f" [verified:{e['last_verified']}]" if e["last_verified"] else ""
|
|
177
243
|
)
|
|
178
244
|
stale = " [STALE]" if "stale" in e["tags"] else ""
|
|
179
|
-
|
|
245
|
+
chain = (
|
|
246
|
+
f" -> {e['replaced_by']}" if e.get("replaced_by") else ""
|
|
247
|
+
)
|
|
248
|
+
print(f"[{e['file']}] {e['id']} {e['text']}{verified}{stale}{chain}")
|
|
180
249
|
|
|
181
250
|
|
|
182
251
|
if __name__ == "__main__":
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: macos-reverse
|
|
3
|
+
description: "Authorized macOS and Mach-O reverse engineering: codesign inspection, Objective-C/Swift recovery, endpoint-security surfaces, and Apple-platform malware analysis."
|
|
4
|
+
risk: safe
|
|
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
|
+
# macOS / Mach-O Reverse Engineering
|
|
13
|
+
## When to Use
|
|
14
|
+
|
|
15
|
+
- Analyzing macOS binaries or suspected malware samples.
|
|
16
|
+
- Inspecting entitlements, signatures, and ObjC/Swift structures.
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
## 适用场景
|
|
20
|
+
|
|
21
|
+
- Mach-O 可执行文件 / dylib / framework
|
|
22
|
+
- .app bundle、LaunchAgent/Daemon
|
|
23
|
+
- Objective-C / Swift 符号与 runtime
|
|
24
|
+
- 公证/签名、Hardened Runtime、TCC 相关行为分析
|
|
25
|
+
- macOS 恶意软件静态/动态分析(联合 malware-analysis)
|
|
26
|
+
|
|
27
|
+
## 工作流
|
|
28
|
+
|
|
29
|
+
### 1. 包体与签名
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
file target
|
|
33
|
+
codesign -dv --verbose=4 target
|
|
34
|
+
spctl -a -vv target 2>&1
|
|
35
|
+
otool -L target
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### 2. 静态
|
|
39
|
+
|
|
40
|
+
```text
|
|
41
|
+
□ class-dump / swift-demangle / Hopper / Ghidra / IDA
|
|
42
|
+
□ 字符串与 XPC 服务名、TCC 敏感 API
|
|
43
|
+
□ LC_LOAD_dylib 依赖与 rpath
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### 3. 动态
|
|
47
|
+
|
|
48
|
+
```text
|
|
49
|
+
□ lldb / Frida
|
|
50
|
+
□ fs_usage / log stream 观察
|
|
51
|
+
□ 网络:联合 protocol-reverse 或代理
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## 工具链
|
|
55
|
+
|
|
56
|
+
| 工具 | 用途 |
|
|
57
|
+
|------|------|
|
|
58
|
+
| otool / nm / codesign | 系统自带 |
|
|
59
|
+
| Hopper / Ghidra / IDA | 反编译 |
|
|
60
|
+
| class-dump / dsdump | ObjC |
|
|
61
|
+
| Frida / lldb | 动态 |
|
|
62
|
+
| jtool2 | Mach-O |
|
|
63
|
+
|
|
64
|
+
## 参考
|
|
65
|
+
|
|
66
|
+
- `references/macho-triage.md`
|
|
67
|
+
- `../mobile-reverse/`(iOS) `../ghidra-reverse/` `../malware-analysis/`
|
|
68
|
+
|
|
69
|
+
## 路由上下文
|
|
70
|
+
|
|
71
|
+
**上游**: MASTER R31
|
|
72
|
+
**下游**: iOS → mobile-reverse;通用样本 → malware-analysis
|
|
73
|
+
|
|
74
|
+
## 任务完成自检
|
|
75
|
+
|
|
76
|
+
- [ ] 是否记录签名/Hardened Runtime 状态?
|
|
77
|
+
- [ ] 是否有地址级/符号级结论?
|
|
78
|
+
- [ ] Checklist?
|
|
79
|
+
|
|
80
|
+
## Limitations
|
|
81
|
+
|
|
82
|
+
- Apple Silicon and hardened runtime add unpacking complexity.
|
|
83
|
+
- Some analysis requires disabling SIP in a dedicated lab VM.
|
|
84
|
+
|
|
85
|
+
> Adapted from [zhaoxuya520/reverse-skill](https://github.com/zhaoxuya520/reverse-skill) (MIT).
|
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: malware-analysis
|
|
3
|
+
description: "Analyze suspected malware through static, dynamic, and behavioral techniques: IOC extraction, YARA/Sigma rule authoring, sandbox orchestration, and anti-analysis detection."
|
|
4
|
+
risk: safe
|
|
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
|
+
# Malware Analysis
|
|
13
|
+
## When to Use
|
|
14
|
+
|
|
15
|
+
- Triaging a suspicious sample in a controlled environment.
|
|
16
|
+
- Producing detections (YARA/Sigma) from observed behavior.
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
## 适用场景
|
|
20
|
+
|
|
21
|
+
- 恶意软件样本分析(PE/ELF/Mach-O/APK/脚本)
|
|
22
|
+
- YARA 规则编写与验证
|
|
23
|
+
- Sigma 行为检测规则生成
|
|
24
|
+
- 沙箱自动化分析编排
|
|
25
|
+
- IOC 提取与威胁情报
|
|
26
|
+
- 反分析技术检测与绕过
|
|
27
|
+
|
|
28
|
+
## 六阶段分析流程
|
|
29
|
+
|
|
30
|
+
### Phase 1: 初步分诊
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
# 快速静态检测
|
|
34
|
+
file sample.exe # 文件类型
|
|
35
|
+
strings sample.exe | grep -i "http\|cmd\|powershell\|base64" # 快速 IOCs
|
|
36
|
+
rabin2 -zz sample.exe # 字符串提取 + 交叉引用
|
|
37
|
+
floss sample.exe # 去混淆字符串提取(FireEye)
|
|
38
|
+
|
|
39
|
+
# PE 头部分析
|
|
40
|
+
pecheck sample.exe # PE 结构验证
|
|
41
|
+
pescan sample.exe # 异常检测(节表、入口点)
|
|
42
|
+
diec sample.exe # Detect It Easy(壳/编译器识别)
|
|
43
|
+
|
|
44
|
+
# Hash 查询
|
|
45
|
+
sha256sum sample.exe
|
|
46
|
+
# → VirusTotal / MalwareBazaar / Triage 查询
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
```text
|
|
50
|
+
Triage MUST 清单(Issue #65):
|
|
51
|
+
□ 文件类型:EXE / DLL / SYS / .NET / 脚本(bat|ps1|vba) / 其他
|
|
52
|
+
□ 架构 x86/x64/ARM;查壳(DIE 等)与编译语言线索
|
|
53
|
+
□ DLL/SYS:导入表与导出表并列检查(见 Phase 2 硬门)
|
|
54
|
+
□ .NET:无传统 IAT → 走 dnSpy/IL/元数据等价锚点(见 Phase 2)
|
|
55
|
+
□ 脚本/宏/DLL 专项 P0:见 nonpe-format-cookbook U–AV(E-batch-deobf / E-ps-decode / E-vba-pcode / E-dll-*)
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Phase 1b: 脱壳与 IAT 处理(有壳时 · Issue #65)
|
|
59
|
+
|
|
60
|
+
```text
|
|
61
|
+
□ 无壳 / .NET → 跳到 Phase 2
|
|
62
|
+
□ 有壳:尝试脱壳(授权隔离环境)→ 尝试修复 IAT
|
|
63
|
+
- x86:ImportREC(或等价);x64:Scylla(或等价)。禁止 64 位死磕 ImportREC
|
|
64
|
+
□ 【IAT 修复铁律】优先自动/半自动修复;若工具报错或修复后无法运行:
|
|
65
|
+
- 立即终止继续静态 IAT 修复
|
|
66
|
+
- MUST 记录 E-iat-repair-fail(命令、工具、现象)
|
|
67
|
+
- 转入 Phase 3 动态:API 断点(如 bp CreateFile)/ 硬件断点 / 内存搜索抓取导入
|
|
68
|
+
- 这不算跳过导入表:路径已尝试并记 Evidence
|
|
69
|
+
□ 【补丁 6】脱壳+修 IAT 后闪退/蓝屏(疑 CRC/大小自校验):
|
|
70
|
+
- 放弃继续静态修文件;记 E-self-check-crash 或并入 E-iat-repair-fail
|
|
71
|
+
- 转 Phase 3:对 CreateFile / GetFileSize / 哈希相关 API 下断
|
|
72
|
+
□ 用户指令可行性(§0.5):加壳时用户抢跑「先别脱壳先看导入表」→ 说明阻塞 + 请确认;强制则记 quality=unreadable/packed,禁止冒充完成有意义 IAT
|
|
73
|
+
□ 用户要求重做「IAT 修复 / 导入表检查」:MUST 重做被点名步骤(或经确认的前提协商结果),禁止换无关步骤冒充
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Phase 2: 静态分析
|
|
77
|
+
|
|
78
|
+
```text
|
|
79
|
+
反汇编/反编译:
|
|
80
|
+
□ IDA Pro / Ghidra: 深度反编译
|
|
81
|
+
□ radare2: CLI 快速分析
|
|
82
|
+
□ x64dbg: Windows GUI 调试器
|
|
83
|
+
|
|
84
|
+
重点分析区域:
|
|
85
|
+
□ 入口点(Entry Point)→ 初始化逻辑
|
|
86
|
+
□ 导入表 → API 用途推断(CreateRemoteThread=注入, CryptEncrypt=勒索)
|
|
87
|
+
**MUST(硬门)**:执行 rabin2 -i / IDA imports / pecheck 等价命令,将导入表分类摘要写入 Evidence(E-imports)后才能进入 Phase 3(除非已记 E-iat-repair-fail 并走动态旁路,见 Phase 1b)
|
|
88
|
+
分类至少覆盖:网络 / 文件 / 加密 / 进程注入 / 注册表 / 其他可疑 API
|
|
89
|
+
解析失败或表为空:仍 MUST 记录失败输出,禁止静默跳过
|
|
90
|
+
**DLL/SYS**:MUST 并列记录导出表 Evidence(E-exports,`rabin2 -E` 或等价)
|
|
91
|
+
**.NET**:无传统 IAT 时 MUST 用 dnSpy/IL/元数据/程序集引用与敏感 API 摘要作为等价锚点,写入 E-imports / E-triage-imports 语义槽
|
|
92
|
+
**干净导入表**:仅基础 DLL、几乎无业务 API → MUST 注明动态加载嫌疑(LoadLibrary/GetProcAddress),SHOULD 转入 Phase 3 抓内存 API;若见哈希解析特征 → E-api-hash(补丁 N)
|
|
93
|
+
**宽字符串(T)**:ASCII strings 无 IOC 时 MUST 再试 UTF-16(strings -el / IDA unicode)
|
|
94
|
+
**签名(F)**:有签名仍 MUST SigCheck;伪造/吊销不降威胁等级
|
|
95
|
+
用户要求「重做导入表检查」:MUST 重做本项(阻塞时先走可行性门闩协商),禁止改换其他步骤冒充完成
|
|
96
|
+
**高危 API 组合(补丁 8)**:表过长时优先输出恶意组合簇(如 FindWindow+WriteProcessMemory+CreateRemoteThread),过滤纯系统基础调用噪声
|
|
97
|
+
□ 资源段 → 嵌入 Payload(.rsrc 节)
|
|
98
|
+
□ 字符串表 → URL/C2/文件路径/Base64 blob
|
|
99
|
+
□ TLS 回调 → 调试器启动前执行
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Phase 3: 沙箱动态分析
|
|
103
|
+
|
|
104
|
+
```text
|
|
105
|
+
自动化沙箱:
|
|
106
|
+
□ Joe Sandbox / ANY.RUN / Triage: 商业沙箱
|
|
107
|
+
□ CAPE Sandbox: 开源 + YARA 集成(推荐)
|
|
108
|
+
□ ASD Azul: 开源恶意软件分析平台(2026 新发布)
|
|
109
|
+
□ Cuckoo Sandbox: 经典开源(逐步被 CAPE 取代)
|
|
110
|
+
|
|
111
|
+
调试起手式(补丁 7+10 · MUST 顺序,用户态调试器):
|
|
112
|
+
□ ① TLS 回调断点 → ② 入口点 EP 断点 → ③ 敏感 API 断点 → ④ ExitProcess/退出路径保底断点
|
|
113
|
+
□ ExitProcess 触发时:不急着重启;立即 dump memory,路径写入 Evidence(补丁 10)
|
|
114
|
+
|
|
115
|
+
监控重点:
|
|
116
|
+
□ 进程创建: CreateProcess / ShellExecute
|
|
117
|
+
□ 文件操作: WriteFile → 勒索? DeleteFile → Wiper?
|
|
118
|
+
□ 注册表: Run/RunOnce 持久化
|
|
119
|
+
□ 网络: HTTP/DNS → C2 通信
|
|
120
|
+
□ 内存: VirtualAllocEx → 进程注入
|
|
121
|
+
□ 服务: CreateService → 持久化
|
|
122
|
+
□ IAT 修复失败 / 自校验闪退样本:敏感 API + CreateFile/GetFileSize 断点 / 硬件执行断点 / 内存搜索
|
|
123
|
+
|
|
124
|
+
无行为应急分支(MUST):
|
|
125
|
+
□ 沙箱无行为、秒退或无限休眠 → 检查反调试/反虚拟机(CPUID、计时、环境特征)
|
|
126
|
+
□ 尝试硬件断点绕过、补丁检测点、或换物理机/更高保真环境
|
|
127
|
+
□ 将「无行为 + 条件」写入 Evidence;禁止无条件写成「样本无害」
|
|
128
|
+
|
|
129
|
+
时间盒(补丁 9 · SHOULD 默认,可覆盖):
|
|
130
|
+
□ 静态深挖约 15 分钟无关键路径 → 强制转入本 Phase 动态
|
|
131
|
+
□ 动态单步约 200 条指令无恶意线索 → 强制回静态字符串/交叉引用重锚
|
|
132
|
+
|
|
133
|
+
反调试/混淆旁路(Issue #65 A–T · 详见 reverse-engineering/anti-analysis.md 菜谱):
|
|
134
|
+
□ P0:CPUID / RDTSC / PEB / NtQueryInformationProcess → 记录检测点后 lab 绕过或换环境(E-anti-debug-*)
|
|
135
|
+
□ P0:干净 IAT → API 哈希动态解析(bp GetProcAddress,E-api-hash)
|
|
136
|
+
□ P0:strings 空 → 串解密例程 + 宽字符串 UTF-16(E-string-decrypt / E-wide-strings)
|
|
137
|
+
□ P0:可疑签名 → SigCheck;无效/吊销不降威胁(E-sig-forge)
|
|
138
|
+
□ P1:进程名扫描 / VEH / int3·DR / 重叠节 / Overlay / .rsrc / Delay-Load
|
|
139
|
+
□ H/S 平坦化与不透明谓词 → ollvm-deobfuscation.md(不在此复制长文)
|
|
140
|
+
□ 绕过失败也写 Evidence;禁止反调试退出 = 样本无害
|
|
141
|
+
|
|
142
|
+
非 PE / 脚本 / DLL 补洞(Issue #65 U–AV · 详见 reverse-engineering/references/nonpe-format-cookbook.md):
|
|
143
|
+
□ bat/cmd:SET 拼接还原(U)→ E-batch-deobf;UTF-16 BOM(V);REM/GOTO 淹没(W)
|
|
144
|
+
□ PowerShell:多层 Base64/Gzip(X)逐层 Evidence;IEX 拼接/反转(Z) # security-allowlist: SEC005
|
|
145
|
+
□ VBA:Stomping/P-Code(AA);Chr/Base64(AB);自修改宏(AC)
|
|
146
|
+
□ DLL:TLS+DllMain(AJ);导出异常/无导出(AK/AL);Delay-Load 见 A–T R(AM);侧加载/反射(AO/AP)
|
|
147
|
+
□ JS/APK/驱动:路由 js-reverse / apk-reverse / kernel-driver-reverse + cookbook,不在此复制长文
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### Phase 4: YARA 规则编写
|
|
151
|
+
|
|
152
|
+
```yara
|
|
153
|
+
// 规则结构
|
|
154
|
+
rule MalwareFamily_Example {
|
|
155
|
+
meta:
|
|
156
|
+
description = "检测 Example 恶意软件家族"
|
|
157
|
+
author = "分析者"
|
|
158
|
+
date = "2026-05"
|
|
159
|
+
severity = "high"
|
|
160
|
+
hash = "d41d8cd98f00b204e9800998ecf8427e"
|
|
161
|
+
mitre_id = "T1055" // Process Injection
|
|
162
|
+
|
|
163
|
+
strings:
|
|
164
|
+
// 字符串匹配
|
|
165
|
+
$str1 = "C2_SERVER_URL" ascii wide
|
|
166
|
+
$str2 = "payload.dat" ascii
|
|
167
|
+
|
|
168
|
+
// 十六进制匹配
|
|
169
|
+
$hex1 = { 8B 45 ?? 50 FF 15 [4] 85 C0 }
|
|
170
|
+
// 操作码序列: mov eax, [ebp-?]; push eax; call [import]; test eax, eax
|
|
171
|
+
|
|
172
|
+
// 正则匹配
|
|
173
|
+
$re1 = /https?:\/\/[a-z0-9.-]+\/[a-z]{3,8}\.php/ ascii
|
|
174
|
+
|
|
175
|
+
condition:
|
|
176
|
+
// 组合条件
|
|
177
|
+
uint16(0) == 0x5A4D and // MZ 头
|
|
178
|
+
filesize < 500KB and
|
|
179
|
+
(2 of ($str*) or $hex1)
|
|
180
|
+
}
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### Phase 5: Sigma 规则生成
|
|
184
|
+
|
|
185
|
+
```yaml
|
|
186
|
+
# 行为检测规则
|
|
187
|
+
title: Suspicious Process Injection via CreateRemoteThread
|
|
188
|
+
id: 5a3d2c1b-1234-5678-9abc-def012345678
|
|
189
|
+
status: experimental
|
|
190
|
+
description: 检测使用 CreateRemoteThread 的进程注入行为
|
|
191
|
+
author: 分析者
|
|
192
|
+
date: 2026/05/25
|
|
193
|
+
tags:
|
|
194
|
+
- attack.t1055 # Process Injection
|
|
195
|
+
- attack.t1055.001 # DLL Injection
|
|
196
|
+
logsource:
|
|
197
|
+
category: process_creation
|
|
198
|
+
product: windows
|
|
199
|
+
detection:
|
|
200
|
+
selection:
|
|
201
|
+
Image|endswith: '\powershell.exe'
|
|
202
|
+
CommandLine|contains:
|
|
203
|
+
- 'CreateRemoteThread'
|
|
204
|
+
- 'VirtualAllocEx'
|
|
205
|
+
- 'WriteProcessMemory'
|
|
206
|
+
condition: selection
|
|
207
|
+
falsepositives:
|
|
208
|
+
- 合法的调试工具
|
|
209
|
+
level: high
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### Phase 6: IOC 提取与情报
|
|
213
|
+
|
|
214
|
+
```text
|
|
215
|
+
IOC 类型分类:
|
|
216
|
+
□ 网络 IOC:
|
|
217
|
+
- IP: C2 地址(注意时效性)
|
|
218
|
+
- Domain: DGA 算法生成的域名(rsnkfda.com, xpqmje.net)
|
|
219
|
+
- URL: Payload 托管地址
|
|
220
|
+
- User-Agent: 自定义 UA 字符串
|
|
221
|
+
|
|
222
|
+
□ 主机 IOC:
|
|
223
|
+
- 文件路径: %APPDATA%\Microsoft\Crypto\RSA\*.dat
|
|
224
|
+
- 注册表: HKCU\Software\Microsoft\Windows\CurrentVersion\Run\
|
|
225
|
+
- Mutex: Global\{GUID} 互斥体名称
|
|
226
|
+
- 服务名: 伪装成系统服务的名称
|
|
227
|
+
|
|
228
|
+
□ 行为 IOC:
|
|
229
|
+
- MITRE ATT&CK 技术 ID (T1055, T1003, T1571...)
|
|
230
|
+
- Sigma 规则 → SIEM 集成
|
|
231
|
+
- YARA 规则 → 端点检测
|
|
232
|
+
|
|
233
|
+
□ 静态 IOC:
|
|
234
|
+
- 编译时间戳(可伪造)
|
|
235
|
+
- PDB 路径(含开发者信息)
|
|
236
|
+
- 节名异常(非标准 .text/.data)
|
|
237
|
+
- 导入表异常组合(如勒索软件 CryptEncrypt + DeleteShadowCopies)
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
## 反分析技术速查
|
|
241
|
+
|
|
242
|
+
| 技术 | 检测方法 | YARA 特征 |
|
|
243
|
+
|------|---------|----------|
|
|
244
|
+
| 虚拟机检测 | WMI Win32_BIOS/VideoController/Processor | `Win32_` 字符串 + 特定厂商名 |
|
|
245
|
+
| 沙箱检测 | 磁盘 < 60GB, RAM < 2GB, 单核 CPU | GlobalMemoryStatusEx 调用模式 |
|
|
246
|
+
| 调试器检测 | IsDebuggerPresent, CheckRemoteDebuggerPresent | PEB.BeingDebugged 偏移访问 |
|
|
247
|
+
| 定时逃逸 | Sleep(300000) 后执行恶意行为 | NtDelayExecution 长参数 |
|
|
248
|
+
| 地理位置检测 | 检查键盘布局/时区 → 排除 CIS 国家 | GetKeyboardLayoutList 调用 |
|
|
249
|
+
| 父进程检测 | explorer.exe vs cmd.exe | 进程名字符串比较 |
|
|
250
|
+
| API 直接 syscall | 绕过 EDR hook | syscall 指令 + SSN 解析 |
|
|
251
|
+
|
|
252
|
+
## 多 Agent 自动化分析 (SentinelHive 架构)
|
|
253
|
+
|
|
254
|
+
```text
|
|
255
|
+
┌─────────────────────────────────────────────────┐
|
|
256
|
+
│ Hive Director │
|
|
257
|
+
│ (Claude Opus 编排 + 仲裁) │
|
|
258
|
+
└──────┬──────┬──────┬──────┬──────┬───────┘
|
|
259
|
+
│ │ │ │ │
|
|
260
|
+
┌───┘ ┌───┘ ┌───┘ ┌───┘ ┌───┘
|
|
261
|
+
▼ ▼ ▼ ▼ ▼ ▼
|
|
262
|
+
Triage RE Behav Intel Detect Remed
|
|
263
|
+
快速 反编译 行为 威胁 规则 修复
|
|
264
|
+
分诊 静态 动态 情报 YARA 方案
|
|
265
|
+
Sigma
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
## 工具链
|
|
269
|
+
|
|
270
|
+
| 工具 | 用途 | 获取 |
|
|
271
|
+
|------|------|------|
|
|
272
|
+
| Ghidra / IDA Pro | 深度反编译 | ghidra-sre.org |
|
|
273
|
+
| CAPE Sandbox | 开源恶意软件沙箱 | GitHub: kevoreilly/CAPEv2 |
|
|
274
|
+
| ASD Azul | 大规模自动化分析 | GitHub: ASD |
|
|
275
|
+
| YARA | 模式匹配规则引擎 | `pip install yara-python` |
|
|
276
|
+
| Sigma | SIEM 行为检测规则 | GitHub: SigmaHQ/sigma |
|
|
277
|
+
| FLOSS | 去混淆字符串提取 | `pip install flare-floss` |
|
|
278
|
+
| Detect It Easy | 壳/编译器检测 | GitHub: horsicq/Detect-It-Easy |
|
|
279
|
+
| pe-sieve | 进程内存扫描 | GitHub: hasherezade/pe-sieve |
|
|
280
|
+
| VirusTotal API | 多引擎扫描 | virustotal.com |
|
|
281
|
+
| MalwareBazaar | 恶意软件样本库 | bazaar.abuse.ch |
|
|
282
|
+
|
|
283
|
+
## 参考
|
|
284
|
+
|
|
285
|
+
- `references/yara-sigma-rules.md` — YARA + Sigma 编写方法论
|
|
286
|
+
- `references/sandbox-orchestration.md` — 沙箱编排与自动化
|
|
287
|
+
- `references/anti-analysis-techniques.md` — 94 种反分析技术检测
|
|
288
|
+
- `../reverse-engineering/references/re-agent-workflow.md` — IAT 铁律与六阶段门闩(Issue #65)
|
|
289
|
+
- `../reverse-engineering/anti-analysis.md` — Agent 响应菜谱 A–T(反调试/混淆旁路)
|
|
290
|
+
- `../reverse-engineering/references/nonpe-format-cookbook.md` — 非 PE/多格式菜谱 U–AV(脚本/宏/JS/驱动/DLL/Android)
|
|
291
|
+
- `../reverse-engineering/references/ollvm-deobfuscation.md` — 平坦化/不透明谓词(H/S)
|
|
292
|
+
|
|
293
|
+
## 任务完成自检(声称完成前 MUST 通过)
|
|
294
|
+
|
|
295
|
+
- [ ] 我是否执行了工作流中的每一步(而不是只阅读)?
|
|
296
|
+
- [ ] 导入表 MUST 检查是否已执行并写入 Evidence(E-imports 或 .NET 等价锚点)?DLL/SYS 是否含 E-exports?
|
|
297
|
+
- [ ] 若 IAT 修复失败或自校验闪退:是否记录 E-iat-repair-fail / E-self-check-crash 并转入动态?
|
|
298
|
+
- [ ] 重做请求是否回到被点名步骤或经确认的前提协商?阻塞时是否说明+请确认而非偷换步骤?
|
|
299
|
+
- [ ] 动态是否按 TLS→EP→敏感 API→ExitProcess 保底顺序预置断点?时间盒/高危 API 组合是否按旁路处理?
|
|
300
|
+
- [ ] 反调试/混淆(A–T)是否按 anti-analysis 菜谱记录 Evidence?签名无效是否未错误降级威胁?
|
|
301
|
+
- [ ] 脚本/宏/DLL 等非 PE 类型是否按 U–AV cookbook 记录对应 Evidence(如 E-batch-deobf / E-ps-decode / E-vba-pcode / E-dll-*)?
|
|
302
|
+
- [ ] 我是否基于 `tool-index` 使用了真实工具路径?
|
|
303
|
+
- [ ] 我是否产出了可复现证据(命令/脚本/截图/报告)?
|
|
304
|
+
- [ ] 我是否完成并回写了 RULES 要求的 Checklist 项?
|
|
305
|
+
|
|
306
|
+
## Limitations
|
|
307
|
+
|
|
308
|
+
- Never detonate live samples outside isolated, disposable VMs.
|
|
309
|
+
- Anti-VM techniques can stall or mislead automated sandboxes.
|
|
310
|
+
|
|
311
|
+
> Adapted from [zhaoxuya520/reverse-skill](https://github.com/zhaoxuya520/reverse-skill) (MIT).
|