Project Description
Gathers evidence, performs testing, and creates audit reports in ~25 lines of code per provider (AWS, GitHub, etc).
This project is maintained and published by AuditOps.io.
Use cases:
- Vendor Due Diligence: Evaluate your vendors actual security posture using transparent and timely reports.
- Audits: Automatically collect and share high quality evidence directly to your auditor (no screenshots required).
Getting Started (AWS Example)
- Install pre-requisites:
- Python Tutorial
- AWS CLI
- Run these commands to check if everything is installed correctly. If you receive an error, go back to the videos in Step 1.
python --version aws --version - Install the latest version of the AuditOps-SDK python library.
pip install -U <package_name> - Create an IAM user (or Identity Center user) in the AWS management console.
- The user needs Security Audit permissions.
- Create an access key for the IAM user created in the previous step: AWS Docs
- NOTE: Configure the access key on your local machine using the 'aws configure' command Video Tutorial.
- NOTE: Access keys can only be viewed once, at the time of creation. They must be stored securely elsewhere for future use.
- Copy the code below and name the file auditops_example.py.
from auditops.core.models import Audit, AuditHelpers from auditops.providers.aws import AWSCollector, AWSTester, AWSConfig from auditops.core.utils import aws_create_session import boto3 from datetime import datetime def main(): session = aws_create_session() aws_config = AWSConfig(in_scope_regions=['us-east-1']) helpers = AuditHelpers.create() audit = Audit(helpers = helpers, title = "AWS Audit Report", config=aws_config, auditor_name = "AJ Dehn", audit_folder = "aws", delete_cached_evidence=True, summary_mode=True, exclusions=None) audit.run(collector=AWSCollector(session), tester=AWSTester()) # Upload to AuditOps (for vendor due diligence and/or audit requests) audit.upload(destination="auditops", package="pdf", client_email="john@acme.com") # OPTIONAL: Upload to S3 (for data retention). NOTE: Please replace the "BUCKET_NAME". bucket_save_path = datetime.now().strftime("%Y/%m/%d/aws") audit.upload(destination="s3", package="full", client=boto3.client("s3"), bucket="BUCKET_NAME", key=bucket_save_path) if __name__ == "__main__": main() - Run the code:
python auditops_example.py - A new folder will be created for the audit. Within that folder, the library will collect and store the evidence in the 'audit_evidence' folder. Once collected, it will begin performing the testing and the audit reports will be stored in the 'reports' folder.
Design Philosophy:
- Lightweight: You can setup this library in minutes, and it doesn't require intensive integrations with your cloud providers. This eliminates vendor lock-in and gives you control over how your data is processed.
- Repeatability: Clear instructions explain how evidence was gathered and describes the test procedures that were performed. Share your AuditOps report + supporting evidence, and kindly ask your auditor to re-perform the work that was already done.
- Anti-Checkbox: We all know that compliance has become a check-box exercise. We hope you'll use this library to fight against it and start holding everyone to higher standard.
Metadata
Release files for auditops 0.1.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| auditops-0.1.7.tar.gz | 224.1 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| auditops-0.1.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 471.4 kB
Release files / auditops-0.1.7.tar.gz
| Download URL | auditops-0.1.7.tar.gz |
|---|---|
| Size | 224.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2afb90ffd2a7d5172cb2aad66e7f40e95e5ad7679edd9c5c01e9fedb7e6867e2
|
|
BLAKE2b-256 checksum How to use checksums |
2a4b661d5bc0d5a71a1e4cff25f754b71c802c174630867c8214542e35a77062
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / auditops-0.1.7-py3-none-any.whl
| Download URL | auditops-0.1.7-py3-none-any.whl |
|---|---|
| Size | 247.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
23e21c295614024885d9b179f8a4c42057a96c52de4d6630c7550f6ae68ea192
|
|
BLAKE2b-256 checksum How to use checksums |
2aac3d1a30d22dfe90e73059e70b1b401b23998a21f68d126b4090f7ccb4f4f9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Security for auditops 0.1.7
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.