分析 Git 历史构建安全归属拓扑,识别敏感代码负责人与 bus factor 风险。
整体风险较低。材料显示其主要针对本地 Git 仓库做安全归属分析,无需密钥、未声明远程外发;如实际使用其 Python 脚本,则主要风险点在于本地代码执行以及对仓库历史与导出文件的本地读写。
材料明确标注无需密钥或环境变量,未见 API token、云凭证或账户授权要求,因此凭证泄露与滥用面较小。
未声明任何远程端点;README 描述的是对本地 Git 历史建图并导出 CSV/JSON/GraphML,未见将用户数据发送到外部服务的说明。
README 指示运行本地 Python 脚本(如 `run_ownership_map.py`、`query_ownership.py`)并安装 `networkx` 依赖;这属于本地代码执行与依赖安装的常规能力,应注意仅在受信环境中运行并审查源码。
其功能需要读取目标仓库的 Git 历史、文件路径和作者信息,并在输出目录写入分析结果(如 people/files/edges CSV 等)。材料未见超出声明用途的系统级过度授权,但会接触本地代码与提交元数据。
来源为 GitHub 上的开源仓库 `openai/skills`,且社区采用度高(约 22k stars),可审计性和来源可信度较强。许可证未声明、维护状态未知是小的治理不确定项,但不足以单独升为高风险。
复制安装指令,让 AI 自动完成配置 · 推荐新手
请帮我安装 askskill 上的 "security-ownership-map" 技能: 1. 下载 https://raw.githubusercontent.com/openai/skills/main/skills/.curated/security-ownership-map/SKILL.md 2. 保存为 ~/.claude/skills/security-ownership-map/SKILL.md 3. 装好后重载技能,告诉我可以用了
Build a bipartite graph of people and files from git history, then compute ownership risk and export graph artifacts for Neo4j/Gephi. Also build a file co-change graph (Jaccard similarity on shared commits) to cluster files by how they move together while ignoring large, noisy commits.
networkx (required; community detection is enabled by default)Install with:
pip install networkx
--since/--until).scripts/run_ownership_map.py (co-change graph is on by default; use --cochange-max-files to ignore supernode commits).--graphml).scripts/query_ownership.py for bounded JSON slices.references/neo4j-import.md).By default, the co-change graph ignores common “glue” files (lockfiles, .github/*, editor config) so clusters reflect actual code movement instead of shared infra edits. Override with --cochange-exclude or --no-default-cochange-excludes. Dependabot commits are excluded by default; override with --no-default-author-excludes or add patterns via --author-exclude-regex.
If you want to exclude Linux build glue like Kbuild from co-change clustering, pass:
python skills/skills/security-ownership-map/scripts/run_ownership_map.py \
--repo /path/to/linux \
--out ownership-map-out \
--cochange-exclude "**/Kbuild"
Run from the repo root:
python skills/skills/security-ownership-map/scripts/run_ownership_map.py \
--repo . \
--out ownership-map-out \
--since "12 months ago" \
--emit-commits
Defaults: author identity, author date, and merge commits excluded. Use --identity committer, --date-field committer, or --include-merges if needed.
Example (override co-change excludes):
python skills/skills/security-ownership-map/scripts/run_ownership_map.py \
--repo . \
--out ownership-map-out \
--cochange-exclude "**/Cargo.lock" \
--cochange-exclude "**/.github/**" \
--no-default-cochange-excludes
Communities are computed by default. To disable:
python skills/skills/security-ownership-map/scripts/run_ownership_map.py \
--repo . \
--out ownership-map-out \
--no-communities
By default, the script flags common auth/crypto/secret paths. Override by providing a CSV file:
# pattern,tag,weight
**/auth/**,auth,1.0
**/crypto/**,crypto,1.0
**/*.pem,secrets,1.0
Use it with --sensitive-config path/to/sensitive.csv.
ownership-map-out/ contains:
people.csv (nodes: people)files.csv (nodes: files)edges.csv (edges: touches)cochange_edges.csv (file-to-file co-change edges with Jaccard weight; omitted with --no-cochange)summary.json (security ownership findings)commits.jsonl (optional, if --emit-commits)communities.json (computed by default from co-change edges when available; includes maintainers per community; disable with --no-communities)cochange.graph.json (NetworkX node-link JSON with community_id + community_maintainers; falls back to ownership.graph.json if no co-change edges)ownership.graphml / cochange.graphml (optional, if --graphml)people.csv includes timezone detection based on author commit offsets: primary_tz_offset, primary_tz_minutes, and timezone_offsets.
Use scripts/query_ownership.py to return small, JSON-bounded slices without loading the full graph into context.
Examples:
python skills/skills/security-ownership-map/scripts/query_ownership.py --data-dir ownership-map-out people --limit 10
…
根据角色或品牌视觉生成、修复并打包可用于 Codex 的动画宠物素材。
帮助你构建、评审与重构 ASP.NET Core Web 应用及架构方案
用于构建、脚手架生成、重构并排查 ChatGPT Apps SDK 应用问题。
帮助你基于接口文档或脚本快速生成可组合的命令行工具
为项目代码库生成定制化设计系统规则,统一 Figma 到代码协作规范。
帮助用户用 Netlify CLI 部署、发布并关联网站项目到 Netlify。
为 GitHub 仓库提供克隆、代码审计、安全扫描与智能解析能力。
帮助用户在代码仓库中识别可远程利用、具备漏洞赏金价值的安全问题。
扫描公开 GitHub 仓库与 PR,生成风险地图、问题发现和合并就绪判断。
分析代码库健康状况,识别死代码、循环依赖与架构漂移问题。
基于代码仓库梳理威胁边界、攻击路径与缓解措施,生成精炼威胁模型。
分析本地 TS/JS 仓库的依赖关系与变更影响范围,辅助安全修改代码。