Skip to content

Rule Reference

SEC455lintai-ai-securitystablemarkdownwarn

AI markdown: pip http git install

AI-native markdown installs Python packages from an insecure `git+http://` source

Provider
lintai-ai-security
Surface
markdown
Scope
per_file
Tier
stable
Severity
warn
Confidence
high
Detection
structural
Remediation
message_only

Activation Model

Preset Membership

This rule is part of the builtin activation graph through these preset memberships.

Lifecycle

Stable Lifecycle Contract

State

stable_gated

Graduation rationale

Checks AI-native markdown for `pip install` examples that fetch Python packages from an insecure `git+http://` source.

Deterministic signal basis

MarkdownSignals exact `pip install` token analysis with `git+http://` detection inside parsed markdown regions.

Malicious corpus
skill-pip-http-git-install
Benign corpus
skill-pip-https-git-install-safe
structured evidence required remediation reviewed
Canonical note

Structural stable rule intended as a high-precision check with deterministic evidence.

Nearby Signals

Related Rules

SEC455 / MD-PIP-HTTP-GIT-INSTALL

SEC455 flags AI-native markdown when a pip install example uses git+http://....

Why It Matters

git+http:// removes normal TLS protection from the package source itself. In shared AI-native instructions, that turns an insecure supply-chain fetch into copy-pastable setup guidance.

Trigger Shape

The rule triggers only when all of these are true:

  • the file is an AI-native markdown instruction surface
  • a parsed markdown region contains pip install, pip3 install, or python -m pip install
  • the same region also contains git+http://...

The finding points to http://.

Clean Cases

These stay clean:

  • pip install git+https://...
  • direct http://... pip source examples already covered by SEC453
  • unpinned git+https://... examples already covered by SEC417

Trigger Example

bash
pip install git+http://git.example.test/demo.git

Safer Example

bash
pip install git+https://git.example.test/demo.git

How To Fix

Replace the insecure git+http:// source with a normal TLS-verified git+https:// source.