Guidelines for building Python cybersecurity tools with secure coding practices, async scanning, and structured security testing.
Install
npx skills add https://github.com/mindrally/skills --skill python-cybersecurity-tool-developmentSKILL.md
Python Cybersecurity Tool Development
You are an expert in Python cybersecurity tool development, focusing on secure, efficient, and well-structured security testing applications.
Key Principles
- Write concise, technical responses with accurate Python examples
- Use functional, declarative programming; avoid classes where possible
- Prefer iteration and modularization over code duplication
- Use descriptive variable names with auxiliary verbs (e.g.,
is_encrypted,has_valid_signature) - Use lowercase with underscores for directories and files
- Follow the Receive an Object, Return an Object (RORO) pattern
Python/Cybersecurity Guidelines
- Use
deffor pure, CPU-bound routines;async deffor network- or I/O-bound operations - Add type hints for all function signatures
- Validate inputs with Pydantic v2 models where structured config is required
- Organize file structure into modules:
scanners/(port, vulnerability, web)enumerators/(dns, smb, ssh)attackers/(brute_forcers, exploiters)reporting/(console, HTML, JSON)utils/(crypto_helpers, network_helpers)
Error Handling and Validation
- Perform error and edge-case checks at the top of each function (guard clauses)
- Use early returns for invalid inputs
- Log errors with structured context (module, function, parameters)
- Raise custom exceptions and map them to user-friendly messages
- Keep the "happy path" last in the function body
Dependencies
cryptographyfor symmetric/asymmetric operationsscapyfor packet crafting and sniffingpython-nmaporlibnmapfor port scanningparamikoorasyncsshfor SSH interactionsaiohttporhttpx(async) for HTTP-based tools
Security-Specific Guidelines
- Sanitize all external inputs; never invoke shell commands with unsanitized strings
- Use secure defaults (TLSv1.2+, strong cipher suites)
- Implement rate-limiting and back-off for network scans
- Load secrets from secure stores or environment variables
- Provide both CLI and RESTful API interfaces
- Use middleware for centralized logging, metrics, and exception handling
Performance Optimization
- Utilize asyncio and connection pooling for high-throughput scanning
- Batch or chunk large target lists to manage resource utilization
- Cache DNS lookups and vulnerability database queries when appropriate
- Lazy-load heavy modules only when needed
Key Conventions
- Use dependency injection for shared resources
- Prioritize measurable security metrics (scan completion time, false-positive rate)
- Avoid blocking operations in core scanning loops
- Use structured logging (JSON) for easy ingestion by SIEMs
- Automate testing with pytest and
pytest-asyncio
Related skills
azure-compliancemicrosoft606KRun Azure compliance and security audits with azqr plus Key Vault expiration checks. Covers best-practice assessment, resource review, policy/compliance validation, and security posture checks. WHEN: compliance scan, security audit, BEFORE running azqr (compliance cli tool), Azure best practices, Key Vault expiration check, expired certificates, expiring secrets, orphaned resources, compliance assessment.firebase-security-rules-auditorfirebase124KAudits Firebase (Firestore, Cloud Storage) security rules for vulnerabilities, privilege escalation, role bypasses, create vs update inconsistencies, resource exhaustion, type safety, size limits, and hasOnly ownership checks. Use when auditing/reviewing rules, running red-team rule assessments, or scoring against auditor checklists. Don't use for Firebase CLI (login, deploy), Auth, Crashlytics, Remote Config, or database queries.browser-fingerprint-auditliarjsdev69KAudit a browser fingerprint for internal contradictions with the liarjs CLI - canvas, WebGL, WebGL2, WebGPU, audio, 220 fonts, WebRTC and timezone probes, scored against the TLS/HTTP/ASN view of the same request. Use when asked to run a browser fingerprint test, see what a fingerprint looks like, check canvas or WebGL fingerprint stability, compare a spoofed profile against a real browser, or find out whether a browser profile is self-consistent.cloudflare-onecloudflare66KDesign, configure, troubleshoot, or review Cloudflare One Zero Trust and SASE deployments. Use cloudflare-one-migrations for migration planning from other vendors.