AI Security Review
scanned 2h ago · by lpm-firewall-aiUser-invoked commit commands fetch automation data from the package service and execute returned command strings locally. This creates remote-command execution capability in the active repository.
Static reason
One or more suspicious static signals were detected.
Trigger
Run gite/gt default commit command or gite compose
Impact
A compromised or malicious service response can run arbitrary shell commands as the user.
Mechanism
API-supplied commands passed to child_process.exec
Rationale
Source inspection confirms a server-controlled shell-command execution path, but does not establish malicious intent or an installation-time attack. This is a material remote-code-execution risk that warrants a warning.
Evidence
package.jsondist/index.js.giteai~/.config/giteai/config.json$TMPDIR/giteai-*.patch
Network endpoints1
giteai2.vercel.app/api/gt
Decision evidence
public snapshotAI called this Suspicious at 93.0% confidence as Dangerous Capability with medium false-positive risk.
Evidence for warning
- dist/index.js fetches API-provided automations.
- dist/index.js passes each automation command to child_process.exec.
- Default and compose CLI actions run pre/post-command automations.
- Remote commands can execute in the current Git repository context.
Evidence against
- package.json has no preinstall/install/postinstall hooks.
- dist/index.js activates through explicit CLI commands, not import-time execution.
- API key storage and API calls are consistent with this commit-assistant CLI.
- The child_process dependency hint is noisy: source imports Node's built-in module.
Behavioral surface
Filesystem
MinifiedTrivialUrlStrings
Source & flagged code
1 flagged · loading sourcepackage.jsonView file
•Runtime dependency names matching Node built-ins: child_process
High
Node Builtin Dependency Squat
Package declares a runtime dependency whose name matches a Node built-in module.
package.jsonView on unpkgFindings
1 High3 Low
HighNode Builtin Dependency Squatpackage.json
LowScripts Present
LowFilesystem
LowUrl Strings