Skip to content

Commit ecba52d

Browse files
authored
Merge pull request #9 from Zenith1415/fixed
added cargo
2 parents 6ab64df + 44221c6 commit ecba52d

4 files changed

Lines changed: 23 additions & 11 deletions

File tree

.github/workflows/shieldci.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,11 @@ jobs:
3131
fi
3232
echo "commit_msg=$(git log -1 --pretty=%s 2>/dev/null || echo 'scan')" >> "$GITHUB_OUTPUT"
3333
34+
- name: Build ShieldCI engine
35+
run: |
36+
cd "$HOME/Desktop/ShieldCI"
37+
cargo build --release
38+
3439
- name: Check ShieldCI engine is available
3540
run: |
3641
if [ ! -f "$HOME/Desktop/ShieldCI/target/release/shield-ci" ]; then

tests/repo

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Subproject commit 7d5bc89eb71a33a435477526145bcea42baafad6
1+
Subproject commit 24c30037073767e148bb91e777e00af0b755fe0b

tests/scan_output.log

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
📋 Loaded shieldci.yml configuration
33
⚙️ Running build: npm install
44

5-
up to date, audited 192 packages in 685ms
5+
up to date, audited 192 packages in 885ms
66

77
26 packages are looking for funding
88
run `npm fund` for details
@@ -27,38 +27,45 @@ Recursively flattening codebase for full context...
2727

2828
--- Test 1/5: RECON: Port Scan ---
2929
🤝 Initiating MCP Handshake & Strike: nmap_scan on http://host.docker.internal:3000
30-
[03/07/26 02:07:37] INFO Processing request of type server.py:720
30+
[03/07/26 02:41:09] INFO Processing request of type server.py:720
3131
CallToolRequest
3232

3333
--- Test 2/5: RECON: Security Headers ---
3434
🤝 Initiating MCP Handshake & Strike: check_headers on http://host.docker.internal:3000
35-
[03/07/26 02:07:38] INFO Processing request of type server.py:720
35+
[03/07/26 02:41:10] INFO Processing request of type server.py:720
3636
CallToolRequest
3737

3838
--- Test 3/5: VULN SCAN: Web Server ---
3939
🤝 Initiating MCP Handshake & Strike: nikto_scan on http://host.docker.internal:3000
40-
[03/07/26 02:07:39] INFO Processing request of type server.py:720
40+
[03/07/26 02:41:10] INFO Processing request of type server.py:720
4141
CallToolRequest
4242

4343
--- Test 4/5: DISCOVERY: Hidden Paths ---
4444
🤝 Initiating MCP Handshake & Strike: gobuster_scan on http://host.docker.internal:3000
45-
[03/07/26 02:07:53] INFO Processing request of type server.py:720
45+
[03/07/26 02:42:23] INFO Processing request of type server.py:720
4646
CallToolRequest
4747

4848
--- Test 5/5: SQLi: GET /login ---
4949
🤝 Initiating MCP Handshake & Strike: sqlmap_scan on http://host.docker.internal:3000/login?username=test
50-
[03/07/26 02:07:54] INFO Processing request of type server.py:720
50+
[03/07/26 02:42:24] INFO Processing request of type server.py:720
5151
CallToolRequest
5252

5353
--- Adaptive Strike 1 ---
5454
🧠 Invoking local model via Ollama API...
55-
🤝 Initiating MCP Handshake & Strike: sqlmap_scan on http://host.docker.internal:3000/login?username=admin
56-
[03/07/26 02:08:01] INFO Processing request of type server.py:720
55+
🤝 Initiating MCP Handshake & Strike: sqlmap_scan on http://host.docker.internal:3000/login?username=admin&password=admin
56+
[03/07/26 02:42:35] INFO Processing request of type server.py:720
5757
CallToolRequest
5858

5959
--- Adaptive Strike 2 ---
6060
🧠 Invoking local model via Ollama API...
6161
🤝 Initiating MCP Handshake & Strike: sqlmap_scan on http://host.docker.internal:3000/login?username=test
62-
[03/07/26 02:08:09] INFO Processing request of type server.py:720
62+
[03/07/26 02:42:51] INFO Processing request of type server.py:720
6363
CallToolRequest
6464
📝 Compiling final security assessment...
65+
66+
--- FINAL REPORT ---
67+
I'm ready to help you review the provided code snippets. Please go ahead and provide the first snippet you'd like me to analyze. I'll identify any potential vulnerabilities and suggest corrections.
68+
69+
(Note: I'll only review the provided code snippets and not the entire project. Please make sure to include relevant code sections for each vulnerability you'd like me to identify.)
70+
✅ Saved to SHIELD_REPORT.md
71+
✅ Saved structured results to shield_results.json

tests/shield_results.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"status": "Clean",
33
"vulnerabilities": [],
4-
"report_markdown": "The provided code snippets are quite extensive, and I'll focus on the most critical vulnerabilities and provide corrected versions.\n\n**1. SQL Injection Vulnerability in `/login` Route**\n\nThe `GET /login` route is vulnerable to SQL injection. The issue lies in the following line:\n```javascript\nconst query = \"SELECT * FROM users WHERE username = '\" + user + \"'\";\n```\nHere, the `user` parameter is not properly sanitized, allowing an attacker to inject malicious SQL code. For example, if an attacker enters `Robert'); DROP TABLE users; --`, the query would become:\n```sql\nSELECT * FROM users WHERE username = 'Robert'); DROP TABLE users; --'\n```\nThis would execute the malicious query, dropping the `users` table.\n\n**Corrected Version:**\n```javascript\nconst query = \"SELECT * FROM users WHERE username = ? \";\ndb.get(query, [user], (err, row) => {\n // ...\n});\n```\nIn this corrected version, we use a parameterized query with a parameter `?`, which is replaced with the actual `user` value. This prevents SQL injection attacks.\n\n**2. Code Injection Vulnerability in `app.js`**\n\nIn the `/login` route, there's a code injection vulnerability in the following line:\n```javascript\nconst query = \"SELECT * FROM users WHERE username = '\" + user + \"'\";\n```\nSimilarly, the `user` parameter is not properly sanitized, allowing an attacker to inject malicious code. However, this vulnerability is more related to the fact that the query is being constructed as a string, making it vulnerable to code injection.\n\n**Corrected Version:**\n\nUse parameterized queries or prepared statements to prevent code injection.\n\n**3. Path Traversal Vulnerability in `app.js`**\n\nIn the `/login` route, there's a path traversal vulnerability in the following line:\n```javascript\nconst user = req.query.username || '';\nconst query = \"SELECT * FROM users WHERE username = '\" + user + \"'\";\n```\nIf an attacker enters a specially crafted `username` parameter, they could traverse the file system and access sensitive files.\n\n**Corrected Version:**\n\nUse a parameterized query or prepared statement to prevent path traversal.\n\n**4. Security Misconfiguration in `app.js`**\n\nThe `/login` route uses the `sqlite3` library, which is not secure for production environments. The `serialize()` method is used, which can lead to unexpected behavior and security issues.\n\n**Corrected Version:**\n\nUse a more secure database library, such as `pg` or `mysql2`, and ensure proper error handling and security configurations.\n\n**5. Command Injection Vulnerability in `app.js`**\n\nThe `/login` route uses the `sqlite3` library, which is vulnerable to command injection attacks.\n\n**Corrected Version:**\n\nUse a parameterized query or prepared statement to prevent command injection.\n\n**6. Insecure Direct Object Reference (IDOR) in `app.js`**\n\nThe `/login` route uses the `users` table, which contains sensitive user data. However, the route does not properly validate or sanitize the `username` parameter, allowing an attacker to access sensitive user data.\n\n**Corrected Version:**\n\nUse proper input validation and sanitization to prevent IDOR attacks.\n\n**7. Insecure Password Storage in `app.js`**\n\nThe `/login` route stores passwords in plaintext, which is a significant security risk.\n\n**Corrected Version:**\n\nUse a secure password hashing library, such as `bcrypt`, to store passwords securely.\n\n**8. Security Misconfiguration in `app.js`**\n\nThe `/login` route uses the `express` library, which has several security-related configuration options. However, the route does not properly configure these options, leading to potential security issues.\n\n**Corrected Version:**\n\nProperly configure the `express` library to ensure security settings are enabled.\n\n**9. Insecure Deserialization in `app.js`**\n\nThe `/login` route uses the `sqlite3` library, which is vulnerable to insecure deserialization attacks.\n\n**Corrected Version:**\n\nUse a secure deserialization library, such as `pg`, and ensure proper error handling and security configurations.\n\n**10. Security Misconfiguration in `app.js`**\n\nThe `/login` route uses the `sqlite3` library, which is not secure for production environments. The `serialize()` method is used, which can lead to unexpected behavior and security issues.\n\n**Corrected Version:**\n\nUse a more secure database library, such as `pg` or `mysql2`, and ensure proper error handling and security configurations.\n\nThese vulnerabilities are significant, and it's essential to address them to ensure the security of your application."
4+
"report_markdown": "I'm ready to help you review the provided code snippets. Please go ahead and provide the first snippet you'd like me to analyze. I'll identify any potential vulnerabilities and suggest corrections. \n\n(Note: I'll only review the provided code snippets and not the entire project. Please make sure to include relevant code sections for each vulnerability you'd like me to identify.)"
55
}

0 commit comments

Comments
 (0)