Install
npx skillscat add jiying2007/agent-dev-kit/adk-security-supply-chain Install via the SkillsCat registry.
SKILL.md
adk-security-supply-chain
Goal
- 防止第三方资产未经审查进入生产运行环境。
- 建立可追溯的供应链安全审查流程,确保每个引入决策有据可查。
Prerequisites
- 已明确候选资产来源、版本或 commit。
- 已明确安装范围:
core、optional、profile或reject。
Workflow
- 来源审查:确认仓库可达性、维护状态、版本锚点。
- 许可证审查:确认 LICENSE 与使用范围。
- SBOM 生成:生成软件物料清单,记录所有直接与间接依赖。
- CVE 扫描:检查已知漏洞,评估影响范围与修复状态。
- 脚本审查:列出可执行脚本、危险命令、网络访问和写入路径。
- 敏感信息审查:检查密钥、token、个人路径和内部域名。
- 签名验证:验证资产完整性与发布者身份。
- 运行态信任边界审查:确认 base URL、relay、MCP server、hooks、sandbox 和 approval policy。
- 工具调用策略审查:为读文件、写文件、命令执行、网络访问、凭证读取列出 allow/deny 条件。
- MCP/plugin readiness:核对暴露清单、schema/smoke、auth scope、依赖边界和回滚步骤。
- Runtime Control Plane Audit:若候选资产暴露 slash command、MCP server、hook、permission profile 或外部 connector,记录
slash_command_runtime_audit、mcp_runtime_contract、permission_profile_decision、approval_boundary、deny_path_test和rollback_path。 - 安装范围审查:确认仅进入 core/optional/profile/plugin 中的最小范围。
- 回滚审查:给出移除方式和安装回退点。
Runtime Boundary Checklist
- Provider/API relay:默认只允许官方或已审查端点;非标准 base URL 必须有 owner、用途、凭证边界和关闭方式。
- MCP server:必须声明 command、args、cwd、env、网络目标、读写路径和工具集合。
- Tool call:LLM 返回的调用请求视为不可信输入,执行前由本地 policy 确定允许或拒绝。
- Hooks:只允许做 secret scan、validator、lint/test gate 和审计记录,不得静默修改运行配置。
- Audit log:高风险调用至少记录 tool、args 摘要、cwd、policy decision、exit code。
MCP / Plugin Readiness
- MCP 必须有 tool/resource/prompt 暴露清单、输入输出 schema、runtime MCP list 或 inspector/smoke 证据。
- OAuth/API token 必须声明最小 scope、凭证来源、轮换和撤销方式。
- 从 skill 晋级 plugin 时,必须声明 plugin manifest、owner、version、license、profile 绑定和 rollback。
- 缺少 deny-path guard test、隐藏工具或运行态清单漂移时,结论为
needs-fix。
Commands
rg -n "api[_-]?key|token|secret|password|PRIVATE KEY" <candidate_path>
find <candidate_path> -type f -perm -111
bash scripts/devkit.sh validate --strict
rg -n "license|LICENSE" <candidate_path> | head -20
rg -n "curl|wget|fetch|http|https" <candidate_path>
rg -n "writeFile|fs\.write|os\.path|open\(" <candidate_path>
rg -n "BASE_URL|base_url|mcp|hook|approval|sandbox" <candidate_path>
syft <candidate_path> -o spdx-json > sbom.spdx.json
grype sbom:sbom.spdx.json --output table
trivy fs --security-checks vuln <candidate_path>
gpg --verify <signature_file> <artifact_file>
sha256sum -c <checksum_file>Evidence Template
- Source + Version:
- License Decision:
- SBOM Summary:
- CVE Scan Results:
- Executable Scripts:
- External Dependencies:
- Secret Scan:
- Signature Verification:
- verification_command_safety:
- command_id:
- source:
- trust_level:
- unsafe_shell_tokens:
- mutates_state:
- network_required:
- review_status:
- Runtime Trust Boundary:
- Runtime Control Plane Audit:
- slash_command_runtime_audit:
- mcp_runtime_contract:
- permission_profile_decision:
- approval_boundary:
- deny_path_test:
- rollback_path:
- MCP/Plugin Readiness:
- Tool-call Policy:
- Guard Test:
- Install Scope:
- Rollback Path:
- Final Decision:Failure Handling
- 存在明文凭证、未知许可证或不可解释脚本时,结论为
reject或needs-fix。 - CVE 扫描发现高危漏洞(CVSS >= 7.0)时,必须等待修复或给出缓解方案。
- 签名验证失败时,必须确认资产完整性后再继续审查。
- SBOM 生成失败时,手动列出依赖并记录审查范围限制。
- 非标准 base URL 或 MCP server 无 owner/用途/权限边界时,结论为
needs-fix。 - 高风险工具缺少 guard test 或拒绝样例时,不得进入生产 profile。
- MCP/plugin 缺少暴露清单、scope、smoke 或 rollback 时,不得进入生产 profile。
Quality Gate
- 进入
core前必须完成安全与供应链审查,包括 SBOM 和 CVE 扫描。 - 进入
optional/profile前必须有最小安装范围与回滚路径。 - 所有可执行脚本必须说明用途,禁止引入用途不明的脚本。
- 敏感信息扫描必须覆盖所有文件类型,包括二进制和配置文件。
- 签名验证结果必须记录在审查报告中,未签名资产必须标注风险等级。
- 涉及 MCP、hooks、provider relay 或命令执行时,必须附 tool-call policy 和至少一个 deny-path 验证。
- MCP/plugin 进入生产 profile 前必须附加载结果、暴露清单一致性和禁用回滚证据。
- slash command、MCP runtime 或 permission profile 缺少控制面审计、approval boundary 或 deny-path test 时,不得进入生产 profile。