33 Commits

Author SHA1 Message Date
zhaoxuya520 ecbee44820 test(kali): cover pwntools discovery integration 2026-09-22 00:20:39 +00:00
Yu-0312 e93135211d fix(scripts): portable sed for macOS bash workflow tests
Replace GNU-only sed -i in test-bash-workflow.sh with mktemp+sed+mv so
BSD sed runs case-guard reject-path tests 4/5. Wire the suite into
macos-bash-compat.yml.

Closes #135
2026-09-19 10:00:04 +08:00
zhaoxuya520 99a2bc4b30 feat: resolve Codex, Binary Ninja, and security review issues
Add an optional Codex adapter, Binary Ninja route and skill, Git-blob security boundaries, payload provenance documentation, and Gradle Wrapper verification.

Closes #47
Closes #121
Closes #125
2026-09-03 20:19:17 +08:00
zhaoxuya520 803b418174 Merge pull request #126 from dex0shubham/test/wire-consolidate-codex-tests
test(ci): fix and wire evidence-consolidation and Codex encoding suites
2026-09-03 19:49:04 +08:00
dex0shubham 035fc0db29 test(ci): fix and wire evidence-consolidation + codex-encoding suites
test-consolidate-evidence.ps1 printed CONSOLIDATE_ALIGN_OK but leaked exit 1:
it ran review_case.py --verify-hashes on a case whose consolidation had (by
design) rewritten E-001.md, so hash fixity could never pass. Drop --verify-hashes,
assert review_case's exit code, and wire both this and
test-bootstrap-codex-encoding.ps1 into the Windows leg of routing-tests. Both
shipped in the repo but were never run by CI.
2026-08-31 19:49:30 +01:00
dex0shubham a538a69acd fix(docs): guard internal Markdown links; drop a dead reference
Add skills/scripts/verify-doc-links.py (wired into the case-contract CI
job): it fails on any internal Markdown link that does not resolve to a
tracked file, skipping fenced code, the generated tool-index.md, and the
vendored src-hunter corpus. Also remove a dangling phishing-case-study.md
pointer in field-notes.md whose target was never created (analysis is inline).
2026-08-27 15:27:45 +01:00
Max 66cd74c997 test(ci): add dedicated bash workflow tests to CI (#116)
Co-authored-by: Manus AI <bot@manus.im>
2026-08-23 23:16:52 +08:00
Edison 06a6a5e6bf test(ci): wire remaining unwired suites (#97 rebase) (#111)
* test(ci): wire remaining unwired suites (rebase of #97)

Run test-p0-friction.ps1 on Windows PS 5.1 routing-tests.
Run case-review/tests/test_review_case.py in Linux case-contract.
Title-safety is already on main; do not duplicate that step.

* docs(changelog): note remaining CI suite wiring
2026-08-22 13:36:46 +08:00
zhaoxuya520 a9ed8d04ad Merge pull request #93 from jhuang-tw/fix/client-neutral-bootstrap-capability
fix: make MCP bootstrap client-neutral by default

Owner integration: preserve all prior CI contracts, document explicit host selection on Windows, and make the Bash manifest regression UTF-8 deterministic.
2026-08-19 11:58:54 +08:00
zhaoxuya520 e49eaa7252 Merge pull request #92 from jhuang-tw/fix/cross-platform-case-contract
fix: make case setup consistent across Windows, Linux, and macOS

Owner integration: preserve routing.json SSoT, keep reports optional by default, and require offline samples to resolve to real local files.
2026-08-19 11:46:55 +08:00
zhaoxuya520 63a42f2be8 Merge pull request #91 from dex0shubham/fix/utf8-bom-ps51
fix(scripts): require UTF-8 BOM for non-ASCII PowerShell 5.1 scripts
2026-08-19 11:33:49 +08:00
Harry 0a4019d56f fix(router): clamp hot path to routing.json and real auth gate
Keep reverse-skill a skill router, not a platform. RULES hot path is master-route then case-init then PRIMARY. MASTER-ROUTING priority is verified against routing.json. precedent-auth no longer grants. CTF is one R41 pointer, not 40 competition routes. open.ps1 never deletes .i64/.idb. Route-scope parse is line-anchored and last-match. Tests: 168 routing cases, parse-contracts, title-safety in CI.
2026-08-18 14:58:22 +01:00
jhuang-tw 9181f34aea test: run client-neutral bootstrap contract on macOS 2026-08-18 00:16:50 -07:00
jhuang-tw 4e86eac911 test: gate client-neutral bootstrap behavior in CI 2026-08-18 00:14:21 -07:00
jhuang-tw 131c92d262 ci: consume expected Windows guard failure 2026-08-17 23:55:46 -07:00
jhuang-tw d0201b036b test: make Windows case assertions CRLF-safe 2026-08-17 23:50:22 -07:00
jhuang-tw d2e51449ef test(p0): cover fresh cross-platform case contract 2026-08-17 23:37:56 -07:00
dex0shubham d57d5ddb2b fix(scripts): add UTF-8 BOM so non-ASCII .ps1 survive Windows PowerShell 5.1
PS 5.1 parses a BOM-less .ps1 as the system ANSI codepage, garbling the
Chinese / em-dash string literals in five scripts. verify-doc-facts.ps1
failed four checks under 5.1 (CI only ran it under pwsh). Add a BOM to the
five files and a CI guard that fails any non-ASCII .ps1 lacking one.
2026-08-17 14:03:38 +01:00
ZhaoXu ee9217b8af fix(bootstrap): preserve native command exit codes 2026-08-14 01:45:40 +08:00
Atirna 87e00b80db fix(bootstrap): fail closed before manifest installs 2026-08-13 03:22:32 +05:30
Atirna e8faca63ed fix(bootstrap): enforce manifest-pinned sources 2026-08-13 02:30:36 +05:30
yhc e0080b200e Merge PR #70: macOS system Bash compatibility CI 2026-08-11 22:08:32 +08:00
jhuang-tw 80209ab1d6 ci: exercise shell workflows on macOS system Bash 2026-08-11 06:08:08 -07:00
jhuang-tw 30cb8452dd test(routing): run full benchmark through Bash router 2026-08-11 05:57:19 -07:00
Atirna b478d3dc22 fix(case): support network profiles on Bash 3.2
Assisted-by: Codex
2026-08-11 03:51:53 +05:30
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 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 a3e7eb1df5 docs: update sponsor profile and contact email 2026-08-08 18:37:47 +08:00
zhaoxuya520 9c28c6ca10 release: v1.0.1 2026-08-08 18:32:33 +08:00