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.8
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.8.tar.gz | 224.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| auditops-0.1.8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 472.6 kB
Release files / auditops-0.1.8.tar.gz
| Download URL | auditops-0.1.8.tar.gz |
|---|---|
| Size | 224.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0107b3c58c557be8a9f25b4d64ba6ca9598eda7f1f5d2528eb855f688cb4a7f0
|
|
BLAKE2b-256 checksum How to use checksums |
ed398255a4eb5df2080bdae65e469fdae3dd99778dc4f5d8378515482e23c857
|
| 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.8-py3-none-any.whl
| Download URL | auditops-0.1.8-py3-none-any.whl |
|---|---|
| Size | 247.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
498ac9f5de872511063b7cfd588e0728330da01464fd9a839735f8a62e8ea560
|
|
BLAKE2b-256 checksum How to use checksums |
8aba1cf8f949a901fb179af3639a754936a770f9b87e731ae1cb9b30b4a41d3d
|
| 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.8
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.