Commit Graph
46 Commits
Author SHA1 Message Date
Atirna 0bcde46f50 fix(bootstrap): stub nohup so Linux CI records pnpm dev
The anything-analyzer start path backgrounds `nohup pnpm dev`. On Ubuntu CI
that never invoked the pnpm stub, so the source-pin regression missed the
argv. Intercept nohup like sudo, and fall back to a plain background when
nohup is absent.
2026-08-13 19:23:29 +05:30
Atirna 5e818abbbd fix(bootstrap): stub Linux apt in the PATH-stripped parser test
After Kali detection stopped using grep, Ubuntu CI reached python install
and called apt-get, which the macOS-oriented fixture never stubbed. Detect
Kali with builtins only, and accept brew or apt-get as the python sink.
2026-08-13 19:20:22 +05:30
Atirna fb311078f9 fix(bootstrap): run under a grep-free PATH
is_kali called grep on every Linux run, so the PATH-stripped parser-bootstrap
regression aborted before the pin gate. Detect Kali from os-release with tr,
and write Unix stubs as LF/UTF-8 so Linux pwsh can execute them.
2026-08-13 19:16:16 +05:30
Atirna 87e00b80db fix(bootstrap): fail closed before manifest installs 2026-08-13 03:22:32 +05:30
Atirna 1d929bf5db fix(bootstrap): harden pinned checkout promotion 2026-08-13 03:00:49 +05:30
Atirna e8faca63ed fix(bootstrap): enforce manifest-pinned sources 2026-08-13 02:30:36 +05:30
ZhaoXu b5ea7fb183 Merge pull request #75 from zhaoxuya520/fix/issue-65-nonpe-cookbook-u-av
feat(workflow): non-PE multi-format cookbook U-AV (#65)
2026-08-13 00:06:45 +08:00
yhc 241fa77be0 feat(workflow): non-PE multi-format cookbook U-AV (#65)
Add nonpe-format-cookbook for BAT/PS/VBA/JS/SYS/DLL/Android recipes.
Wire re-agent-workflow §3.4, malware/js/apk/kernel skills, verify asserts.
Dedup DLL Delay-Load with A-T R; detection-only for wiper/BYOVD/reflective.
2026-08-12 21:09:04 +08:00
ZhaoXu 0816b12435 Merge pull request #74 from zhaoxuya520/fix/issue-65-patches-a-t-cookbook
feat(workflow): anti-debug/obfuscation cookbook A-T (#65)
2026-08-12 19:39:17 +08:00
yhc 31708a99ae feat(workflow): anti-debug/obfuscation cookbook A-T (#65) 2026-08-12 18:52:29 +08:00
Edison 0182b10004 Merge pull request #73 from zhaoxuya520/fix/issue-65-feasibility-gate-patches-6-10
fix(workflow): feasibility gate + patches 6–10 (#65)
2026-08-12 15:11:27 +08:00
yhc 831ab83083 fix(workflow): feasibility gate + side-path patches 6-10 (#65)
- User-command feasibility gate: obey goals not blind step order;
  blocked steps require explain + confirm; forced steps mark quality
- Redo-X clarified: named step or confirmed prerequisite path;
  unpack is prerequisite not substitute for import Evidence
- Patch 6: post-unpack self-check crash -> dynamic CreateFile/GetFileSize
- Patch 7+10: TLS -> EP -> sensitive API -> ExitProcess dump baseline
- Patch 8: high-risk API cluster hints when import table is huge
- Patch 9: SHOULD time-boxes (15min static / ~200 steps dynamic), overridable
- Wire RULES (en/zh), agent-obedience, malware, r2/ida; extend verify asserts
2026-08-12 15:06:38 +08:00
yhc 899fedd36f Merge PR #72: IAT repair iron rule + six-phase map + vuln thin overlay (#65)
- IAT fail-fast to dynamic API breakpoints (E-iat-repair-fail)
- .NET/DLL-SYS equivalent anchors; clean-IAT and anti-VM side paths
- thin vuln report overlay (not a 3rd default full flavor)
- CI: nested smoke uses same host + UTF-8 BOM for PS5.1 safety
2026-08-12 12:34:16 +08:00
yhc 172e03ada0 fix(ci): run nested smoke scripts on same host + UTF-8 BOM
Windows CI failed because smoke.ps1 nested bare 'powershell' (often 5.1)
to run verify-routing-coherence.ps1. PS5.1 mis-parsed UTF-8 Chinese source
without BOM, so nested verify exited 1 while the standalone pwsh verify step passed.

- Resolve SmokeHostExe from current process (pwsh on GHA windows-latest)
- Rewrite nested invocations to use $SmokeHostExe
- Write UTF-8 BOM on smoke.ps1 and verify-routing-coherence.ps1 for PS5.1 safety
2026-08-12 12:09:38 +08:00
yhc 5d73e05e89 fix(workflow): IAT repair iron rule + vuln thin overlay (issue #65)
- Map reporter six-phase malware RE flow into re-agent-workflow with
  IAT repair fail-fast (E-iat-repair-fail -> dynamic API breakpoints)
- Equivalent import anchors for .NET; E-exports for DLL/SYS; clean IAT
  and sandbox no-behavior side paths
- Wire radare2/ida/malware hard gates + RULES/obedience rebuttals
- Add optional thin vuln report overlay (not a 3rd default full flavor)
- Extend verify-routing-coherence assertions; smoke+verify x3 pass
2026-08-12 11:57:38 +08:00
yhc 9c9f22da2b Merge PR #71: clarify report flavor routing and evidence traceability 2026-08-11 22:08:32 +08:00
yhc e0080b200e Merge PR #70: macOS system Bash compatibility CI 2026-08-11 22:08:32 +08:00
yhc a47a1f2b74 Merge PR #69: run full routing benchmark through Bash router 2026-08-11 22:08:32 +08:00
deku 9cc4080924 fix(docs): restore evidence and vendor source traceability 2026-08-11 21:09:49 +08:00
jhuang-tw 80209ab1d6 ci: exercise shell workflows on macOS system Bash 2026-08-11 06:08:08 -07:00
deku 5d9d05a5e7 fix(docs): align JS signature report flavor routing 2026-08-11 21:07:11 +08:00
deku ab25b8e3e8 fix(docs): preserve evidence before malware remediation 2026-08-11 21:06:20 +08:00
deku bbd9d8e171 fix(docs): keep generic reverse reports flavor-neutral 2026-08-11 21:03:49 +08:00
jhuang-tw 30cb8452dd test(routing): run full benchmark through Bash router 2026-08-11 05:57:19 -07:00
yhc cf9a698cb0 Merge PR #68: vendor report rules Kaspersky APT + Huorong malware (#65) 2026-08-11 20:14:08 +08:00
yhc 0659599901 feat(docs): vendor report rules from Kaspersky APT + Huorong malware (#65)
- Add vendor-report-rules.md: 2 flavors only (apt/malware), structure-only
- Wire docs-generator SKILL + security-report-templates overlay and IOC gates
- Default malware (Huorong-style); apt uses Securelist-style infection chain
2026-08-11 20:13:49 +08:00
yhc c6263c50f0 Merge PR #67: hard-gate import table check and redo-same-step (#65) 2026-08-11 19:30:46 +08:00
yhc 00f62eec49 fix(workflow): hard-gate import table check and redo-same-step (issue #65)
- radare2/ida-reverse/malware-analysis: MUST record imports as Evidence before next phase
- re-agent-workflow: triage gate blocks Dynamic without imports summary
- RULES (+zh) and agent-obedience: redo named step X, no substitute
2026-08-11 19:30:33 +08:00
yhc 4968e6c3cd Merge PR #66: fix(evidence) preserve immutable Evidence records 2026-08-11 19:26:41 +08:00
jhuang-tw a89ec4bfbe fix(evidence): preserve immutable Evidence records 2026-08-11 00:37:21 -07:00
ZhaoXu 50187aa6c8 Merge pull request #64 from atirna/agent/reverse-skill-macos-case-init
fix(case): 兼容 macOS Bash 3.2 的网络配置归一化
2026-08-11 08:06:53 +08:00
Atirna b478d3dc22 fix(case): support network profiles on Bash 3.2
Assisted-by: Codex
2026-08-11 03:51:53 +05:30
yhc cf745b83e3 docs: normalize CHANGELOG 1.0.1 section to Keep a Changelog order (P2-6)
- Merge duplicated Added/Fixed/Security sections and sort per the
  Keep a Changelog convention: Added > Removed > Fixed > Security
- Pure reorder: all 39 entries preserved, verified before/after
- VERSION 1.0.1 still matches the newest release heading
2026-08-10 20:50:26 +08:00
yhc 8d4bd8d546 docs: align field-journal template evidence fields with review_case.py contract (P2-1)
- Evidence chain table gains severity/status columns plus a worked example
- Add contract-alignment block: E-xxx heading rule, severity/status
  vocabularies, repro_command requirement, content_hash/artifact_path,
  linked_workitem, and the --verify-hashes --strict self-check command
- Keeps Scope/Evidence/Finding headings so verify-routing-coherence
  Assert-Fields stays green
2026-08-10 20:33:17 +08:00
yhc 67b9b5f827 ci: guard doc fact tables against manifest drift (P1-4)
- New verify-doc-facts.ps1: checks RULES.md / RULES_zh.md / skills/SKILL.md
  capability lists (24), MCP servicePort/servicePortRange values, and the
  Burp tool count against bootstrap-manifest.json and getToolList() source
- ci.yml: run it in the routing-tests matrix (pwsh)
- Local run: 16 checks all pass
2026-08-10 20:04:59 +08:00
yhc e554f2e7e9 ci: add strict case-contract test for examples/ctf-demo (P1-3)
- Refactor examples/ctf-demo to satisfy the review_case.py contract:
  split evidence/E-001-E-003.md into per-record E-001/E-002/E-003.md
  with ### E-xxx headings and severity/status/repro_command fields
- Add evidence/checksec-output.txt artifact with matching content_hash so
  --verify-hashes has a real object to verify
- Convert report.md finding/path sections to structured F-01/P-01 blocks
- New case-contract CI job runs review_case.py --verify-hashes --strict on
  examples/ctf-demo; local result: PASS (0 errors, 0 warnings)
2026-08-10 19:52:56 +08:00
yhc 91d737b775 ci: add field-journal leak scan via scan-leaks.ps1 (P1-2)
- New skills/scripts/scan-leaks.ps1: PSParser-free regex scanner for
  public IPv4 (RFC1918/link-local/CGNAT/doc ranges excluded), email
  (sample domains allowed), CN mobile, JWT, AWS AKIA, OpenAI sk-/sk-proj-,
  GitHub/npm/Slack tokens, Google API keys, Stripe live keys
- Exit 1 on findings (CI gate); -ReportOnly for local preview
- Baseline clean: 41 field-journal files, 0 findings
- New leak-scan CI job runs the scanner on skills/field-journal
- anonymization.md now references the shipped script
2026-08-10 19:38:22 +08:00
yhc 3730b3396f ci: add PowerShell syntax check via PSParser (P1-1)
- New step in sh-syntax job runs [Parser]::ParseFile over all tracked
  .ps1 files (no execution, syntax-only); fails the build on any parse
  error with file/line/column annotations
- Baselines clean locally: 24 tracked .ps1 files, 0 parse errors
- Closes the gap where Windows was the primary platform but only .sh
  scripts had a CI syntax check
2026-08-10 19:32:27 +08:00
yhc 0f6e85cd72 ci: upgrade actions/checkout to v7.0.1 (Node 24)
- Replace pinned checkout commit 11bd7190 (v4.2.2, Node 20) with
  3d3c42e (v7.0.1, Node 24) in ci.yml (3 refs) and auto-merge-journal.yml (1 ref)
- Clears the 'Node.js 20 is deprecated' runner annotation
2026-08-10 19:21:00 +08:00
yhc 5906d74b2d chore: remove stale evolution counters, unify capability/tool counts to source of truth
- Remove hand-maintained <!-- [进化统计] --> comments from 12 journal/seed
  files (counters were contradictory: 21/7/8/11/12/94/18; template keeps the
  placeholder for future guidance)
- Capability lists in RULES.md / RULES_zh.md / skills/SKILL.md now match
  bootstrap-manifest.json (24 capabilities: add jeb-pro, reqable-mcp, bkcrack)
- Burp tool count in RULES_zh.md: 63 -> 78 (verified against getToolList()
  in burp-mcp-full/McpHttpServer.java; RULES.md already said 78)
2026-08-10 19:11:06 +08:00
yhc d46e88d09a chore: align VERSION with v1.0.1, add CI version check and release checklist
- VERSION was bumped to 1.1.0 at the v1.0.1 release commit but no 1.1.0
  release exists; align to 1.0.1 so VERSION == latest CHANGELOG release
- Add version-check job to ci.yml (VERSION must match latest CHANGELOG [x.y.z])
- Add docs/RELEASE-CHECKLIST.md for release + metadata sync steps
- Fix benchmark case count in CHANGELOG: 162 -> 163 (routing-benchmark.json
  actually contains 163 cases; ci.yml was already correct)
2026-08-10 19:11:06 +08:00
zhaoxuya520 539899ddc7 docs: redesign sponsor showcase 2026-08-09 18:17:06 +08:00
zhaoxuya520 a5d8c9233b chore: remove PR 59 field-journal contribution 2026-08-09 12:19:22 +08:00
zhaoxuya520 7427eb0dd2 docs: add website and tutorial links 2026-08-08 23:44:16 +08:00
zhaoxuya520 a3e7eb1df5 docs: update sponsor profile and contact email 2026-08-08 18:37:47 +08:00
zhaoxuya520 9c28c6ca10 release: v1.0.1 v1.0.1 2026-08-08 18:32:33 +08:00