Install verification: Ecosystem plugin: installs via dsh plugin add but declares no dsh.bundle and mounts no plugin capability — the L1-L5 install ladder does not rate it; the security scan still runs.Install verification details →
What it doesAI
A collection of software, patches, NixOS modules, and skills for AI coding assistants.
- Software packages, patches, and NixOS modules
- Skill kits for AI coding assistants
- Nix flake with built-in binary cache
Capability tags are AI-inferred or rule-extracted from the README (see badge) — vocabulary-limited, not install-verified. AI = inferred; README = literal keyword from the readme.
Installation
dsh plugin --profile web add github:Kihara777/NixKitsInstall method: GitHub · runtime test inconclusive (L5 unknown)
Verification & Compatibility○ Ecosystem plugin
Grouped by plugin version: each card lists the dsh versions actually tested against that artifact version and their install verdicts (L5 wins). Untested combinations are omitted — absence means untested, never assumed compatible. L1–L3 are a plugin-level static archive (independent of the dsh version — the same verdict on every dsh row): they sit in each row's level grid next to L4/L5, marked "static", while their evidence is stored once per plugin inside that row's "checks & evidence" instead of being duplicated per version.
External credentials (plugin-level): none detected
package manifest not collected — the declared range is unknown.
| plugin \ dsh | dsh 0.2.1-rc.2 current | dsh 0.2.1-alpha.4 | dsh 0.2.1-alpha.2 | dsh 0.2.0-rc.2 | dsh 0.1.7-rc.2 |
|---|---|---|---|---|---|
| archive/skill-validation-2026-09-17-godot-ai | · | · | · | · | · |
| 7d6194 | · | · | · | · | · |
| 50a952 | ○ | ○ | ○ | ○ | ○ |
archive/skill-validation-2026-09-17-godot-aigithub2026-10-22
https://github.com/Kihara777/NixKits
Ecosystem plugin: installs via dsh plugin add but declares no dsh.bundle and mounts no plugin capability — its level reads L5 · Ecosystem plugin.
7d6194local2026-09-08
Ecosystem plugin: installs via dsh plugin add but declares no dsh.bundle and mounts no plugin capability — its level reads L5 · Ecosystem plugin.
50a952github○ 12 ecosystem plugin2026-10-19
https://github.com/Kihara777/NixKits
○dsh 0.2.1-rc.2current2026-10-19Ecosystem plugin
- • Node.js: v24.14.0
- • DSH: 0.2.1-rc.2
- • Plugin artifact: github · https://github.com/Kihara777/NixKits (version unstated)
ID: nixkits@50a952@dsh0.2.1-rc.2 · profile: l4-sandbox
Issued: 2026-10-19 · expires: 2026-10-26
View checks & evidence
not present in web-profile loader inventory
L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.
○dsh 0.2.1-alpha.42026-10-16Ecosystem plugin
- • Node.js: v24.14.0
- • DSH: 0.2.1-alpha.4
- • Plugin artifact: github · https://github.com/Kihara777/NixKits (version unstated)
ID: nixkits@50a952@dsh0.2.1-alpha.4 · profile: l4-sandbox
Issued: 2026-10-16 · expires: 2026-10-23
View checks & evidence
not present in web-profile loader inventory
L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.
○dsh 0.2.1-alpha.22026-10-12Ecosystem plugin
- • Node.js: v24.14.0
- • DSH: 0.2.1-alpha.2
- • Plugin artifact: github · https://github.com/Kihara777/NixKits (version unstated)
ID: nixkits@50a952@dsh0.2.1-alpha.2 · profile: l4-sandbox
Issued: 2026-10-12 · expires: 2026-10-19
View checks & evidence
not present in web-profile loader inventory
L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.
○dsh 0.2.0-rc.22026-10-09Ecosystem plugin
- • Node.js: v24.14.0
- • DSH: 0.2.0-rc.2
- • Plugin artifact: github · https://github.com/Kihara777/NixKits (version unstated)
ID: nixkits@50a952@dsh0.2.0-rc.2 · profile: l4-sandbox
Issued: 2026-10-09 · expires: 2026-10-16
View checks & evidence
not present in web-profile loader inventory
L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.
○dsh 0.1.7-rc.22026-09-26Ecosystem plugin
- • Node.js: v24.14.0
- • DSH: 0.1.7-rc.2
- • Plugin artifact: github · https://github.com/Kihara777/NixKits (version unstated)
ID: nixkits@50a952@dsh0.1.7-rc.2 · profile: l4-sandbox
Issued: 2026-09-26 · expires: 2026-10-03
View checks & evidence
not present in web-profile loader inventory
L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.
○dsh 0.1.7-rc.12026-09-24Ecosystem plugin
- • Node.js: v24.14.0
- • DSH: 0.1.7-rc.1
- • Plugin artifact: github · https://github.com/Kihara777/NixKits (version unstated)
ID: nixkits@50a952@dsh0.1.7-rc.1 · profile: l4-sandbox
Issued: 2026-09-24 · expires: 2026-10-01
View checks & evidence
This level was not executed in this scan.
L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.
○dsh 0.1.7-alpha.22026-09-23Ecosystem plugin
- • Node.js: v24.14.0
- • DSH: 0.1.7-alpha.2
- • Plugin artifact: github · https://github.com/Kihara777/NixKits (version unstated)
ID: nixkits@50a952@dsh0.1.7-alpha.2 · profile: l4-sandbox
Issued: 2026-09-23 · expires: 2026-09-30
View checks & evidence
not present in web-profile loader inventory
L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.
○dsh 0.1.6-alpha.22026-09-20Ecosystem plugin
- • Node.js: v24.14.0
- • DSH: 0.1.6-alpha.2
- • Plugin artifact: github · https://github.com/Kihara777/NixKits (version unstated)
ID: nixkits@50a952@dsh0.1.6-alpha.2 · profile: l3-fullscan
Issued: 2026-09-20 · expires: 2026-09-27
View checks & evidence
not present in web-profile loader inventory
L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.
○dsh 0.1.6-alpha.12026-09-17Ecosystem plugin
- • Node.js: v24.14.0
- • DSH: 0.1.6-alpha.1
- • Plugin artifact: github · https://github.com/Kihara777/NixKits (version unstated)
ID: nixkits@50a952@dsh0.1.6-alpha.1 · profile: l4-sandbox
Issued: 2026-09-17 · expires: 2026-09-24
View checks & evidence
not present in web-profile loader inventory
L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.
○dsh 0.1.5-rc.22026-09-13Ecosystem plugin
- • Node.js: v24.14.0
- • DSH: 0.1.5-rc.2
- • Plugin artifact: github · https://github.com/Kihara777/NixKits (version unstated)
ID: nixkits@50a952@dsh0.1.5-rc.2 · profile: l4-sandbox
Issued: 2026-09-13 · expires: 2026-09-20
View checks & evidence
not present in web-profile loader inventory
L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.
○dsh 0.1.3-alpha.22026-09-10Ecosystem plugin
- • Node.js: v24.14.0
- • DSH: 0.1.3-alpha.2
- • Plugin artifact: github · https://github.com/Kihara777/NixKits (version unstated)
ID: nixkits@50a952@dsh0.1.3-alpha.2 · profile: l3-fullscan
Issued: 2026-09-10 · expires: 2026-09-17
View checks & evidence
not present in web-profile loader inventory
L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.
○prehistory2026-09-30Ecosystem plugin
- • Node.js: v24.14.0
- • DSH: unknown
- • Plugin artifact: github · https://github.com/Kihara777/NixKits (version unstated)
ID: nixkits@50a952@dshunknown · profile: l3-fullscan
Issued: 2026-09-30 · expires: 2026-10-07
View checks & evidence
not present in web-profile loader inventory
L1–L3 are plugin-level static conclusions (baseline, identical across dsh versions): evidence is stored once per plugin.
Author badges
Embed the official badges in your README to showcase security & install-test status:
`[](https://www.dsh.so/artifact/nixkits/)`Security Report
Two automated layers, neither a manual review: a static scan (per-plugin rule checks) and a model-driven dynamic security audit that covers only the subset static-flagged at warn or above and never executes plugin code.
Static low; dynamic medium (authoritative when present) → overall medium.
—archive/skill-validation-2026-09-17-godot-aigit2026-10-24archive/skill-validation-2026-09-17-godot-aisame versionclean · gitVet is an AST static scan (npm artifact or git source).
show static findings (9)
- warningchildProcess · code-exec
packages/dsh-nixos-shell/bin/nixkits-sudo-exec.js:96const child = spawn(shell, ["-c", command], { - warningmanifest-fs-unfenced · sandbox
packages/dsh-nixos-shell/presets/maintenance-mode/agent.cordis.ymlMutating filesystem tool has no explicit fs backend in realm - warningmanifest-search-unfenced · sandbox
packages/dsh-nixos-shell/presets/maintenance-mode/agent.cordis.ymlSearch tool reads without an explicit fs mount - warningmanifest-shell-unfenced · sandbox
packages/dsh-nixos-shell/presets/maintenance-mode/agent.cordis.ymlShell tool without a sandbox runner or policy in realm - warningmanifest-fs-unfenced · sandbox
packages/dsh-nixos-shell/presets/nixos-mode/agent.cordis.ymlMutating filesystem tool has no explicit fs backend in realm - warningmanifest-search-unfenced · sandbox
packages/dsh-nixos-shell/presets/nixos-mode/agent.cordis.ymlSearch tool reads without an explicit fs mount - warningmanifest-shell-unfenced · sandbox
packages/dsh-nixos-shell/presets/nixos-mode/agent.cordis.ymlShell tool without a sandbox runner or policy in realm - warningmanifest-fs-unfenced · sandbox
packages/dsh-preset-news-three-elements/agent.cordis.ymlMutating filesystem tool has no explicit fs backend in realm - warningmanifest-search-unfenced · sandbox
packages/dsh-preset-news-three-elements/agent.cordis.ymlSearch tool reads without an explicit fs mount
show 2 audit findings
- mediumSocket-activated executor runs arbitrary caller-supplied command as root with no in-process validation
packages/dsh-nixos-shell/bin/nixkits-sudo-exec.js:96The daemon's sole admission control is the systemd socket unit (file header: 'Access control lives entirely at the socket level (SocketUser / SocketMode gate who may connect); this process itself trusts its caller'). Any principal able to connect to that socket gets unrestricted root command execution: no command allowlist, no justification/approval check in this path, and the caller-supplied `env` object is merged after the sanitised PATH (line 87) so it can also inject LD_PRELOAD/BASH_ENV-class variables. Within DSH, a prompt-injected agent that can invoke the sudo tool inherits this. Severi
- lowread-only path guard only inspects absolute paths, so relative paths bypass the workspace scoping
packages/dsh-preset-news-three-elements/plugins/readonly-gate.js:111The guard's stated purpose is to confine read/read_image/glob/grep to the workspace, attachments, /tmp and the skill package. A call with `file_path: "../../etc/shadow"` (or any relative escape) returns `undefined` from outOfScopePath and is allowed; containment then rests entirely on the unharvested dsh-tool-fs backend, which the comment asserts resolves relative paths under the session root but which is not verifiable here.
Socket-activated root command executor trusts any caller that can reach the socket; all other modules are guards, prompt plumbing and CI scripts with no remote sink.
Rule (2026-10-24): when a dynamic conclusion exists it is authoritative (it may raise or lower the level); without one, the static/vet fused tier applies. The audit never writes the exemption list (exemptions are manual only); a wrong conclusion is withdrawn by human review and the tier falls back to static/vet.
Disclaimer: the static scan and the dynamic security audit are both automated analysis, not a security guarantee. Always review what you install.
Activity
Last commit 2026-10-23 · activity: Active
• Repo created: 2026-03-28
• Stars: ★ 29 · Forks: 2
• Health: Active — committed within last 30 days
Source
GitHub: github.com/Kihara777/NixKits
Author README
View on GitHub ↗The author's original README from the repository — fetched live, unedited (the English page loads the default README).
