gitnexus-taint-analysis — скилл для Claude Code: анализ taint
Скилл для работы с подсистемой CFG/taint/PDG в GitNexus: разбор находок, добавление источников и стоков, правка межпроцедурного кода.
npx skills add abhigyanpatwari/GitNexus --skill gitnexus-taint-analysis -a claude-codeЧто делает gitnexus-taint-analysis
Скилл даёт агенту знания о внутренностях --pdg в GitNexus: графы потока управления, достигающие определения и taint-анализ внутри и между процедурами. Он пригодится, когда нужно объяснить находку explain, добавить новый источник, сток или санитайзер, либо разобрать ложное срабатывание в выводе --pdg.
Устроено это слоями. L1 строит CFG по функциям, L2 считает достигающие определения, L3 ищет пути от источников к стокам внутри функции с учётом санитайзеров, L4 собирает межпроцедурные сводки и прогоняет их по графу вызовов. Парсер наполняет побочный канал данными, а решают всё чистые функции на главном потоке. Каждый слой включается только при --pdg, и обычный прогон analyze остаётся побайтово тем же.
Есть и слабые места, о которых стоит знать заранее. Замыкания и колбэки taint не пробрасывают: без моделей под конкретные библиотеки поток в колбэк теряется. Также отложены потоки через поля объектов, санитайзеры в стиле проверок и асинхронная передача через промисы. Контекстная нечувствительность здесь принята сознательно — одна сводка на функцию, поэтому слияние вызовов может дать ложные срабатывания.
Какие задачи решает
- объяснить, почему
explainне нашёл конкретный поток данных - добавить новый источник, сток или санитайзер в модель
- разобрать ложное срабатывание в выводе
--pdg - расширить или проверить код CFG и достигающих определений
- понять разницу между внутри- и межпроцедурными находками
Примеры запросов агенту
- Как здесь работает taint-анализ и почему этот поток не попал в отчёт?
- Добавь новый сток для
db.queryв модель taint. - Проверь код межпроцедурного taint в
gitnexus/src/core/ingestion/taint/**.
Как установить gitnexus-taint-analysis
1Через Skills CLI (Vercel)
npx skills add abhigyanpatwari/GitNexus --skill gitnexus-taint-analysis -a claude-code2Вручную: положить файлы
~/.claude/skills/gitnexus-taint-analysis/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/gitnexus-taint-analysis/
1Через Skills CLI (Vercel)
npx skills add abhigyanpatwari/GitNexus --skill gitnexus-taint-analysis -a codex2Вручную: положить файлы
.agents/skills/gitnexus-taint-analysis/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add abhigyanpatwari/GitNexus --skill gitnexus-taint-analysis -a cursor2Вручную: положить файлы
.cursor/skills/gitnexus-taint-analysis/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install abhigyanpatwari/GitNexus gitnexus-taint-analysis2Вручную: положить файлы
.github/skills/gitnexus-taint-analysis/SKILL.md1Через Skills CLI (Vercel)
npx skills add abhigyanpatwari/GitNexus --skill gitnexus-taint-analysis -a gemini-cli2Командой платформы
gemini skills install https://github.com/abhigyanpatwari/GitNexus --path gitnexus-claude-plugin/skills/gitnexus-taint-analysisВручную: положить файлы
.devin/skills/gitnexus-taint-analysis/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add abhigyanpatwari/GitNexus --skill gitnexus-taint-analysis -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о gitnexus-taint-analysis
Как установить gitnexus-taint-analysis в Claude Code?
Выполните npx skills add abhigyanpatwari/GitNexus --skill gitnexus-taint-analysis -a claude-code. Скилл окажется в ~/.claude/skills/gitnexus-taint-analysis/SKILL.md.
Что делает gitnexus-taint-analysis?
Даёт агенту знания о подсистеме --pdg в GitNexus: CFG, достигающие определения и taint внутри и между процедурами. Помогает объяснять находки и править код анализа.
Какие потоки данных скилл не отслеживает?
Замыкания и колбэки: без моделей под библиотеки taint в колбэк не пробрасывается. Также отложены потоки через поля объектов и асинхронная передача через промисы.