Skip to main content

🔐 security-lake-tools

security-lake-tools is a CLI utility for managing AWS Security Lake custom sources with OCSF (Open Cybersecurity Schema Framework) support. It creates custom log sources in Amazon Security Lake for specific OCSF event classes.

✨ Highlights

  • 🚀 Create Security Lake custom sources for all OCSF event classes with a single command.
  • 🔧 Automatic IAM role creation for AWS Glue crawlers with proper permissions.
  • 📋 Built-in OCSF event class mapping—list available classes with --list.
  • 🔍 Detailed error messages and troubleshooting guidance for common AWS issues.

📦 Installation

security-lake-tools ships on PyPI. Use uvx to fetch and execute the latest compatible version on demand:

uvx security-lake-tools --help

uvx downloads the newest release, runs it in an isolated environment, and caches the result for snappy subsequent invocations.

🛠️ Usage

Prerequisites

  1. AWS Credentials: Configure via aws configure, SSO, environment variables, or IAM role.
  2. Security Lake: Ensure Security Lake is enabled in your target region.
  3. IAM Permissions: Create IAM roles/policies, Security Lake custom sources, and Glue crawlers.

Create a Custom Source

uvx security-lake-tools create-source \
  --external-id your-external-id \
  --region us-east-1 \
  --account-id 123456789012 \
  --profile production \
  1001

List OCSF Event Classes

uvx security-lake-tools create-source --list

Command-Line Options

security-lake-tools create-source [OPTIONS] CLASS_UID

Arguments:
  CLASS_UID          OCSF class UID (e.g., 1001 for File System Activity)

Options:
  --region           AWS region (default: us-east-1)
  --account-id       AWS account ID (default: auto-detected)
  --external-id      External ID for trust relationship (required)
  --glue-role-arn    ARN of existing Glue service role
  --profile          AWS profile to use
  --no-create-role   Don't auto-create Glue role if missing
  --skip-role-check  Skip Glue role verification
  --list             List all available OCSF class UIDs
  --help             Show help message

IAM Role Management

By default, the tool auto-creates a Glue service role with proper trust relationships and policies. Use --glue-role-arn to specify an existing role, or --no-create-role to disable auto-creation.

🤝 Contributing

Want to contribute? We're all-in on agentic coding with Claude Code! The repo comes pre-configured with our custom plugins—just clone and start hacking.

📄 License

security-lake-tools is released under the Apache License, Version 2.0. Consult LICENSE for the full text.

Metadata

Release files for security-lake-tools 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for security-lake-tools 1.0.0
File Size Uploaded Provenance
security_lake_tools-1.0.0.tar.gz 33.3 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for security-lake-tools 1.0.0
File Interpreter ABI Platform
security_lake_tools-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 47.0 kB

Release files / security_lake_tools-1.0.0.tar.gz

Download URL security_lake_tools-1.0.0.tar.gz
Size 33.3 kB
Tags Source
SHA-256 checksum
How to use checksums
bb1aa3b66c5c9693a940e24606b593940311f466bdd592e890b2380cb35dc076
BLAKE2b-256 checksum
How to use checksums
72e6791786ba691215207f940f69a3e73cee2136266fc4018bc27be5ec670237
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Dec 6, 2025.

Transparency log

Release files / security_lake_tools-1.0.0-py3-none-any.whl

Download URL security_lake_tools-1.0.0-py3-none-any.whl
Size 13.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f93c93000bf646ec2966a8f74286d18decbb3879c196969241744552489437c5
BLAKE2b-256 checksum
How to use checksums
a9ed5520268bdbc9cce1fab3ade5176a30b43cf195566b58262f2e230d1e45f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Dec 6, 2025.

Transparency log

Security for security-lake-tools 1.0.0

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for security_lake_tools-1.0.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Dec 6, 2025.

Transparency log

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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page