Tool integration

Pylint Integration Guide

The gold-standard Python linter with deep code analysis and JSON output

Get a Free API Key

Integrate Pylint with Vulnetix. Run comprehensive Python code analysis covering style errors, logic bugs, and security anti-patterns, then upload the JSON report for centralised tracking.

PythonCLI toolJSON

Install & scan

$ # Run without installing globally (recommended)
uv run --with pylint pylint --version

# Or install globally
pip install pylint
$ uv run --with pylint pylint --output-format=json:pylint.json --recursive=yes src/

Run Pylint in CI

Scan on every push and upload the report as a workflow artifact:

- name: Run Pylint
  run: |
    pip install pylint
    pylint --output-format=json:pylint.json --recursive=yes src/

- name: Upload to Vulnetix
  run: vulnetix upload --file pylint.json

How Vulnetix compares: better together

Vulnetix does not replace Pylint. Keep running it. Vulnetix sits on top of Pylint (and every other scanner you already own) turning disconnected tool outputs into one prioritised, fixable queue.

CapabilityVulnetixPylint
Security coverage
SAST (static code analysis)Built-in rules + Semgrep augmentation~ General static analysis catches bug-class defects; security-specific scanning is Bandit's domain, not Pylint's core
SCA / dependencies40+ ecosystems, transitive graph
DAST (dynamic testing)~ Ingests DAST results; no native dynamic engine
Container & imageImage CVEs, base image, Dockerfile
IaC / misconfigurationTerraform, k8s, CloudFormation
Secret scanning1,000+ rules, source + binary + git history
Cloud / CSPMCloud-posture findings, compliance tab
Mobile (MAST)~ Ingests mobile scanner output; no native mobile engine
License complianceSPDX, copyleft/AGPL/SSPL policy
SBOM generationCycloneDX 1.7 + SPDX 2.3, cosign-signable
Malware / supply-chainDe-duplicated corpus + install-time firewall (25+ registries)
Network / infra vuln~ Ingests network scanner output; no native network scanner
FuzzingIngests fuzzing crashes; no native fuzzer
Pentest / bug bountyIngests pentest/bug-bounty findings; not a testing service
The Vulnetix orchestration layer
Cross-scanner dedup & one queue (ASPM)Correlates every scanner into one prioritised queue with ownership routing
Exploit-intel prioritisationEPSS, CISA KEV, Coalition ESS, CWSS, Vulnetix LEV
Reachability analysisTree-sitter + CVEAffected; direct/transitive/semantic
Versioned VEX + audit trailImmutable OpenVEX/CycloneDX, cosign-signable
Safe Harbour autofixResolves + applies the nearest safe version
End-of-life policyFlags/blocks past-EOL runtimes & packages
SSVC / risk-based policySSVC v2 + CISA/FedRAMP/Essential-8 presets

✓ full · ~ partial · ✗ not covered

What Pylint does well

Where Vulnetix adds to it: Vulnetix ingests Pylint output into its unified findings queue, dedups Python code findings against SCA/secrets/container results, and adds exploit-intel prioritisation, reachability and versioned VEX that a quality linter has no notion of. Vulnetix's built-in SAST plus Semgrep complements Pylint on the security-rule side; it never replaces Pylint as the Python code-quality linter.

No migration, no rip-and-replace. Pylint keeps doing what it does best; Vulnetix adds the orchestration, exploit-intelligence prioritisation and remediation layer built for the way AppSec works today.

Centralise Pylint results in Vulnetix

Upload Pylint JSON output to the Vulnetix platform to deduplicate findings, prioritise them with EPSS, CISA KEV and Coalition ESS exploit intelligence, and track remediation across every scanner in a single queue.

Pylint documentation ↗  ·  Source repository ↗

Wire Pylint into your CI/CD pipeline →