This document records all major development steps, fixes, and future plans for SkyeVault Ops security automation. Use this as a reference for future improvements and troubleshooting.
skyevault-ops
was mistakenly
treated as a submodule, causing issues with Git tracking..git
folder inside
skyevault-ops
.skyevault-ops
references in
Git.skyevault-ops
as a standard directory..gitignore
to prevent tracking SQLite
database (security_reports.db
).rm -rf skyevault-ops.git # Remove submodule directory
rm -rf .git/modules/skyevault-ops # Remove lingering Git tracking
rm -rf skyevault-ops # Delete local folder
git add .
git commit -m "Fully removed SkyeVault Ops submodule"
git push origin main --force # Force update repo structure
iam_security_check.py
)security_reports.db
.Test Output:
Running IAM Security Check...
Users without MFA enabled:
- SkyeVaultUser
IAM Security Check Complete!
s3_security_check.py
)Test Output:
Running S3 Security Check...
All S3 buckets are secure!
guardduty_check.py
)cloudtrail_check.py
)GenerateDataKey
by unknown users.ListAccessKeys
by root.security_reports.db
.Test Output:
Running CloudTrail Security Check...
Security Alert: GenerateDataKey by Unknown User at 2025-02-26 16:48:22
Security Alert: ListAccessKeys by root at 2025-02-26 16:46:52
database.py
)security_reports.db
Verification Command:
from database import get_reports
print(get_reports())
Example Database Output:
[(1, 'IAM', 'User SkyeVaultUser has no MFA enabled', '2025-02-26 21:28:41'),
(2, 'CloudTrail', 'Security Alert: ListAccessKeys by root at 2025-02-26 16:46:52', '2025-02-26 21:50:39')]
Objective: Set up and debug the Cyberpunk AWS Security Dashboard using Flask, HTML, CSS, JavaScript, and Python API.
The Flask app structure was set up with
templates/
for HTML and static/
for CSS &
JS.
/skyevault-ops
│── /templates
│ ├── index.html # Flask HTML template
│── /static
│ ├── /css
│ │ ├── style.css # UI styling
│ ├── /js
│ │ ├── main.js # JavaScript for logs & graphs
│── app.py # Flask backend
│── requirements.txt # Python dependencies
│── README.md # Project Documentation
app.py
The Flask app (app.py
) was created to:
- Render the dashboard (index.html
).
- Serve security logs as JSON (/logs
).
- Load static files (style.css
, main.js
).
app.py
:from flask import Flask, render_template, jsonify
= Flask(__name__, template_folder="templates", static_folder="static")
app
# Simulated AWS security logs
def get_security_logs():
return [
"service": "IAM", "status": "WARNING", "message": "Excessive IAM permissions detected."},
{"service": "CloudTrail", "status": "INFO", "message": "New API call recorded."},
{"service": "GuardDuty", "status": "CRITICAL", "message": "Possible credential compromise detected!"},
{"service": "WAF", "status": "INFO", "message": "Web request blocked by firewall."}
{
]
@app.route('/')
def index():
return render_template("index.html") # Serve the HTML Dashboard
@app.route('/logs')
def logs():
return jsonify(get_security_logs()) # Serve logs as JSON
if __name__ == '__main__':
=True) app.run(debug
index.html
Sections for logs, graphs, and Red Team tools were added.
index.html
:<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Cyberpunk AWS Security Dashboard</title>
<link rel="stylesheet" href="{{ url_for('static', filename='css/style.css') }}">
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script> <!-- Graphs -->
<script src="{{ url_for('static', filename='js/main.js') }}" defer></script>
</head>
<body>
<div class="container">
<h1>Cyberpunk AWS Security Dashboard</h1>
<!-- Security Logs -->
<div class="box">
<h2>Security Logs</h2>
<div id="terminal">
<pre id="log-output">Loading security logs...</pre>
</div>
</div>
<!-- Graphs -->
<div class="box">
<h2>Security Insights</h2>
<canvas id="securityGraph"></canvas>
</div>
<!-- Red Team Tools -->
<div class="box">
<h2>Red Team Tools</h2>
<button class="red-button" onclick="launchScan()">Network Scan</button>
<button class="red-button" onclick="privilegeEscalation()">Privilege Escalation Test</button>
<button class="red-button" onclick="runExploit()">Exploit S3 Bucket</button>
</div>
</div>
</body>
</html>
This log documents everything from setting up Flask to debugging AWS security scripts while keeping all records structured and easy to reference.