Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: update and enhance README #566

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
136 changes: 57 additions & 79 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,90 +1,71 @@
[![safety](https://cdn.safetycli.com/images/cli_readme_header.png)](https://docs.safetycli.com/)

# [Safety CLI](https://safetycli.com)
[![Downloads](https://static.pepy.tech/badge/safety/month)](https://pepy.tech/project/safety)
![Build Status](https://github.com/pyupio/safety/actions/workflows/main.yml/badge.svg)
![License](https://img.shields.io/github/license/pyupio/safety)
![PyPI Version](https://img.shields.io/pypi/v/safety)
![Python Versions](https://img.shields.io/pypi/pyversions/safety)
![Coverage](https://img.shields.io/codecov/c/github/pyupio/safety)

> [!NOTE]
> [Come and join us at SafetyCLI](https://apply.workable.com/safety/). We are hiring for various roles.

# Table of Contents
- [Table of Contents](#table-of-contents)
- [Introduction](#introduction)
- [Key Features](#key-features)
- [Getting Started](#getting-started)
- [GitHub Action](#github-action)
- [Command Line Interface](#command-line-interface)
- [1. Installation](#1-installation)
- [2. Log In or Register](#2-log-in-or-register)
- [3. Running Your First Scan](#3-running-your-first-scan)
- [Basic Commands](#basic-commands)
- [Service-Level Agreement (SLA)](#service-level-agreement-sla)
- [Detailed Documentation](#detailed-documentation)
- [License](#license)
- [Supported Python Versions](#supported-python-versions)
- [Resources](#resources)

# Introduction
Safety CLI is a Python dependency vulnerability scanner designed to enhance software supply chain security by detecting packages with known vulnerabilities and malicious packages in local development environments, CI/CD, and production systems.
Safety CLI can be deployed in minutes and provides clear, actionable recommendations for remediation of detected vulnerabilities.

Leveraging the industry's most comprehensive database of vulnerabilities and malicious packages, Safety CLI Scanner allows teams to detect vulnerabilities at every stage of the software development lifecycle.
Safety CLI is a developer-first Python dependency vulnerability scanner. With a focus on providing the most comprehensive protection and ease of use, Safety CLI secures Python projects in development and CI/CD to maintain secure software supply chains.

# Key Features
- Versatile, comprehensive dependency security scanning for Python packages.
- Leverages Safety DB, the most comprehensive vulnerability data available for Python.
- Clear output with detailed recommendations for vulnerability remediation.
- Automatically updates requirements files to secure versions of dependencies where available, guided by your project's policy settings.
- Scanning of individual requirements files and project directories or system-wide scans on developer machines, CI/CD pipelines, and Production systems to detect vulnerable or malicious dependencies.
- JSON, SBOM, HTML and text output.
- Easy integration with CI/CD pipelines, including GitHub Actions.
- Enterprise Ready: Safety CLI can be deployed to large teams with complex project setups with ease, on-premise or as a SaaS product.
- Comprehensive security scanning for Python packages in local environments, CI/CD pipelines, and production systems.
- Leverages Safety DB, the most extensive source of vulnerability and malicious package data for Python.
- Provides clear, actionable output with detailed recommendations for remediation.
- Automatically updates requirements files to secure dependency versions, guided by your project's policy settings.
- Supports scanning of individual files or project directories.
- Outputs in JSON, SBOM, HTML, and Text formats.
- Seamlessly integrates with existing workflows and CI/CD pipelines, including [GitHub Actions](https://docs.safetycli.com/safety-docs/installation/github-actions).

# Getting Started
## GitHub Action
> [We're Hiring!](https://apply.workable.com/safety/) View our open roles and apply to join our growing team.

- Test Safety CLI in CI/CD using our [GitHub Action](https://github.com/pyupio/safety-action).
- Full documentation on the [GitHub Action](https://github.com/pyupio/safety-action) is available on our [Documentation Hub](https://docs.safetycli.com).

## Command Line Interface
# Table of Contents
- [Safety CLI](#safety-cli)
- [Table of Contents](#table-of-contents)
- [Getting Started with Safety CLI](#getting-started-with-safety-cli)
- [GitHub Action](#github-action)
- [Command Line Interface](#command-line-interface)
- [Basic Commands](#basic-commands)
- [Service-Level Agreement (SLA)](#service-level-agreement-sla)
- [Detailed Documentation](#detailed-documentation)
- [Support](#support)
- [License](#license)
- [Supported Python Versions](#supported-python-versions)
- [Resources](#resources)

### 1. Installation
## Getting Started with Safety CLI

- Install Safety on your development machine.
- Run `pip install safety`.
### GitHub Action
The Safety CLI Scanner [GitHub Action](https://github.com/pyupio/safety-action) enables automated scanning of your projects for vulnerabilities directly within your GitHub workflow.

### 2. Log In or Register
Full documentation on the [GitHub Action](https://github.com/pyupio/safety-action) is available on our [Documentation Hub](https://docs.safetycli.com).

- Run your first scan using `safety scan`.
- If not authenticated, Safety will prompt for account creation or login.
- Use `safety auth` to check authentication status.
### Command Line Interface

### 3. Running Your First Scan
1. **Installation**
Install Safety on your development machine.
Run `pip install safety`.

- Navigate to a project directory and run `safety scan`.
- Safety will perform a scan and present results in the Terminal.
2. **Log In or Register**
Run your first scan using `safety scan`.
If not authenticated, Safety will prompt you to log in or create a free account.
Use `safety auth` to check authentication status.

## Basic Commands
3. **Running Your First Scan**
Navigate to a project directory and run `safety scan`.
Safety will perform a scan and present results in the Terminal.

### Basic Commands
- `safety --help`: Access help and display all available commands.
- `safety auth`: Start authentication flow or display status.
- `safety scan`: Perform a vulnerability scan in the current directory.
- `safety system-scan`: Perform a scan across the entire development machine.
- `safety scan --apply-fixes`: Update vulnerable dependencies.

# Service-Level Agreement (SLA)
- `safety scan --apply-fixes`: Update vulnerable dependencies for requirements.txt files.

## Service-Level Agreement (SLA)
We are committed to maintaining a high level of responsiveness and transparency in managing issues reported in our codebases. This SLA outlines our policies and procedures for handling issues to ensure timely resolutions and effective communication with our community.
[Read our full SLA](https://docs.safetycli.com/sla).

- [Read our full SLA](./SLA.md)

# Detailed Documentation
Full documentation is available at [https://docs.safetycli.com](https://docs.safetycli.com).

Included in the documentation are the following key topics:
## Detailed Documentation
Full documentation is available at [https://docs.safetycli.com](https://docs.safetycli.com). Included in the documentation are the following key topics:

**Safety CLI 3**
- [Introduction to Safety CLI 3](https://docs.safetycli.com/safety-docs/safety-cli-3/introduction-to-safety-cli-scanner)
Expand Down Expand Up @@ -128,27 +109,24 @@ Included in the documentation are the following key topics:

System status is available at [https://status.safetycli.com](https://status.safetycli.com)

Further support is available by emailing [email protected].

# License
Safety is released under the MIT License.

Upon creating an account, a 7-day free trial of our Team plan is offered to new users, after which they will be downgraded to our Free plan. This plan is limited to a single user and is not recommended for commercial purposes.

Our paid [plans for commercial use](https://safetycli.com/resources/plans) begin at just $25 per seat per month and allow scans to be performed using our full vulnerability database, complete with 3x more tracked vulnerabilities and malicious packages than our free plan and other providers. To learn more about our Team and Enterprise plans, please visit [https://safetycli.com/resources/plans](https://safetycli.com/resources/plans) or email [email protected].

# Supported Python Versions
Safety CLI 3 supports Python versions >=3.7. Further details on supported versions, as well as options to run Safety CLI on versions <3.7 using a Docker image are available in our [Documentation Hub](https://docs.safetycli.com).
## Support
System status is available at [https://status.safetycli.com](https://status.safetycli.com).
Further support is available by emailing [[email protected]](mailto:[email protected]).

We maintain a policy of supporting all maintained and secure versions of Python, plus one minor version below the oldest maintained and secure version. Details on Python versions that meet these criteria can be found here: https://endoflife.date/python.
## License
Safety is released under the MIT License. Upon creating an account, a 7-day free trial of our Team plan is offered to new users, after which they will be downgraded to our Free plan. This plan is limited to a single user and is not recommended for commercial purposes.
Our paid plans for commercial use begin at just $25 per seat per month and allow scans to be performed using our full vulnerability database, complete with 3x more tracked vulnerabilities and malicious packages than our free plan and other providers. To learn more about our Team and Enterprise plans, please visit [https://safetycli.com/resources/plans](https://safetycli.com/resources/plans) or email [[email protected]](mailto:[email protected]).

# Resources
## Supported Python Versions
Safety CLI 3 supports Python versions >=3.7. Further details on supported versions, as well as options to run Safety CLI on versions <3.7 using a Docker image are available in our Documentation Hub.
We maintain a policy of supporting all maintained and secure versions of Python, plus one minor version below the oldest maintained and secure version. Details on Python versions that meet these criteria can be found here: [https://endoflife.date/python](https://endoflife.date/python).

## Resources
- [Safety Cybersecurity website](https://safetycli.com)
- [Safety Login Page](https://safetycli.com/login)
- [Documentation](https://docs.safetycli.com)
- [Careers/Hiring](https://apply.workable.com/safety/)
- [Careers/Hiring](https://safetycli.com/careers)
- [Security Research and Blog](https://safetycli.com/blog)
- [GitHub Action](https://github.com/safetycli/action)
- [GitHub Action](https://github.com/pyupio/safety-github-action)
- [Support](mailto:[email protected])
- [Status Page](https://status.safetycli.com)
- [Status Page](https://status.safetycli.com)
Loading