扫描报告
5 /100
wechat-mp-publisher
OpenClaw Skill for publishing WeChat Official Account articles
This is a legitimate WeChat Official Account publisher skill with no malicious behavior. All functionality is properly declared, security controls are in place, and only necessary permissions are used.
可以安装
This skill is safe to use. No security concerns identified.
安全发现 2 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 提示 | Config file permission check 敏感访问 | src/index.ts:47 |
| 提示 | Test mock credential is not a real secret 凭证窃取 | tests/auth.test.ts:69 |
| 资源类型 | 声明权限 | 推断权限 | 状态 | 证据 |
|---|---|---|---|---|
| 文件系统 | READ,WRITE | READ,WRITE | ✓ 一致 | Reads config from ~/.openclaw, writes token cache with 0o600 permissions |
| 网络访问 | READ | READ | ✓ 一致 | Only calls official WeChat API endpoints |
| 环境变量 | READ | READ | ✓ 一致 | Reads WECHAT_MP_* env vars for config |
| 命令执行 | NONE | NONE | — | No shell execution found |
1 高危 311 项发现
高危 API 密钥 疑似硬编码凭证
access_token: 'cached_token_123' tests/auth.test.ts:69 中危 外部 URL 外部 URL
https://developers.weixin.qq.com/doc/offiaccount/en/Getting_Started/Overview.html SKILL.md:301 中危 外部 URL 外部 URL
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET TECH_SPEC.md:114 中危 外部 URL 外部 URL
https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token=ACCESS_TOKEN TECH_SPEC.md:119 中危 外部 URL 外部 URL
https://api.weixin.qq.com/cgi-bin/media/uploadnews?access_token=ACCESS_TOKEN TECH_SPEC.md:125 中危 外部 URL 外部 URL
https://api.weixin.qq.com/cgi-bin/freepublish/submit?access_token=ACCESS_TOKEN TECH_SPEC.md:131 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.29.0.tgz package-lock.json:28 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.29.0.tgz package-lock.json:43 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@babel/core/-/core-7.29.0.tgz package-lock.json:53 中危 外部 URL 外部 URL
https://opencollective.com/babel package-lock.json:79 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@babel/generator/-/generator-7.29.1.tgz package-lock.json:84 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz package-lock.json:101 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@babel/helper-globals/-/helper-globals-7.28.0.tgz package-lock.json:118 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz package-lock.json:128 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz package-lock.json:142 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz package-lock.json:160 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz package-lock.json:170 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz package-lock.json:180 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz package-lock.json:190 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@babel/helpers/-/helpers-7.28.6.tgz package-lock.json:200 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@babel/parser/-/parser-7.29.0.tgz package-lock.json:214 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz package-lock.json:230 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz package-lock.json:243 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz package-lock.json:256 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz package-lock.json:269 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.28.6.tgz package-lock.json:285 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz package-lock.json:301 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz package-lock.json:314 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.28.6.tgz package-lock.json:327 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-oper... package-lock.json:343 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-opera... package-lock.json:356 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz package-lock.json:369 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz package-lock.json:382 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.... package-lock.json:395 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz package-lock.json:408 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-objec... package-lock.json:421 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz package-lock.json:437 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.28.6.tgz package-lock.json:453 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@babel/template/-/template-7.28.6.tgz package-lock.json:469 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@babel/traverse/-/traverse-7.29.0.tgz package-lock.json:484 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@babel/types/-/types-7.29.0.tgz package-lock.json:503 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz package-lock.json:517 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz package-lock.json:524 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@istanbuljs/schema/-/schema-0.1.3.tgz package-lock.json:541 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@jest/console/-/console-29.7.0.tgz package-lock.json:551 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@jest/core/-/core-29.7.0.tgz package-lock.json:569 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@jest/environment/-/environment-29.7.0.tgz package-lock.json:617 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@jest/expect/-/expect-29.7.0.tgz package-lock.json:633 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz package-lock.json:647 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@jest/fake-timers/-/fake-timers-29.7.0.tgz package-lock.json:660 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@jest/globals/-/globals-29.7.0.tgz package-lock.json:678 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@jest/reporters/-/reporters-29.7.0.tgz package-lock.json:694 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@jest/schemas/-/schemas-29.6.3.tgz package-lock.json:738 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@jest/source-map/-/source-map-29.6.3.tgz package-lock.json:751 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@jest/test-result/-/test-result-29.7.0.tgz package-lock.json:766 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz package-lock.json:782 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@jest/transform/-/transform-29.7.0.tgz package-lock.json:798 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@jest/types/-/types-29.6.3.tgz package-lock.json:825 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz package-lock.json:843 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@jridgewell/remapping/-/remapping-2.3.5.tgz package-lock.json:854 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz package-lock.json:865 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz package-lock.json:875 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz package-lock.json:882 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@sinclair/typebox/-/typebox-0.27.10.tgz package-lock.json:893 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@sinonjs/commons/-/commons-3.0.1.tgz package-lock.json:900 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz package-lock.json:910 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@types/babel__core/-/babel__core-7.20.5.tgz package-lock.json:920 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@types/babel__generator/-/babel__generator-7.27.0.tgz package-lock.json:934 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@types/babel__template/-/babel__template-7.4.4.tgz package-lock.json:944 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@types/babel__traverse/-/babel__traverse-7.28.0.tgz package-lock.json:955 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz package-lock.json:965 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz package-lock.json:975 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz package-lock.json:982 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz package-lock.json:992 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@types/jest/-/jest-29.5.14.tgz package-lock.json:1002 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@types/node/-/node-20.19.37.tgz package-lock.json:1013 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@types/stack-utils/-/stack-utils-2.0.3.tgz package-lock.json:1023 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@types/yargs/-/yargs-17.0.35.tgz package-lock.json:1030 中危 外部 URL 外部 URL
https://registry.npmmirror.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz package-lock.json:1040 中危 外部 URL 外部 URL
https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz package-lock.json:1047 中危 外部 URL 外部 URL
https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz package-lock.json:1063 中危 外部 URL 外部 URL
https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz package-lock.json:1073 中危 外部 URL 外部 URL
https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz package-lock.json:1089 中危 外部 URL 外部 URL
https://registry.npmmirror.com/argparse/-/argparse-1.0.10.tgz package-lock.json:1103 中危 外部 URL 外部 URL
https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz package-lock.json:1113 中危 外部 URL 外部 URL
https://registry.npmmirror.com/axios/-/axios-1.13.6.tgz package-lock.json:1119 中危 外部 URL 外部 URL
https://registry.npmmirror.com/babel-jest/-/babel-jest-29.7.0.tgz package-lock.json:1130 中危 外部 URL 外部 URL
https://registry.npmmirror.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz package-lock.json:1152 中危 外部 URL 外部 URL
https://registry.npmmirror.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz package-lock.json:1169 中危 外部 URL 外部 URL
https://registry.npmmirror.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz package-lock.json:1186 中危 外部 URL 外部 URL
https://registry.npmmirror.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.2.0.tgz package-lock.json:1202 中危 外部 URL 外部 URL
https://registry.npmmirror.com/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz package-lock.json:1229 中危 外部 URL 外部 URL
https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz package-lock.json:1246 中危 外部 URL 外部 URL
https://registry.npmmirror.com/baseline-browser-mapping/-/baseline-browser-mapping-2.10.0.tgz package-lock.json:1253 中危 外部 URL 外部 URL
https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.12.tgz package-lock.json:1266 中危 外部 URL 外部 URL
https://registry.npmmirror.com/braces/-/braces-3.0.3.tgz package-lock.json:1277 中危 外部 URL 外部 URL
https://registry.npmmirror.com/browserslist/-/browserslist-4.28.1.tgz package-lock.json:1290 中危 外部 URL 外部 URL
https://opencollective.com/browserslist package-lock.json:1296 中危 外部 URL 外部 URL
https://tidelift.com/funding/github/npm/browserslist package-lock.json:1300 中危 外部 URL 外部 URL
https://registry.npmmirror.com/bs-logger/-/bs-logger-0.2.6.tgz package-lock.json:1324 中危 外部 URL 外部 URL
https://registry.npmmirror.com/bser/-/bser-2.1.1.tgz package-lock.json:1337 中危 外部 URL 外部 URL
https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz package-lock.json:1347 中危 外部 URL 外部 URL
https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz package-lock.json:1354 中危 外部 URL 外部 URL
https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz package-lock.json:1367 中危 外部 URL 外部 URL
https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz package-lock.json:1377 中危 外部 URL 外部 URL
https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001777.tgz package-lock.json:1387 中危 外部 URL 外部 URL
https://tidelift.com/funding/github/npm/caniuse-lite package-lock.json:1397 中危 外部 URL 外部 URL
https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz package-lock.json:1408 中危 外部 URL 外部 URL
https://registry.npmmirror.com/char-regex/-/char-regex-1.0.2.tgz package-lock.json:1425 中危 外部 URL 外部 URL
https://registry.npmmirror.com/ci-info/-/ci-info-3.9.0.tgz package-lock.json:1435 中危 外部 URL 外部 URL
https://registry.npmmirror.com/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz package-lock.json:1451 中危 外部 URL 外部 URL
https://registry.npmmirror.com/cliui/-/cliui-8.0.1.tgz package-lock.json:1458 中危 外部 URL 外部 URL
https://registry.npmmirror.com/co/-/co-4.6.0.tgz package-lock.json:1473 中危 外部 URL 外部 URL
https://registry.npmmirror.com/collect-v8-coverage/-/collect-v8-coverage-1.0.3.tgz package-lock.json:1484 中危 外部 URL 外部 URL
https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz package-lock.json:1491 中危 外部 URL 外部 URL
https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz package-lock.json:1504 中危 外部 URL 外部 URL
https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz package-lock.json:1511 中危 外部 URL 外部 URL
https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz package-lock.json:1523 中危 外部 URL 外部 URL
https://registry.npmmirror.com/convert-source-map/-/convert-source-map-2.0.0.tgz package-lock.json:1530 中危 外部 URL 外部 URL
https://registry.npmmirror.com/create-jest/-/create-jest-29.7.0.tgz package-lock.json:1537 中危 外部 URL 外部 URL
https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.6.tgz package-lock.json:1559 中危 外部 URL 外部 URL
https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz package-lock.json:1574 中危 外部 URL 外部 URL
https://registry.npmmirror.com/dedent/-/dedent-1.7.2.tgz package-lock.json:1592 中危 外部 URL 外部 URL
https://registry.npmmirror.com/deepmerge/-/deepmerge-4.3.1.tgz package-lock.json:1607 中危 外部 URL 外部 URL
https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz package-lock.json:1617 中危 外部 URL 外部 URL
https://registry.npmmirror.com/detect-newline/-/detect-newline-3.1.0.tgz package-lock.json:1626 中危 外部 URL 外部 URL
https://registry.npmmirror.com/diff-sequences/-/diff-sequences-29.6.3.tgz package-lock.json:1636 中危 外部 URL 外部 URL
https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz package-lock.json:1646 中危 外部 URL 外部 URL
https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.307.tgz package-lock.json:1660 中危 外部 URL 外部 URL
https://registry.npmmirror.com/emittery/-/emittery-0.13.1.tgz package-lock.json:1667 中危 外部 URL 外部 URL
https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz package-lock.json:1680 中危 外部 URL 外部 URL
https://registry.npmmirror.com/error-ex/-/error-ex-1.3.4.tgz package-lock.json:1687 中危 外部 URL 外部 URL
https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz package-lock.json:1697 中危 外部 URL 外部 URL
https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz package-lock.json:1706 中危 外部 URL 外部 URL
https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz package-lock.json:1715 中危 外部 URL 外部 URL
https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz package-lock.json:1727 中危 外部 URL 外部 URL
https://registry.npmmirror.com/escalade/-/escalade-3.2.0.tgz package-lock.json:1742 中危 外部 URL 外部 URL
https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz package-lock.json:1752 中危 外部 URL 外部 URL
https://registry.npmmirror.com/esprima/-/esprima-4.0.1.tgz package-lock.json:1762 中危 外部 URL 外部 URL
https://registry.npmmirror.com/execa/-/execa-5.1.1.tgz package-lock.json:1776 中危 外部 URL 外部 URL
https://registry.npmmirror.com/exit/-/exit-0.1.2.tgz package-lock.json:1800 中危 外部 URL 外部 URL
https://registry.npmmirror.com/expect/-/expect-29.7.0.tgz package-lock.json:1809 中危 外部 URL 外部 URL
https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz package-lock.json:1826 中危 外部 URL 外部 URL
https://registry.npmmirror.com/fb-watchman/-/fb-watchman-2.0.2.tgz package-lock.json:1833 中危 外部 URL 外部 URL
https://registry.npmmirror.com/fill-range/-/fill-range-7.1.1.tgz package-lock.json:1843 中危 外部 URL 外部 URL
https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz package-lock.json:1856 中危 外部 URL 外部 URL
https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.11.tgz package-lock.json:1870 中危 外部 URL 外部 URL
https://registry.npmmirror.com/form-data/-/form-data-4.0.5.tgz package-lock.json:1890 中危 外部 URL 外部 URL
https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz package-lock.json:1906 中危 外部 URL 外部 URL
https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz package-lock.json:1913 中危 外部 URL 外部 URL
https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz package-lock.json:1928 中危 外部 URL 外部 URL
https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz package-lock.json:1937 中危 外部 URL 外部 URL
https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz package-lock.json:1947 中危 外部 URL 外部 URL
https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz package-lock.json:1957 中危 外部 URL 外部 URL
https://registry.npmmirror.com/get-package-type/-/get-package-type-0.1.0.tgz package-lock.json:1981 中危 外部 URL 外部 URL
https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz package-lock.json:1991 中危 外部 URL 外部 URL
https://registry.npmmirror.com/get-stream/-/get-stream-6.0.1.tgz package-lock.json:2004 中危 外部 URL 外部 URL
https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz package-lock.json:2017 中危 外部 URL 外部 URL
https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz package-lock.json:2039 中危 外部 URL 外部 URL
https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz package-lock.json:2051 中危 外部 URL 外部 URL
https://registry.npmmirror.com/handlebars/-/handlebars-4.7.8.tgz package-lock.json:2058 中危 外部 URL 外部 URL
https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz package-lock.json:2080 中危 外部 URL 外部 URL
https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz package-lock.json:2090 中危 外部 URL 外部 URL
https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz package-lock.json:2102 中危 外部 URL 外部 URL
https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz package-lock.json:2117 中危 外部 URL 外部 URL
https://registry.npmmirror.com/html-escaper/-/html-escaper-2.0.2.tgz package-lock.json:2129 中危 外部 URL 外部 URL
https://registry.npmmirror.com/human-signals/-/human-signals-2.1.0.tgz package-lock.json:2136 中危 外部 URL 外部 URL
https://registry.npmmirror.com/import-local/-/import-local-3.2.0.tgz package-lock.json:2146 中危 外部 URL 外部 URL
https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz package-lock.json:2166 中危 外部 URL 外部 URL
https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz package-lock.json:2176 中危 外部 URL 外部 URL
https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz package-lock.json:2188 中危 外部 URL 外部 URL
https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz package-lock.json:2195 中危 外部 URL 外部 URL
https://registry.npmmirror.com/is-core-module/-/is-core-module-2.16.1.tgz package-lock.json:2202 中危 外部 URL 外部 URL
https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz package-lock.json:2218 中危 外部 URL 外部 URL
https://registry.npmmirror.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz package-lock.json:2228 中危 外部 URL 外部 URL
https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz package-lock.json:2238 中危 外部 URL 外部 URL
https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz package-lock.json:2248 中危 外部 URL 外部 URL
https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz package-lock.json:2261 中危 外部 URL 外部 URL
https://registry.npmmirror.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz package-lock.json:2268 中危 外部 URL 外部 URL
https://registry.npmmirror.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz package-lock.json:2278 中危 外部 URL 外部 URL
https://registry.npmmirror.com/semver/-/semver-7.7.4.tgz package-lock.json:2295 中危 外部 URL 外部 URL
https://registry.npmmirror.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz package-lock.json:2308 中危 外部 URL 外部 URL
https://registry.npmmirror.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz package-lock.json:2323 中危 外部 URL 外部 URL
https://registry.npmmirror.com/istanbul-reports/-/istanbul-reports-3.2.0.tgz package-lock.json:2338 中危 外部 URL 外部 URL
https://registry.npmmirror.com/jest/-/jest-29.7.0.tgz package-lock.json:2352 中危 外部 URL 外部 URL
https://registry.npmmirror.com/jest-changed-files/-/jest-changed-files-29.7.0.tgz package-lock.json:2379 中危 外部 URL 外部 URL
https://registry.npmmirror.com/jest-circus/-/jest-circus-29.7.0.tgz package-lock.json:2394 中危 外部 URL 外部 URL
https://registry.npmmirror.com/jest-cli/-/jest-cli-29.7.0.tgz package-lock.json:2426 中危 外部 URL 外部 URL
https://registry.npmmirror.com/jest-config/-/jest-config-29.7.0.tgz package-lock.json:2460 中危 外部 URL 外部 URL
https://registry.npmmirror.com/jest-diff/-/jest-diff-29.7.0.tgz package-lock.json:2506 中危 外部 URL 外部 URL
https://registry.npmmirror.com/jest-docblock/-/jest-docblock-29.7.0.tgz package-lock.json:2522 中危 外部 URL 外部 URL
https://registry.npmmirror.com/jest-each/-/jest-each-29.7.0.tgz package-lock.json:2535 中危 外部 URL 外部 URL
https://registry.npmmirror.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz package-lock.json:2552 中危 外部 URL 外部 URL
https://registry.npmmirror.com/jest-get-type/-/jest-get-type-29.6.3.tgz package-lock.json:2570 中危 外部 URL 外部 URL
https://registry.npmmirror.com/jest-haste-map/-/jest-haste-map-29.7.0.tgz package-lock.json:2580 中危 外部 URL 外部 URL
https://registry.npmmirror.com/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz package-lock.json:2606 中危 外部 URL 外部 URL
https://registry.npmmirror.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz package-lock.json:2620 中危 外部 URL 外部 URL
https://registry.npmmirror.com/jest-message-util/-/jest-message-util-29.7.0.tgz package-lock.json:2636 中危 外部 URL 外部 URL
https://registry.npmmirror.com/jest-mock/-/jest-mock-29.7.0.tgz package-lock.json:2657 中危 外部 URL 外部 URL
https://registry.npmmirror.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz package-lock.json:2672 中危 外部 URL 外部 URL
https://registry.npmmirror.com/jest-regex-util/-/jest-regex-util-29.6.3.tgz package-lock.json:2690 中危 外部 URL 外部 URL
https://registry.npmmirror.com/jest-resolve/-/jest-resolve-29.7.0.tgz package-lock.json:2700 中危 外部 URL 外部 URL
https://registry.npmmirror.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz package-lock.json:2721 中危 外部 URL 外部 URL
https://registry.npmmirror.com/jest-runner/-/jest-runner-29.7.0.tgz package-lock.json:2735 中危 外部 URL 外部 URL
https://registry.npmmirror.com/jest-runtime/-/jest-runtime-29.7.0.tgz package-lock.json:2768 中危 外部 URL 外部 URL
https://registry.npmmirror.com/jest-snapshot/-/jest-snapshot-29.7.0.tgz package-lock.json:2802 中危 外部 URL 外部 URL
https://registry.npmmirror.com/jest-util/-/jest-util-29.7.0.tgz package-lock.json:2847 中危 外部 URL 外部 URL
https://registry.npmmirror.com/jest-validate/-/jest-validate-29.7.0.tgz package-lock.json:2865 中危 外部 URL 外部 URL
https://registry.npmmirror.com/camelcase/-/camelcase-6.3.0.tgz package-lock.json:2883 中危 外部 URL 外部 URL
https://registry.npmmirror.com/jest-watcher/-/jest-watcher-29.7.0.tgz package-lock.json:2896 中危 外部 URL 外部 URL
https://registry.npmmirror.com/jest-worker/-/jest-worker-29.7.0.tgz package-lock.json:2916 中危 外部 URL 外部 URL
https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz package-lock.json:2932 中危 外部 URL 外部 URL
https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz package-lock.json:2948 中危 外部 URL 外部 URL
https://registry.npmmirror.com/js-yaml/-/js-yaml-3.14.2.tgz package-lock.json:2955 中危 外部 URL 外部 URL
https://registry.npmmirror.com/jsesc/-/jsesc-3.1.0.tgz package-lock.json:2969 中危 外部 URL 外部 URL
https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz package-lock.json:2982 中危 外部 URL 外部 URL
https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz package-lock.json:2989 中危 外部 URL 外部 URL
https://registry.npmmirror.com/kleur/-/kleur-3.0.3.tgz package-lock.json:3002 中危 外部 URL 外部 URL
https://registry.npmmirror.com/leven/-/leven-3.1.0.tgz package-lock.json:3012 中危 外部 URL 外部 URL
https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz package-lock.json:3022 中危 外部 URL 外部 URL
https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz package-lock.json:3029 中危 外部 URL 外部 URL
https://registry.npmmirror.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz package-lock.json:3042 中危 外部 URL 外部 URL
https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz package-lock.json:3049 中危 外部 URL 外部 URL
https://registry.npmmirror.com/make-dir/-/make-dir-4.0.0.tgz package-lock.json:3059 中危 外部 URL 外部 URL
https://registry.npmmirror.com/make-error/-/make-error-1.3.6.tgz package-lock.json:3088 中危 外部 URL 外部 URL
https://registry.npmmirror.com/makeerror/-/makeerror-1.0.12.tgz package-lock.json:3095 中危 外部 URL 外部 URL
https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz package-lock.json:3105 中危 外部 URL 外部 URL
https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz package-lock.json:3114 中危 外部 URL 外部 URL
https://registry.npmmirror.com/micromatch/-/micromatch-4.0.8.tgz package-lock.json:3121 中危 外部 URL 外部 URL
https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz package-lock.json:3135 中危 外部 URL 外部 URL
https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz package-lock.json:3144 中危 外部 URL 外部 URL
https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz package-lock.json:3156 中危 外部 URL 外部 URL
https://registry.npmmirror.com/minimatch/-/minimatch-3.1.5.tgz package-lock.json:3166 中危 外部 URL 外部 URL
https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz package-lock.json:3179 中危 外部 URL 外部 URL
https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz package-lock.json:3189 中危 外部 URL 外部 URL
https://registry.npmmirror.com/natural-compare/-/natural-compare-1.4.0.tgz package-lock.json:3196 中危 外部 URL 外部 URL
https://registry.npmmirror.com/neo-async/-/neo-async-2.6.2.tgz package-lock.json:3203 中危 外部 URL 外部 URL
https://registry.npmmirror.com/node-int64/-/node-int64-0.4.0.tgz package-lock.json:3210 中危 外部 URL 外部 URL
https://registry.npmmirror.com/node-releases/-/node-releases-2.0.36.tgz package-lock.json:3217 中危 外部 URL 外部 URL
https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz package-lock.json:3224 中危 外部 URL 外部 URL
https://registry.npmmirror.com/npm-run-path/-/npm-run-path-4.0.1.tgz package-lock.json:3234 中危 外部 URL 外部 URL
https://registry.npmmirror.com/once/-/once-1.4.0.tgz package-lock.json:3247 中危 外部 URL 外部 URL
https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz package-lock.json:3257 中危 外部 URL 外部 URL
https://registry.npmmirror.com/p-limit/-/p-limit-3.1.0.tgz package-lock.json:3273 中危 外部 URL 外部 URL
https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz package-lock.json:3289 中危 外部 URL 外部 URL
https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz package-lock.json:3302 中危 外部 URL 外部 URL
https://registry.npmmirror.com/p-try/-/p-try-2.2.0.tgz package-lock.json:3318 中危 外部 URL 外部 URL
https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz package-lock.json:3328 中危 外部 URL 外部 URL
https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz package-lock.json:3347 中危 外部 URL 外部 URL
https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz package-lock.json:3357 中危 外部 URL 外部 URL
https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz package-lock.json:3367 中危 外部 URL 外部 URL
https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz package-lock.json:3377 中危 外部 URL 外部 URL
https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz package-lock.json:3384 中危 外部 URL 外部 URL
https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz package-lock.json:3391 中危 外部 URL 外部 URL
https://registry.npmmirror.com/pirates/-/pirates-4.0.7.tgz package-lock.json:3404 中危 外部 URL 外部 URL
https://registry.npmmirror.com/pkg-dir/-/pkg-dir-4.2.0.tgz package-lock.json:3414 中危 外部 URL 外部 URL
https://registry.npmmirror.com/pretty-format/-/pretty-format-29.7.0.tgz package-lock.json:3427 中危 外部 URL 外部 URL
https://registry.npmmirror.com/ansi-styles/-/ansi-styles-5.2.0.tgz package-lock.json:3442 中危 外部 URL 外部 URL
https://registry.npmmirror.com/prompts/-/prompts-2.4.2.tgz package-lock.json:3455 中危 外部 URL 外部 URL
https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz package-lock.json:3469 中危 外部 URL 外部 URL
https://registry.npmmirror.com/pure-rand/-/pure-rand-6.1.0.tgz package-lock.json:3475 中危 外部 URL 外部 URL
https://opencollective.com/fast-check package-lock.json:3485 中危 外部 URL 外部 URL
https://registry.npmmirror.com/react-is/-/react-is-18.3.1.tgz package-lock.json:3492 中危 外部 URL 外部 URL
https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz package-lock.json:3499 中危 外部 URL 外部 URL
https://registry.npmmirror.com/resolve/-/resolve-1.22.11.tgz package-lock.json:3509 中危 外部 URL 外部 URL
https://registry.npmmirror.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz package-lock.json:3530 中危 外部 URL 外部 URL
https://registry.npmmirror.com/resolve-from/-/resolve-from-5.0.0.tgz package-lock.json:3543 中危 外部 URL 外部 URL
https://registry.npmmirror.com/resolve.exports/-/resolve.exports-2.0.3.tgz package-lock.json:3553 中危 外部 URL 外部 URL
https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz package-lock.json:3563 中危 外部 URL 外部 URL
https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz package-lock.json:3573 中危 外部 URL 外部 URL
https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz package-lock.json:3586 中危 外部 URL 外部 URL
https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz package-lock.json:3596 中危 外部 URL 外部 URL
https://registry.npmmirror.com/sisteransi/-/sisteransi-1.0.5.tgz package-lock.json:3603 中危 外部 URL 外部 URL
https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz package-lock.json:3610 中危 外部 URL 外部 URL
https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz package-lock.json:3620 中危 外部 URL 外部 URL
https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.13.tgz package-lock.json:3630 中危 外部 URL 外部 URL
https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz package-lock.json:3641 中危 外部 URL 外部 URL
https://registry.npmmirror.com/stack-utils/-/stack-utils-2.0.6.tgz package-lock.json:3648 中危 外部 URL 外部 URL
https://registry.npmmirror.com/string-length/-/string-length-4.0.2.tgz package-lock.json:3661 中危 外部 URL 外部 URL
https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz package-lock.json:3675 中危 外部 URL 外部 URL
https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz package-lock.json:3690 中危 外部 URL 外部 URL
https://registry.npmmirror.com/strip-bom/-/strip-bom-4.0.0.tgz package-lock.json:3703 中危 外部 URL 外部 URL
https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz package-lock.json:3713 中危 外部 URL 外部 URL
https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz package-lock.json:3723 中危 外部 URL 外部 URL
https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz package-lock.json:3736 中危 外部 URL 外部 URL
https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz package-lock.json:3749 中危 外部 URL 外部 URL
https://registry.npmmirror.com/test-exclude/-/test-exclude-6.0.0.tgz package-lock.json:3762 中危 外部 URL 外部 URL
https://registry.npmmirror.com/tmpl/-/tmpl-1.0.5.tgz package-lock.json:3777 中危 外部 URL 外部 URL
https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz package-lock.json:3784 中危 外部 URL 外部 URL
https://registry.npmmirror.com/ts-jest/-/ts-jest-29.4.6.tgz package-lock.json:3797 中危 外部 URL 外部 URL
https://registry.npmmirror.com/type-fest/-/type-fest-4.41.0.tgz package-lock.json:3863 中危 外部 URL 外部 URL
https://registry.npmmirror.com/type-detect/-/type-detect-4.0.8.tgz package-lock.json:3876 中危 外部 URL 外部 URL
https://registry.npmmirror.com/type-fest/-/type-fest-0.21.3.tgz package-lock.json:3886 中危 外部 URL 外部 URL
https://registry.npmmirror.com/typescript/-/typescript-5.9.3.tgz package-lock.json:3899 中危 外部 URL 外部 URL
https://registry.npmmirror.com/uglify-js/-/uglify-js-3.19.3.tgz package-lock.json:3913 中危 外部 URL 外部 URL
https://registry.npmmirror.com/undici-types/-/undici-types-6.21.0.tgz package-lock.json:3927 中危 外部 URL 外部 URL
https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz package-lock.json:3934 中危 外部 URL 外部 URL
https://registry.npmmirror.com/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz package-lock.json:3965 中危 外部 URL 外部 URL
https://registry.npmmirror.com/walker/-/walker-1.0.8.tgz package-lock.json:3980 中危 外部 URL 外部 URL
https://registry.npmmirror.com/which/-/which-2.0.2.tgz package-lock.json:3990 中危 外部 URL 外部 URL
https://registry.npmmirror.com/wordwrap/-/wordwrap-1.0.0.tgz package-lock.json:4006 中危 外部 URL 外部 URL
https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz package-lock.json:4013 中危 外部 URL 外部 URL
https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz package-lock.json:4031 中危 外部 URL 外部 URL
https://registry.npmmirror.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz package-lock.json:4038 中危 外部 URL 外部 URL
https://registry.npmmirror.com/y18n/-/y18n-5.0.8.tgz package-lock.json:4052 中危 外部 URL 外部 URL
https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz package-lock.json:4062 中危 外部 URL 外部 URL
https://registry.npmmirror.com/yargs/-/yargs-17.7.2.tgz package-lock.json:4069 中危 外部 URL 外部 URL
https://registry.npmmirror.com/yargs-parser/-/yargs-parser-21.1.1.tgz package-lock.json:4088 中危 外部 URL 外部 URL
https://registry.npmmirror.com/yocto-queue/-/yocto-queue-0.1.0.tgz package-lock.json:4098 中危 外部 URL 外部 URL
https://api.weixin.qq.com/cgi-bin src/article.ts:18 中危 外部 URL 外部 URL
https://api.weixin.qq.com/cgi-bin/token tests/auth.test.ts:157 目录结构
18 文件 · 204.2 KB · 6359 行 JSON 3f · 4159L
TypeScript 10f · 1485L
Markdown 4f · 687L
JavaScript 1f · 28L
├─
▾
src
│ ├─
▾
scripts
│ │ ├─
publish.ts
TypeScript
│ │ ├─
query.ts
TypeScript
│ │ └─
upload-media.ts
TypeScript
│ ├─
article.ts
TypeScript
│ ├─
auth.ts
TypeScript
│ ├─
index.ts
TypeScript
│ ├─
media.ts
TypeScript
│ └─
types.ts
TypeScript
├─
▾
tests
│ ├─
auth.test.ts
TypeScript
│ └─
setup.ts
TypeScript
├─
DELIVERY.md
Markdown
├─
jest.config.js
JavaScript
├─
package-lock.json
JSON
├─
package.json
JSON
├─
README.md
Markdown
├─
SKILL.md
Markdown
├─
TECH_SPEC.md
Markdown
└─
tsconfig.json
JSON
依赖分析 2 项
| 包名 | 版本 | 来源 | 已知漏洞 | 备注 |
|---|---|---|---|---|
axios | ^1.6.0 | npm | 否 | Standard HTTP client |
form-data | ^4.0.0 | npm | 否 | Standard multipart form handling |
安全亮点
✓ Proper file permission handling (0o600) for token cache files
✓ Config file world-readable permission warnings
✓ Error message sanitization to prevent information leakage
✓ Access token caching with proper expiration handling
✓ Standard HTTPS requests to WeChat official API only
✓ No sensitive path access (SSH, AWS credentials, .env files)
✓ No obfuscation or encoded execution
✓ No remote script execution patterns
✓ Comprehensive test coverage
✓ Well-documented SKILL.md matching actual implementation