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).
Resources:
Getting Started (Simple 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.9
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.9.tar.gz | 225.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| auditops-0.1.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 473.7 kB
Release files / auditops-0.1.9.tar.gz
| Download URL | auditops-0.1.9.tar.gz |
|---|---|
| Size | 225.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4745c222ac9014772b8054715dd5d70833b6a662156605a6badb2a0cbf604af7
|
|
BLAKE2b-256 checksum How to use checksums |
d50e07fd06f1f5580928c92a6695d8569ad9c79a32ffd2a142aaf890fada64f3
|
| 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.9-py3-none-any.whl
| Download URL | auditops-0.1.9-py3-none-any.whl |
|---|---|
| Size | 248.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6f45b88dbb16f25be086288abf8154640a0bc10e60be8d6d9cbb6d2981c943de
|
|
BLAKE2b-256 checksum How to use checksums |
b30c49aa0a95f0d6c3d8bf3975a90215cb95d03a7be5fa6665285b1101f23f6e
|
| 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.9
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.