ワンクリックで
arkweb-security-patch-review
Review merged ArkWeb security patches for correctness, vulnerability coverage, and regression risk.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Review merged ArkWeb security patches for correctness, vulnerability coverage, and regression risk.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Expert assistant for ArkTS-JS Interoperability in ArkCompiler (ArkTS runtime). 触发场景:修改/调试 ArkCompiler 互操作层代码(static_core/plugins/ets/runtime/interop_js/)、实现 ArkTS 与 JS 跨语言调用、处理 ETS 和 JS 之间的值转换(js_convert/JSRefConvert)、分析 Interop 内存泄漏与 GC 安全点、以及进行相关代码规范审查。
Guide for adding and maintaining ArkTS <-> JS/TS interoperability tests in ArkCompiler. 触发场景:在 plugins/ets/tests/interop_js/tests/ 目录下创建新的 ArkTS 与 JS/TS 互操作(Interop)测试用例、调试/维护已有 Interop 测试、编写 C++ 运行器(GTest runner)或声明文件(.d.ets)时。
Use when an OpenHarmony C++ change must be checked for call-chain completeness, especially for data propagation, IPC/proxy/stub paths, virtual overrides, callbacks, or dlopen/dlsym boundaries. Produces evidence tables and modification coverage matrices; the helper script only discovers candidate edges.
Use when the user wants to download OpenHarmony daily build images or flash them to a real device (DAYU200/RK3568 or others). Triggers on daily build, DAYU200, RK3568, flashing, burning, hdc reboot, upgrading firmware.
为 C/C++ 项目生成 LLVM libFuzzer FUZZ 测试用例、执行 26 条安全规范审查、生成语义化种子数据。 兼容 OpenHarmony / Linux / Android 构建系统。 触发关键词:fuzz 测试、生成 fuzzer、创建 fuzz 用例、fuzz 规范检查、fuzz_test、LLVMFuzzerTestOneInput、种子数据/corpus
ETS-JavaScript interop Promise bridging system in ArkCompiler. Use this skill when working on cross-language Promise conversion between ETS (ArkTS) and JavaScript, including JSConvertPromise Wrap/Unwrap, EtsPromise proxy creation, EtsPromiseRef bridging, CreatePromiseLink, OnJsPromiseCompleted callbacks, connectPromise, SettleJsPromise, PromiseInteropResolve/Reject, EtsAwaitPromise/AwaitProxyPromise, callback queue management, or any code under js_convert.h (Promise section), js_job_queue, ets_promise, ets_promise_ref, std_core_Promise.cpp, or PromiseInterop.ets. Also use when debugging cross-VM Promise state synchronization, coroutine suspension/resumption during await, or napi_deferred lifecycle issues.
| name | arkweb-security-patch-review |
| description | Review merged ArkWeb security patches for correctness, vulnerability coverage, and regression risk. |
| descriptionZH | ArkWeb 代码审查技能。审查给定 patch 是否已经真实合入。 |
| tags | ["ArkWeb","review","security"] |
用于 arkweb-security-patch-reviewer 和 arkweb-security-patch-judge。
审查阻塞边界、手工改写是否可放行、非 active issue 如何处理,先读本 skill 内的 references/patch-landing-review-contract.md。不要引用其它 skill 的脚本或 md。
modified_files[] 或合入报告允许范围内。代码审查阶段只裁决 active batch 中“给定 patch 是否合入”。以下情况才能作为阻塞问题:
modified_files[] 或合入报告允许范围。以下情况不是本阶段问题,不得作为阻塞或 fail 原因:
git apply 因上下文漂移失败后,在 modified_files[] 范围内完成最小手工改写。如果要判阻塞,必须直接指向“给定 patch 没有合入”的证据,例如缺失的 hunk、缺失的关键文件、未解冲突或合入到错误仓库。
批量模式中,terminal_failed 和 deferred_for_archive issue 已经退出 active batch。代码审查只能在总览中把它们列为归档/遗留项,不能计入 blocked_issues,不能输出需要回到「冲突解决」的 issues,也不能因为这些 issue 让整批 fail。只要 pending_current_stage 为空且仍有 ready_for_next issue,审查裁决必须放行 ready 批次进入「编译验证」。
06_merge_result.md;批量模式还必须逐个 issue 读取 issues/{issue_id}/06_merge_result.md。自动合入 pass 后这些文件应当已经存在;如果缺失,必须标记为 artifact_missing:06_merge_result,不能假设 patch 已合入。issues/{issue_id}/06_merge_result.md、issues/{issue_id}/07_conflict_resolution.md、issues/{issue_id}/10_build_fix.md 和当前工程目标子仓中属于该 issue 的 git diff。src/out、.ace-outputs 和无关删除必须忽略。单 issue 模式审查步骤写入 .ace-outputs/{runId}/08_code_review.md。
批量模式每个 active issue 写入 .ace-outputs/{runId}/issues/{issue_id}/08_code_review.md,总览写入 .ace-outputs/{runId}/08_code_review.md。总览只能汇总,不得替代每个 active issue 的独立审查结论。非 active 的 terminal_failed / deferred_for_archive issue 只列入归档清单。
优先使用内置脚本生成代码审查产物,不要在运行时拼接临时 Python/Node/Shell 脚本:
python3 skills/arkweb-security-patch-review/scripts/generate_code_review.py \
--run-root <context.projectRoot>/.ace-outputs/<runId>
脚本会读取 batch_status.json、06_merge_result.json 和 issues/{issue_id}/06_merge_result.json,为每个 active issue 写入 issues/{issue_id}/08_code_review.md,并写入根级 08_code_review.md 和 08_code_review.json。脚本只聚合 active/ready/pending issue;terminal_failed 和 deferred_for_archive 只进入归档清单,不参与 verdict。
脚本执行后,agent 回复只允许包含:
不要在回复中粘贴脚本源码、完整工具输出、大段 06_merge_result 内容或完整 diff。详细证据只写入 08_code_review.md/json。
审查步骤和裁决步骤都必须在回复末尾输出最后一个完整 JSON 代码块。不要输出只有 remaining_issues 的半截 JSON;next_state 和 issues 不能省略。
{
"verdict": "pass|fail",
"next_state": "编译验证|冲突解决",
"issues": [],
"summary": "一句话总结"
}
JSON 判定规则:
pending_current_stage=[] 且存在 ready_for_next issue 时,输出 verdict=pass、next_state=编译验证、issues=[]。verdict=fail、next_state=冲突解决,并在 issues[] 中列出具体 active issue 阻塞证据。terminal_failed / deferred_for_archive issue 只能写入归档清单,不得写入 JSON issues[],不得影响 verdict。