python-cybersecurity-tool-development
30
总安装量
30
周安装量
#6799
全站排名
安装命令
npx skills add https://github.com/mindrally/skills --skill python-cybersecurity-tool-development
Agent 安装分布
claude-code
25
opencode
18
gemini-cli
17
cursor
16
codex
15
Skill 文档
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