SETUP LAB 2

Secure Development & Scripting Environment

Install Visual Studio Code, configure Python interpreters, provision isolated Virtual Environments (venv), install local security libraries (scapy/cryptography), initialize Git trackers, and link remotes.

Environment
VS Code / local Python
Difficulty
Beginner (Level 1)
Course Module
Scripting Environment
Deliverables
Configured Workspace & Validation Scripts
1. System Architecture & Workflow

The diagram below represents the system architecture and operational data flow routing designed for this project.

Architecture Diagram
2. Part 1: Step-by-Step Action Items & Key Execution Steps
STEP 1

Install VS Code and the Python Extension

Setup a professional Integrated Development Environment for writing security tools.

  1. Download and run the VS Code installer from https://code.visualstudio.com.
  2. Launch VS Code. Click on the Extensions icon on the Activity Bar on the left side of the window (shortcut: Ctrl + Shift + X).
  3. In the search box at the top, type Python. Find the extension published by Microsoft and click Install.
  4. Click on the Explorer icon in the Activity Bar (shortcut: Ctrl + Shift + E), then click Open Folder, and create a directory named C:\Projects\security-scripts.
STEP 2

Provision Python Virtual Environment and Install Libraries

Isolate your development library directory from global system interpreters.

  1. In VS Code, click on Terminal from the top menu, then click New Terminal.
  2. Execute the commands below inside the terminal panel:
$ python -m venv venv
This command creates a virtual environment folder named venv to isolate python packages.
$ source venv/bin/activate || .\venv\Scripts\Activate.ps1
This command activates the virtual environment, ensuring subsequent pip commands install packages locally.
$ pip install scapy cryptography pycryptodome
This command installs the packet-crafting scapy library and cryptography algorithm modules locally.
STEP 3

Configure Git and Initialize local Repository

Setup local version control databases to track code changes historically.

  1. In your terminal window, initialize a Git repository:
$ git init
This command creates a hidden .git directory to initialize version control tracking inside the project.
$ echo "venv/" > .gitignore
This command creates a .gitignore file, preventing large local virtualenv files from checking in.
4. Part 2: Complete Deliverable Assets & Production Templates

To verify that the development environment is properly initialized, we will create a simple socket-check script. Save this script inside your workspace folder as env_check.py and run it:

$ python env_check.py
This executes the python script locally to verify package importing and configuration metrics.
PartWhat It Does
pythonRuns the Python interpreter to execute a Python script
verifyVerifies a certificate against a CA certificate to validate the trust chain

Code Breakdown — Line by Line

Copy
Line 1: This line performs an operation as part of the script logic. It contributes to the overall functionality of the program.
# env_check.py - Development Environment Verification Utility
Line 2: This is a comment that describes what the code does: "env_check.py - Development Environment Verification Utility". Comments start with # and are ignored by Python.
import sys
Line 3: Imports the sys module/library, making its functions available for use in this script.
def test_imports():
Line 4: Defines a new function called test_imports. Functions are reusable blocks of code that can be called by name.
try:
Line 5: Starts a try block — attempts to run the code inside. If an error occurs, execution jumps to the except block instead of crashing.
import scapy
Line 6: Imports the scapy module/library, making its functions available for use in this script.
import cryptography
Line 7: Imports the cryptography module/library, making its functions available for use in this script.
print("[SUCCESS] Scapy and Cryptography libraries are imported correctly.")
Line 8: Prints output to the terminal so the user can see the result or status of the operation.
except ImportError as e:
Line 9: Catches errors from the try block and handles them gracefully instead of crashing the program.
print(f"[CRITICAL] Library import failed: {{e}}. Ensure venv is active.")
Line 10: Prints output to the terminal so the user can see the result or status of the operation.
sys.exit(1)
Line 11: This line performs an operation as part of the script logic. It contributes to the overall functionality of the program.
if __name__ == "__main__":
Line 12: A conditional check — the code inside this block only runs if the condition evaluates to True.
print(f"Python Version: {{sys.version}}")
Line 13: Prints output to the terminal so the user can see the result or status of the operation.
test_imports()
Line 14: This line performs an operation as part of the script logic. It contributes to the overall functionality of the program.
✓ Complete Combined Script: All lines explained above are combined into the full script shown below. Copy and paste the entire script into your file.
Copy
# env_check.py - Development Environment Verification Utility
import sys

def test_imports():
    try:
        import scapy
        import cryptography
        print("[SUCCESS] Scapy and Cryptography libraries are imported correctly.")
    except ImportError as e:
        print(f"[CRITICAL] Library import failed: {{e}}. Ensure venv is active.")
        sys.exit(1)

if __name__ == "__main__":
    print(f"Python Version: {{sys.version}}")
    test_imports()
5. Deliverables Summary

Created Files / Templates

  • C:\Projects\security-scripts\.gitignore
  • C:\Projects\security-scripts\env_check.py

Verification Artifacts

  • Output logs of python env_check.py confirming library imports success.
  • Screenshot of active venv indicator in VS Code Terminal window.
3. Automation Architecture

The diagram below highlights the automated execution flow pipeline or scripting loop implemented for this module.

Automation Flow Diagram