SuperAPI AI 工具集

openai-security-ownership-map

智能体与模型

查看项目

更新于 10-16 01:13

技能介绍

用途:从 Git 历史构建人员与文件的双部图,评估代码归属风险,并生成可导入 Neo4j/Gephi 的图产物;同时基于共同提交的 Jaccard 相似度构建文件共变图,对文件聚类,并忽略大型噪声提交。

主要能力:计算巴士因子与敏感代码归属;默认标记常见 auth/crypto/secret 路径,可用 CSV 配置覆盖;默认计算社区并输出每社区维护者;可输出 people.csv、files.csv、edges.csv、cochange_edges.csv、summary.json、commits.jsonl、communities.json、cochange.graph.json 及可选 graphml。people.csv 含基于作者提交偏移的时区字段。query_ownership.py 可返回有界的 JSON 切片,便于 LLM 查询,还提供孤儿敏感代码、隐藏所有者、巴士因子热点等摘要。

必要用法:需 Python 3 与 networkx,安装命令 pip install networkx。从仓库根运行 scripts/run_ownership_map.py,参数如 --repo、--out、--since、--emit-commits;默认排除作者身份、作者日期与合并提交,可用 --identity committer、--date-field committer、--include-merges 调整。共变图默认忽略 lockfile、.github/*、编辑器配置等“胶水”文件,可用 --cochange-exclude 或 --no-default-cochange-excludes 覆盖;默认排除 Dependabot 提交,可用 --no-default-author-excludes 或 --author-exclude-regex 调整;社区默认计算,--no-communities 可关闭。敏感规则可用 --sensitive-config 指定 CSV(pattern,tag,weight)。查询示例:python scripts/query_ownership.py --data-dir ownership-map-out people --limit 10,以及 files --tag auth --bus-factor-max 1、summary --section orphaned_sensitive_code 等;community_maintainers.py 可按月或季度输出社区维护者。

适用场景:评估敏感代码的低巴士因子风险、发现隐藏所有者、检测归属漂移(可与 CODEOWNERS 对比)、为图数据库或可视化工具准备数据。

限制:资料未提供具体平台兼容性与效果保证;git log 过大时需用 --since/--until 收窄;默认排除合并提交、Dependabot 与部分配置文件,可能影响结果范围;其他收费、价格与更多限制暂未提供。