Audits security and supply-chain risk between two git refs, 预发布安全审计
Installation
Details
Usage
After installing, this skill will be available to your AI coding assistant.
Verify installation:
skills listSkill Instructions
name: auditing-pre-release-security description: Audits security and supply-chain risk between two git refs, 预发布安全审计
Pre-Release Security Audit (Between Any Two Git Refs)
This skill compares any two git refs (tag/branch/commit SHA) and audits:
- Source-code diffs for security regressions
- Dependency changes (direct + transitive) and lockfile determinism
- Newly introduced package behaviors inside
node_modules - CI/CD workflow risks in
.github/workflowsand build configs (Expo/EAS)
The output is a Chinese Markdown report, with a unique title and filename containing the refs to avoid overwrites.
0) Mandatory: confirm audit range (BASE_REF, TARGET_REF)
Ref rules
- Accepted: tag / branch / commit SHA
BASE_REF= starting point,TARGET_REF= ending point (release candidate)
If refs are not explicitly provided by the user
Ask exactly once before doing any work:
Which two git refs should I compare? (e.g. v5.19.0 → release/v5.20.0, or main → feature/xxx)
If only one ref is provided
Ask for the missing ref. Do not assume defaults unless the user explicitly says:
- “latest tag → HEAD”
- or provides an equivalent instruction.
1) Output requirements (hard constraints)
- Report language: Chinese
- Report filename must include refs to avoid collisions:
security-audit__${BASE_REF_SAFE}__to__${TARGET_REF_SAFE}.mdBASE_REF_SAFE/TARGET_REF_SAFEmust replace/with__(or-) for filesystem safety.
- Report title must include refs:
# 安全预审报告(${BASE_REF} → ${TARGET_REF})
- Evidence must be traceable: file path + line numbers (when possible) + short snippet.
2) Safety rules (must follow)
- Never print or paste secrets: mnemonics/seed phrases, private keys, signing payloads, API keys, tokens, cookies, session IDs.
- If command outputs may contain secrets (env dumps, logs), redact before writing to the report.
- Prefer short excerpts; do not paste large bundles.
3) Execution checklist
Step A — Verify refs and collect context
- Verify both refs exist:
git rev-parse --verify "${BASE_REF}^{commit}"git rev-parse --verify "${TARGET_REF}^{commit}"
- Record:
- BASE_SHA, TARGET_SHA
- Working tree clean?
git status --porcelain
- List changed files:
git diff --name-status "${BASE_REF}..${TARGET_REF}"
Step B — Collect key diffs
Focus on:
- Source:
**/*.{js,ts,tsx} - Dependencies:
**/package.json,yarn.lock - CI:
.github/workflows/** - Expo/EAS configs:
eas.json,app.json,app.config.*, build scripts
Step C — Dependency delta (direct deps)
- For each changed
package.json, compute:- Added / removed / updated deps (include workspace path)
- Version range policy checks:
- Flag
*/latestas High risk - Flag
^/~as Medium risk (explain why this matters for release determinism)
- Flag
- If deps changed but
yarn.lockdid not, flag as High risk.
Step D — Lockfile determinism (best-effort)
- Detect Yarn flavor:
yarn -v - Try one:
- Yarn Berry:
yarn install --immutable - Yarn Classic:
yarn install --frozen-lockfile
- Yarn Berry:
- Record anomalies:
resolutions,patches, non-registry sources, unexpected downloads.
Step E — Known vulnerability scanning (best-effort)
-
yarn audit(if available) -
osv-scanneragainstyarn.lock(if available) - If missing tools, note “not run + reason”.
Step F — New dependency deep inspection (node_modules)
For each newly added direct dependency:
- Inspect
<pkg>/package.json:preinstall,install,postinstallscripts- entry points (
main,module,exports) - binary/native artifacts (
bin/,.node)
- Keyword scan (case-insensitive) in its installed code:
- Sensitive:
privateKey|mnemonic|seed|keystore|passphrase - Storage:
localStorage|indexedDB|AsyncStorage|keychain|keystore - Network:
fetch|axios|XMLHttpRequest|http|https|WebSocket|ws - Dynamic exec:
eval|new Function|child_process|spawn|exec - Install hooks:
preinstall|install|postinstall
- Sensitive:
- If hits exist: include path + line + short snippet and explain expected vs suspicious behavior.
- Assign risk rating: Low / Medium / High.
Step G — Source diff security review (AI reasoning step)
Within ${BASE_REF}..${TARGET_REF} diffs, prioritize:
- signing flows / key handling / mnemonic
- network layer / RPC / telemetry
- storage layer (local/secure storage)
- logging / analytics / error reporting Output: suspicious changes list (each with summary, impact, evidence excerpt).
Step H — CI/CD & build pipeline risks
Inspect .github/workflows/** and build configs:
- Flag
uses: ...@latest(High) - Flag floating tags not pinned to SHA (Medium, note risk)
- Check
permissions:for over-broad scopes - Flag remote script execution patterns (curl|bash, remote downloads)
- Note install safety (
--ignore-scripts, etc.) - Expo/EAS: flag hooks that download remote code, run arbitrary scripts, or leak env into logs
4) Report template (must follow; Chinese output)
Write the report to:
security-audit__${BASE_REF_SAFE}__to__${TARGET_REF_SAFE}.md
More by OneKeyHQ
View allCreates a new Claude Code Skill following best practices. Use when the user wants to create a new skill, add a skill, or asks about writing skills for Claude Code. Fetches latest documentation before generating skill content. New skill. Create a skill.
Security-first PR review checklist for this repo. Use when reviewing diffs/PRs, especially changes involving auth, networking, sensitive data, or dependency/lockfile updates. Focus on secret/PII leakage risk, supply-chain risk (npm + node_modules inspection), cross-platform architecture (extension/mobile/desktop/web), and React performance (hooks + re-render hotspots). Avoid UI style nitpicks. PR Review.
Implements Figma designs 1:1 using OneKey component library. Use when implementing UI from Figma, converting designs to code, or building pages/components from design specs. Triggers on figma, design, UI, 还原设计稿, 切图, 页面, 组件, implementation, Button, Input, Badge, Icon, Stack, XStack, YStack, Dialog, Toast, Alert, Form, Select, Switch, Checkbox, Radio, Tabs, Popover, ActionList, Progress, Skeleton, Image, Avatar, Banner, Carousel, Table, Accordion, ScrollView, ListView, SectionList, Page, Divider, Empty, QRCode, Markdown, Spinner.
