AI Security Review
scanned 2h ago · by lpm-firewall-aiNo confirmed malicious package attack surface. The explicit scaffolding command copies bundled templates, optionally installs declared generated-project dependencies, initializes Git, and can clone a user-requested example.
Static reason
One or more suspicious static signals were detected.
Trigger
User runs `create-theokit <project>`; optional behavior requires flags such as `--example` or desktop surface selection.
Impact
Writes only to the chosen project directory; no install-time execution or unconsented foreign AI-agent configuration mutation was found.
Mechanism
Explicit project scaffolding with optional dependency installation, Git initialization, and example cloning.
Rationale
Source inspection shows a conventional, explicitly invoked project generator. Scanner hits for shell execution and environment variables correspond to selected dependency installation, optional example cloning, and generated application AI-provider configuration, not credential theft or covert execution.
Evidence
package.jsondist/cli.jstemplates/default/dot-claude/settings.jsontemplates/default/agents/chat.tstemplates/surfaces/desktop/sidecar/sidecar.tstemplates/surfaces/desktop/src-tauri/capabilities/default.jsontemplates/default/package.json.tmpltemplates/surfaces/desktop/src-tauri/src/lib.rs
Network endpoints2
github.com/usetheodev/theokit-examplesopenrouter.ai/models
Decision evidence
public snapshotAI called this Clean at 96.0% confidence as Benign with low false-positive risk.
Evidence for block
Evidence against
- `package.json` has no lifecycle hooks; it only exposes the explicit `create-theokit` CLI.
- `dist/cli.js` scaffolds a user-selected empty project directory and runs the selected package manager only after CLI invocation.
- `dist/cli.js` uses `git clone` only for an explicit `--example` GitHub URL/name option.
- `dist/cli.js` does not harvest credentials, exfiltrate files, dynamically load payloads, or contact a hidden endpoint.
- `templates/default/dot-claude/settings.json` grants limited project commands and explicitly denies `.env` reads and destructive shell commands.
- Generated desktop sidecar reads an AI provider key only to run the user-created app's requested agent turn; it includes human approval handling.
Behavioral surface
ChildProcessEnvironmentVarsFilesystemShell
UrlStrings
Source & flagged code
2 flagged · loading sourcedist/cli.jsView file
3// src/cli.ts
L4: import { execSync } from "child_process";
L5: import {
High
829try {
L830: execSync(`npx --yes degit usetheodev/theokit-examples/${example} ${targetDir}`, {
L831: stdio: "inherit"
High
Runtime Package Install
Package source invokes a package manager install command at runtime.
dist/cli.jsView on unpkg · L829Findings
3 High1 Medium3 Low
HighChild Processdist/cli.js
HighShell
HighRuntime Package Installdist/cli.js
MediumEnvironment Vars
LowScripts Present
LowFilesystem
LowUrl Strings