一键导入
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。