security-ownership-map — for Claude Code security-ownership-map, eathos, community, for Claude Code, ide skills, networkx, bash pip install networkx, cochange-max-files, graphml, cochange-exclude

v1.0.0

이 스킬 정보

적합한 상황: Ideal for AI agents that need security ownership map. 현지화된 요약: # Security Ownership Map Overview Build a bipartite graph of people and files from git history, then compute ownership risk and export graph artifacts for Neo4j/Gephi. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

기능

Security Ownership Map
networkx (required; community detection is enabled by default)
pip install networkx
Scope the repo and time window (optional --since/--until).
Decide sensitivity rules (use defaults or provide a CSV config).

# 핵심 주제

keivalya keivalya
[1]
[1]
업데이트: 3/20/2026

Skill Overview

Start with fit, limitations, and setup before diving into the repository.

적합한 상황: Ideal for AI agents that need security ownership map. 현지화된 요약: # Security Ownership Map Overview Build a bipartite graph of people and files from git history, then compute ownership risk and export graph artifacts for Neo4j/Gephi. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

이 스킬을 사용하는 이유

추천 설명: security-ownership-map helps agents security ownership map. Security Ownership Map Overview Build a bipartite graph of people and files from git history, then compute ownership risk and export graph artifacts

최적의 용도

적합한 상황: Ideal for AI agents that need security ownership map.

실행 가능한 사용 사례 for security-ownership-map

사용 사례: Applying Security Ownership Map
사용 사례: Applying networkx (required; community detection is enabled by default)
사용 사례: Applying pip install networkx

! 보안 및 제한 사항

  • 제한 사항: Requires repository-specific context from the skill documentation
  • 제한 사항: Works best when the underlying tools and dependencies are already configured

About The Source

The section below comes from the upstream repository. Use it as supporting material alongside the fit, use-case, and installation summary on this page.

Labs 데모

Browser Sandbox Environment

⚡️ Ready to unleash?

Experience this Agent in a zero-setup browser environment powered by WebContainers. No installation required.

Boot Container Sandbox

FAQ 및 설치 단계

These questions and steps mirror the structured data on this page for better search understanding.

? 자주 묻는 질문

security-ownership-map은 무엇인가요?

적합한 상황: Ideal for AI agents that need security ownership map. 현지화된 요약: # Security Ownership Map Overview Build a bipartite graph of people and files from git history, then compute ownership risk and export graph artifacts for Neo4j/Gephi. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

security-ownership-map은 어떻게 설치하나요?

다음 명령을 실행하세요: npx killer-skills add keivalya/eathos/security-ownership-map. Cursor, Windsurf, VS Code, Claude Code와 19개 이상의 다른 IDE에서 동작합니다.

security-ownership-map은 어디에 쓰이나요?

주요 활용 사례는 다음과 같습니다: 사용 사례: Applying Security Ownership Map, 사용 사례: Applying networkx (required; community detection is enabled by default), 사용 사례: Applying pip install networkx.

security-ownership-map 와 호환되는 IDE는 무엇인가요?

이 스킬은 Cursor, Windsurf, VS Code, Trae, Claude Code, OpenClaw, Aider, Codex, OpenCode, Goose, Cline, Roo Code, Kiro, Augment Code, Continue, GitHub Copilot, Sourcegraph Cody, and Amazon Q Developer 와 호환됩니다. 통합 설치에는 Killer-Skills CLI를 사용하세요.

security-ownership-map에 제한 사항이 있나요?

제한 사항: Requires repository-specific context from the skill documentation. 제한 사항: Works best when the underlying tools and dependencies are already configured.

이 스킬 설치 방법

  1. 1. 터미널 열기

    프로젝트 디렉터리에서 터미널 또는 명령줄을 여세요.

  2. 2. 설치 명령 실행

    npx killer-skills add keivalya/eathos/security-ownership-map 를 실행하세요. CLI가 IDE 또는 에이전트를 자동으로 감지하고 스킬을 설정합니다.

  3. 3. 스킬 사용 시작

    스킬이 이제 활성화되었습니다. 현재 프로젝트에서 security-ownership-map을 바로 사용할 수 있습니다.

! Source Notes

This page is still useful for installation and source reference. Before using it, compare the fit, limitations, and upstream repository notes above.

Upstream Repository Material

The section below comes from the upstream repository. Use it as supporting material alongside the fit, use-case, and installation summary on this page.

Upstream Source

security-ownership-map

Install security-ownership-map, an AI agent skill for AI agent workflows and automation. Explore features, use cases, limitations, and setup guidance.

SKILL.md
Readonly
Upstream Repository Material
The section below comes from the upstream repository. Use it as supporting material alongside the fit, use-case, and installation summary on this page.
Upstream Source

Security Ownership Map

Overview

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.

Requirements

  • Python 3
  • networkx (required; community detection is enabled by default)

Install with:

bash
1pip install networkx

Workflow

  1. Scope the repo and time window (optional --since/--until).
  2. Decide sensitivity rules (use defaults or provide a CSV config).
  3. Build the ownership map with scripts/run_ownership_map.py (co-change graph is on by default; use --cochange-max-files to ignore supernode commits).
  4. Communities are computed by default; graphml output is optional (--graphml).
  5. Query the outputs with scripts/query_ownership.py for bounded JSON slices.
  6. Persist and visualize (see 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:

bash
1python skills/skills/security-ownership-map/scripts/run_ownership_map.py \ 2 --repo /path/to/linux \ 3 --out ownership-map-out \ 4 --cochange-exclude "**/Kbuild"

Quick start

Run from the repo root:

bash
1python skills/skills/security-ownership-map/scripts/run_ownership_map.py \ 2 --repo . \ 3 --out ownership-map-out \ 4 --since "12 months ago" \ 5 --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):

bash
1python skills/skills/security-ownership-map/scripts/run_ownership_map.py \ 2 --repo . \ 3 --out ownership-map-out \ 4 --cochange-exclude "**/Cargo.lock" \ 5 --cochange-exclude "**/.github/**" \ 6 --no-default-cochange-excludes

Communities are computed by default. To disable:

bash
1python skills/skills/security-ownership-map/scripts/run_ownership_map.py \ 2 --repo . \ 3 --out ownership-map-out \ 4 --no-communities

Sensitivity rules

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.

Output artifacts

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.

LLM query helper

Use scripts/query_ownership.py to return small, JSON-bounded slices without loading the full graph into context.

Examples:

bash
1python skills/skills/security-ownership-map/scripts/query_ownership.py --data-dir ownership-map-out people --limit 10 2python skills/skills/security-ownership-map/scripts/query_ownership.py --data-dir ownership-map-out files --tag auth --bus-factor-max 1 3python skills/skills/security-ownership-map/scripts/query_ownership.py --data-dir ownership-map-out person --person alice@corp --limit 10 4python skills/skills/security-ownership-map/scripts/query_ownership.py --data-dir ownership-map-out file --file crypto/tls 5python skills/skills/security-ownership-map/scripts/query_ownership.py --data-dir ownership-map-out cochange --file crypto/tls --limit 10 6python skills/skills/security-ownership-map/scripts/query_ownership.py --data-dir ownership-map-out summary --section orphaned_sensitive_code 7python skills/skills/security-ownership-map/scripts/query_ownership.py --data-dir ownership-map-out community --id 3

Use --community-top-owners 5 (default) to control how many maintainers are stored per community.

Basic security queries

Run these to answer common security ownership questions with bounded output:

bash
1# Orphaned sensitive code (stale + low bus factor) 2python skills/skills/security-ownership-map/scripts/query_ownership.py --data-dir ownership-map-out summary --section orphaned_sensitive_code 3 4# Hidden owners for sensitive tags 5python skills/skills/security-ownership-map/scripts/query_ownership.py --data-dir ownership-map-out summary --section hidden_owners 6 7# Sensitive hotspots with low bus factor 8python skills/skills/security-ownership-map/scripts/query_ownership.py --data-dir ownership-map-out summary --section bus_factor_hotspots 9 10# Auth/crypto files with bus factor <= 1 11python skills/skills/security-ownership-map/scripts/query_ownership.py --data-dir ownership-map-out files --tag auth --bus-factor-max 1 12python skills/skills/security-ownership-map/scripts/query_ownership.py --data-dir ownership-map-out files --tag crypto --bus-factor-max 1 13 14# Who is touching sensitive code the most 15python skills/skills/security-ownership-map/scripts/query_ownership.py --data-dir ownership-map-out people --sort sensitive_touches --limit 10 16 17# Co-change neighbors (cluster hints for ownership drift) 18python skills/skills/security-ownership-map/scripts/query_ownership.py --data-dir ownership-map-out cochange --file path/to/file --min-jaccard 0.05 --limit 20 19 20# Community maintainers (for a cluster) 21python skills/skills/security-ownership-map/scripts/query_ownership.py --data-dir ownership-map-out community --id 3 22 23# Monthly maintainers for the community containing a file 24python skills/skills/security-ownership-map/scripts/community_maintainers.py \ 25 --data-dir ownership-map-out \ 26 --file network/card.c \ 27 --since 2025-01-01 \ 28 --top 5 29 30# Quarterly buckets instead of monthly 31python skills/skills/security-ownership-map/scripts/community_maintainers.py \ 32 --data-dir ownership-map-out \ 33 --file network/card.c \ 34 --since 2025-01-01 \ 35 --bucket quarter \ 36 --top 5

Notes:

  • Touches default to one authored commit (not per-file). Use --touch-mode file to count per-file touches.
  • Use --window-days 90 or --weight recency --half-life-days 180 to smooth churn.
  • Filter bots with --ignore-author-regex '(bot|dependabot)'.
  • Use --min-share 0.1 to show stable maintainers only.
  • Use --bucket quarter for calendar quarter groupings.
  • Use --identity committer or --date-field committer to switch from author attribution.
  • Use --include-merges to include merge commits (excluded by default).

Summary format (default)

Use this structure, add fields if needed:

json
1{ 2 "orphaned_sensitive_code": [ 3 { 4 "path": "crypto/tls/handshake.rs", 5 "last_security_touch": "2023-03-12T18:10:04+00:00", 6 "bus_factor": 1 7 } 8 ], 9 "hidden_owners": [ 10 { 11 "person": "alice@corp", 12 "controls": "63% of auth code" 13 } 14 ] 15}

Graph persistence

Use references/neo4j-import.md when you need to load the CSVs into Neo4j. It includes constraints, import Cypher, and visualization tips.

Notes

  • bus_factor_hotspots in summary.json lists sensitive files with low bus factor; orphaned_sensitive_code is the stale subset.
  • If git log is too large, narrow with --since or --until.
  • Compare summary.json against CODEOWNERS to highlight ownership drift.

관련 스킬

Looking for an alternative to security-ownership-map or another community skill for your workflow? Explore these related open-source skills.

모두 보기

openclaw-release-maintainer

Logo of openclaw
openclaw

현지화된 요약: 🦞 # OpenClaw Release Maintainer Use this skill for release and publish-time workflow. It covers ai, assistant, crustacean workflows. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

333.8k
0
인공지능

widget-generator

Logo of f
f

현지화된 요약: Generate customizable widget plugins for the prompts.chat feed system # Widget Generator Skill This skill guides creation of widget plugins for prompts.chat . It covers ai, artificial-intelligence, awesome-list workflows. This AI agent skill supports Claude Code, Cursor, and Windsurf

149.6k
0
인공지능

flags

Logo of vercel
vercel

현지화된 요약: The React Framework # Feature Flags Use this skill when adding or changing framework feature flags in Next.js internals. It covers blog, browser, compiler workflows. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

138.4k
0
브라우저

pr-review

Logo of pytorch
pytorch

현지화된 요약: Usage Modes No Argument If the user invokes /pr-review with no arguments, do not perform a review . It covers autograd, deep-learning, gpu workflows. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

98.6k
0
개발자