{"schemaVersion":2,"dataVersion":"20260822T105549Z-0a0b366f","generatedAt":"2026-08-22T10:55:49.138Z","source":{"id":"ganyuanran-aegis","slug":"ganyuanran-aegis","rank":15,"url":"https://github.com/GanyuanRan/Aegis","name":"GanyuanRan/Aegis","category":"skill","description":{"zh":"面向编码 Agent 的软件工程方法包，提供基线优先规划、系统化调试、提示词卫生、完成前验证，以及修复/退役双轨跟踪技能。","en":"Software-engineering method pack for coding agents, with skills for baseline-first planning, systematic debugging, prompt hygiene, verification before completion, and repair/retirement tracking."},"stars":1094,"starsCheckedAt":"2026-08-21","repository":{"owner":"GanyuanRan","repo":"Aegis","requestedRef":null,"subpath":""},"npm":null,"downloads":null,"installMode":"github-source","upstreamInstall":"dsh plugin --profile web add github:GanyuanRan/Aegis","tarball":null,"added":"2026-08-15","page":"https://awesome-dsh-plugin.com/p/GanyuanRan/Aegis/","screenshots":[],"discovery":{"provider":"awesome-dsh-plugin","channel":"plugins.json","indexUrl":"https://github.com/awesome-dsh-plugin/awesome-dsh-plugin","selection":"all curated entries"}},"report":{"sourceId":"ganyuanran-aegis","slug":"ganyuanran-aegis","policyVersion":"HT-DSH-0.2.2","scannedAt":"2026-08-22T08:19:37.509Z","scanStatus":"static-complete","verdict":"pass","score":98,"commit":"fea84dd545385ebdbe1c7ceab0d2afb8fe9d4600","commitDate":"2026-08-22T09:32:54+08:00","artifactDigest":"sha256:4f792dc051200ec7b4705d0cfe57dda5ce528a27870e9952fe9e6c057d5074b4","downloadUrl":"https://github.com/GanyuanRan/Aegis/archive/fea84dd545385ebdbe1c7ceab0d2afb8fe9d4600.tar.gz","installMode":"github-source","installCommand":"dsh plugin --profile web add github:GanyuanRan/Aegis","manifest":{"found":true,"path":"package.json","parseError":null,"packageName":"aegis","packageVersion":"2.8.5","bundle":{"patch":"./extensions/dsh/cordis.patch.yml"},"client":null,"lifecycleScripts":{},"peerDependencies":["@deepseek-ai/dsh-agent","@deepseek-ai/dsh-llm","@deepseek-ai/dsh-skill-filesystem"]},"identity":{"status":"found","installMode":"github-source","upstreamNpm":null,"manifestName":"aegis","nameMatch":null,"npm":{"name":"aegis","latestVersion":"0.1.0","publishedAt":"2012-06-10T00:48:37.204Z","createdAt":"2012-06-10T00:48:32.682Z","versionCount":1,"maintainers":1,"repository":"git://github.com/killdream/aegis.git","hasInstallScripts":false,"deprecated":true},"repositoryMatch":"mismatch","provenance":"none","tarballHost":null,"versionMatch":"differs"},"permissions":{"bundlePatch":"extensions/dsh/cordis.patch.yml","inserts":[{"id":"aegis-method-pack","name":"aegis/extensions/dsh/index.js","path":"extensions/dsh/cordis.patch.yml","disabled":false}],"overrides":[],"jsExpressions":0,"clientPlatform":null,"parseErrors":[]},"capabilities":["environment","filesystem","host-bundle","session","subprocess"],"outboundHosts":[],"findings":[{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":".opencode/plugins/aegis.js","pathClass":"source","line":12,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"904a795bea9c0d15745b7271"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/aegis-doctor.py","pathClass":"source","line":572,"evidence":"subprocess.run","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"fbb04fc40d53086e33d3ad83"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/aegis-doctor.py","pathClass":"source","line":585,"evidence":"subprocess.run","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"fbb04fc40d53086e33d3ad83"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/aegis-update.py","pathClass":"source","line":363,"evidence":"subprocess.run","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"92925bc22731633ab5d45774"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"skills/writing-skills/render-graphs.js","pathClass":"source","line":18,"evidence":"execSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"5de8c1d012075ca69e1cdbd7"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"skills/writing-skills/render-graphs.js","pathClass":"source","line":18,"evidence":"child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"9def26e9b77667e80fe3dd78"},{"id":"HT-SECRET-001","title":"疑似硬编码凭据","severity":"critical","confidence":"low","layer":"static","path":"tests/e2e/fixtures/workflow-quality-matrix.json","pathClass":"test-example-docs","line":285,"evidence":"sk-evidence-strength-uncovered-risk-fresh-command-exit-status-covered-scope","remediation":"立即吊销凭据，并改用 DSH credentials 服务或环境引用。","note":"字符熵 3.97，形态与真实密钥一致；位于测试、示例或文档目录","hash":"bdbed48ba08dd2d2c634c110"},{"id":"HT-SECRET-001","title":"疑似硬编码凭据","severity":"critical","confidence":"low","layer":"static","path":"tests/e2e/fixtures/workflow-quality-matrix.json","pathClass":"test-example-docs","line":315,"evidence":"sk-intent-baseline-impact-existence-check-options-decision-needed","remediation":"立即吊销凭据，并改用 DSH credentials 服务或环境引用。","note":"字符熵 3.67，形态与真实密钥一致；位于测试、示例或文档目录","hash":"0cebffc8f9e9141ebce5eef0"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/helpers/agentic_benchmark_isolation.py","pathClass":"test-example-docs","line":200,"evidence":"subprocess.run","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"e07e95b694d95c65ca9f7591"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/helpers/agentic_benchmark_isolation.py","pathClass":"test-example-docs","line":429,"evidence":"subprocess.run","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"e07e95b694d95c65ca9f7591"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/helpers/agentic_benchmark_process_supervisor.py","pathClass":"test-example-docs","line":106,"evidence":"subprocess.Popen","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"57c60a7f44294126ca53be2c"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/helpers/agentic_benchmark_process_supervisor.py","pathClass":"test-example-docs","line":152,"evidence":"subprocess.Popen","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"57c60a7f44294126ca53be2c"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/helpers/agentic_benchmark_provider_preflight.py","pathClass":"test-example-docs","line":290,"evidence":"subprocess.Popen","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"331dde65f35ee6b248eb1370"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/helpers/agentic_benchmark_provider_preflight.py","pathClass":"test-example-docs","line":310,"evidence":"subprocess.Popen","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"331dde65f35ee6b248eb1370"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/helpers/run_agentic_benchmark.py","pathClass":"test-example-docs","line":136,"evidence":"subprocess.run","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"d8432fe30273249b22620891"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/helpers/run_controlled_replay_samples.py","pathClass":"test-example-docs","line":308,"evidence":"subprocess.run","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"744e70ffc3990a67539d15e6"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/helpers/run_controlled_replay_samples.py","pathClass":"test-example-docs","line":369,"evidence":"subprocess.run","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"744e70ffc3990a67539d15e6"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/helpers/score_agentic_benchmark_outcome.py","pathClass":"test-example-docs","line":555,"evidence":"subprocess.run","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"de75b26593f12efce589ec73"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/helpers/test_agentic_benchmark_active_run.py","pathClass":"test-example-docs","line":376,"evidence":"subprocess.Popen","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"72eda924098fa5d0219eb951"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/helpers/test_agentic_benchmark_preflight.py","pathClass":"test-example-docs","line":248,"evidence":"subprocess.run","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"33bc7e06bd449f5796940bfb"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/helpers/test_agentic_benchmark_process_supervisor.py","pathClass":"test-example-docs","line":301,"evidence":"subprocess.Popen","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"b8eabc79572c39f2a861e3fc"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/helpers/test_agentic_benchmark_process_supervisor.py","pathClass":"test-example-docs","line":302,"evidence":"subprocess.Popen","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"b8eabc79572c39f2a861e3fc"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/helpers/test_run_agentic_benchmark.py","pathClass":"test-example-docs","line":455,"evidence":"subprocess.run","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"331d7c980a2a85655ae4a92e"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/helpers/test_run_agentic_benchmark.py","pathClass":"test-example-docs","line":1155,"evidence":"subprocess.Popen","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"701e34262a92016c09cc3911"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/helpers/test_session_start_hook.py","pathClass":"test-example-docs","line":56,"evidence":"subprocess.run","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"28b9166b7f2ec20155490d2a"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/helpers/test_session_start_hook.py","pathClass":"test-example-docs","line":72,"evidence":"subprocess.run","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"28b9166b7f2ec20155490d2a"},{"id":"HT-IDENTITY-001","title":"npm 上存在同名包但指向其他仓库","severity":"low","confidence":"medium","path":"package.json","pathClass":"manifest","line":1,"evidence":"npm repository=git://github.com/killdream/aegis.git ≠ ganyuanran/aegis","remediation":"npm 上存在同名包但指向其它仓库；从源码安装时请使用 github: 引用并锁定 commit。","layer":"identity","hash":"4b87190bd93432036b6e15d0"}],"counts":{"critical":0,"high":0,"medium":0,"low":7},"rawCounts":{"critical":2,"high":0,"medium":0,"low":25},"vulnerabilities":[],"coverage":{"source":"complete","manifest":"complete","bundleConfig":"complete","dependencies":"lockfile-missing","vulnerabilities":"lockfile-missing","identity":"complete","artifact":"not-compared","llmReview":"not-needed","dynamicRuntime":"not-run","humanReview":"not-run"},"inventory":{"filesScanned":419,"bytesScanned":3358188,"truncated":false,"lockfiles":[],"pathClasses":{"data":10,"markdown":119,"test-example-docs":271,"source":12,"cordis":1,"script":5,"manifest":1}},"limitations":["此结果为源码静态检测，不等同于无漏洞证明。","尚未比对 npm 发布包与源码的一致性，也未执行隔离运行和人工复核。","危险能力可能是插件功能所需，需结合用途与证据人工判断。"],"limitationKeys":["static-analysis-only","no-artifact-runtime-human-review","capability-needs-context"]},"timeline":[{"scannedAt":"2026-08-22T08:19:37.509Z","commit":"fea84dd545385ebdbe1c7ceab0d2afb8fe9d4600","policyVersion":"HT-DSH-0.2.2","verdict":"pass","status":"static-complete"},{"scannedAt":"2026-08-21T11:17:27.547Z","commit":"d5bda9fb9df0f94587283954f1c155816abe9002","policyVersion":"HT-DSH-0.2.1","verdict":"pass","status":"static-complete"},{"scannedAt":"2026-08-21T10:44:42.349Z","commit":"d5bda9fb9df0f94587283954f1c155816abe9002","policyVersion":"HT-DSH-0.2.0","verdict":"caution","status":"static-complete"}],"events":[{"kind":"policy-change","from":"HT-DSH-0.2.1","to":"HT-DSH-0.2.2","commit":"fea84dd545385ebdbe1c7ceab0d2afb8fe9d4600","policyVersion":"HT-DSH-0.2.2","at":"2026-08-22T08:19:37.509Z"},{"kind":"verdict-change","from":"caution","to":"pass","commit":"d5bda9fb9df0f94587283954f1c155816abe9002","policyVersion":"HT-DSH-0.2.1","at":"2026-08-21T11:17:27.547Z"},{"kind":"first-scan","from":null,"to":"caution","commit":"d5bda9fb9df0f94587283954f1c155816abe9002","policyVersion":"HT-DSH-0.2.0","at":"2026-08-21T10:44:42.349Z"}]}