Hướng dẫn python code vulnerabilities - lỗ hổng mã python
Tên CPE: CPE: 2.3: A: Python: Python: 2.7.3:*:*:*:*:*:*:*:* Show
Vừa phải 6 Page : 1 (This Page) Không yêu cầuMột phần
Tách phản ứng HTTP Bỏ qua một cái gì đó Đăng: ngày 16 tháng 2 năm 2022 February 16, 2022 Các mô -đun làm cho việc viết các ứng dụng Python dễ dàng và đơn giản, nhưng khi bạn sử dụng mã của người khác (đó là những mô -đun là gì), tốt nhất nên kiểm tra thường xuyên các lỗ hổng được xuất bản. Bài viết này cho bạn thấy cách sử dụng công cụ & nbsp; pip-audit & nbsp; để tìm CVE Advisories được phát hành cho các mô-đun Python bạn đang sử dụng trong dự án của mình. Hầu hết các lập trình viên Python liệt kê tất cả các phụ thuộc của bên thứ ba trong tệp
Điều này làm cho môi trường phát triển của bạn có thể tái tạo, nhưng nó cũng khiến bạn tiếp xúc với việc sử dụng các phiên bản cũ hơn có thể dễ bị khai thác. Hãy suy nghĩ về các phiên bản của bạn như một khu vườn: họ cần tưới nước, cắt tỉa và chú ý. Một dự án tốt luôn cập nhật các phiên bản khi tìm thấy lỗ hổng và các công cụ như pip-audit giúp công việc này dễ dàng hơn. Dưới đây là cách sử dụng pip-audit để quét dự án Python của bạn và tìm hiểu xem bất kỳ thư viện bên thứ ba nào của bạn đã biết các lỗ hổng với các định danh CVE. Cài đặt Pip-AuditCài đặt phiên bản mới nhất của Pip-Audit với 0:
Lệnh 1 mong đợi một tệp requirements.txt . Nếu dự án của bạn không có một (ví dụ: nếu nó sử dụng một 3), hãy tạo một dự án với:
Phân tích một dự ánBây giờ bạn nên sẵn sàng để bắt đầu phân tích các dự án của mình cho các lỗ hổng tiềm năng trong các mô -đun của bạn. Ví dụ 1: Một dự án không có lỗ hổngVision2 là một tập lệnh đẹp tương quan đầu ra của tệp XML quét NMAP với cơ sở dữ liệu lỗ hổng CVE NIST. Đây là một ví dụ:
Tốt, dự án không sử dụng bất kỳ thư viện dễ bị tổn thương nào. Ví dụ 2: Người đọc RSS có lỗ hổngCho phép tìm thấy một gói mà một lỗ hổng gần đây đã được tìm thấy (dự án được bảo mật, nhưng tôi sẽ hạ cấp một trong những thư viện có mục đích cho ví dụ này). Phân tích nó: (Jose Nunez, CC By-SA 4.0)Cài đặt nó (xem readme & nbsp của tôi; để được hướng dẫn):
Tôi đã hạ cấp phiên bản LXML từ 4.7.1 xuống 4.6.0 (lưu ý lệnh 4). Điều gì xảy ra khi bạn quét nó?
Có những cảnh báo cho LXML 4.6.0. LXML là một thư viện tốt để phân tích các tệp XML một cách dễ dàng. Phần mềm rất phức tạp và thư viện này có một lỗi có thể được khai thác. Nếu bạn vào cơ sở dữ liệu NIST và tìm kiếm LXML, bạn sẽ thấy thêm chi tiết về CVE-2021-43818 tư vấn. Hãy xem tệp
Bản sửa lỗi dễ nhất là nâng cấp lên phiên bản LXML được đề xuất (4.6.5), vì đây là một bản nâng cấp nhỏ chứa sửa lỗi và thực hiện các thay đổi API tối thiểu. Sau khi kiểm tra phiên bản mới nhất tại thời điểm viết bài này (4.7.1), tôi quyết định đi với phiên bản cao hơn, vì mã của tôi không cần sửa đổi thêm:
Nếu bạn quét lại dự án, bạn sẽ nhận được:
Sau khi sửa lỗi này, tôi có thể nói trích dẫn yêu thích của tôi từ Poltergeist, & nbsp; "Ngôi nhà này sạch sẽ." IDE có thể cho bạn biết nếu một thư viện bị cũ?Vâng, nó có thể. Ví dụ: mã Pycharm và VS cho bạn biết nếu có phiên bản mới hơn của thư viện bên thứ ba. Ví dụ này, tôi đã sử dụng phiên bản Rich của Rich: (Jose Nunez, CC By-SA 4.0)Cài đặt nó (xem readme & nbsp của tôi; để được hướng dẫn): Tôi đã hạ cấp phiên bản LXML từ 4.7.1 xuống 4.6.0 (lưu ý lệnh python3 -m venv ~/virtualenv/pip-audit $ . ~/virtualenv/pip-audit/bin/activate $ pip install --upgrade pip pip-audit4). Điều gì xảy ra khi bạn quét nó?Có những cảnh báo cho LXML 4.6.0.
Nếu bạn quét lại dự án, bạn sẽ nhận được: |