Skip to content

Rule Reference

SEC458lintai-ai-securitystablemarkdownwarn

AI markdown: pip config http index

AI-native markdown configures Python package resolution with an insecure `http://` package index

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 config set` commands that point package index configuration at `http://` sources.

Deterministic signal basis

MarkdownSignals exact `pip config set`, `pip3 config set`, or `python -m pip config set` token analysis with `global.index-url http://` or `global.extra-index-url http://` detection inside parsed markdown regions.

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

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

Nearby Signals

Related Rules

SEC458 / MD-PIP-CONFIG-HTTP-INDEX

SEC458 flags AI-native markdown when a pip config set, pip3 config set, or python -m pip config set command points global.index-url or global.extra-index-url at http://....

Why It Matters

Changing pip config to an insecure package index makes every later install trust an unencrypted source. In shared AI-native instructions, that turns a persistent supply-chain downgrade into copy-pastable setup guidance.

What Triggers It

  • AI-native markdown surface
  • the same parsed markdown region contains:
    • pip config set
    • pip3 config set
    • or python -m pip config set
  • the same region also contains one of:
    • global.index-url http://
    • global.extra-index-url http://
    • global.index-url=http://
    • global.extra-index-url=http://

The finding points to http://.

What Does Not Trigger It

  • https:// index config
  • pip install --index-url ... examples, because those are covered by SEC449
  • unrelated prose that mentions http:// without a matching pip config command

Example

Bad:

bash
pip config set global.index-url http://pypi.example.test/simple

Better:

bash
pip config set global.index-url https://pypi.example.test/simple

Remediation

Replace the insecure http:// package index config with a normal TLS-verified https:// source.