Skip to content

Commit 0c54a8f

Browse files
Jonathan D.A. Jewellclaude
andcommitted
feat: implement security analysis stubs with post-quantum crypto detection
- Implement 10 standalone security check functions: - checkSqlInjection, checkXss, checkCsrf - checkCommandInjection, checkPathTraversal - checkUnsafeDeserialization, checkWeakCrypto - checkHardcodedSecrets, checkDangerousFunctions - Weak crypto detection flags MD5/SHA1, recommends SHAKE3-256/BLAKE3 - Add DUBLINCORE.rdf, CITATION.cff, void.ttl metadata - Add PRIORITY.adoc (MUST/SHOULD/COULD list) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 6ae6a01 commit 0c54a8f

5 files changed

Lines changed: 423 additions & 18 deletions

File tree

CITATION.cff

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# SPDX-License-Identifier: AGPL-3.0-or-later
2+
cff-version: 1.2.0
3+
title: sanctify-php
4+
message: "If you use this software, please cite it as below."
5+
type: software
6+
authors:
7+
- family-names: Jewell
8+
given-names: Jonathan D.A.
9+
repository-code: "https://github.com/hyperpolymath/sanctify-php"
10+
url: "https://github.com/hyperpolymath/sanctify-php"
11+
abstract: >-
12+
Haskell-based PHP hardening and security analysis tool.
13+
Performs taint tracking, type inference, security vulnerability
14+
detection (SQLi, XSS, CSRF, command injection), and automatic
15+
code transformations for safer PHP.
16+
keywords:
17+
- php
18+
- static-analysis
19+
- security
20+
- haskell
21+
- taint-tracking
22+
- wordpress
23+
license: AGPL-3.0-or-later
24+
version: "0.1.0"
25+
date-released: "2025-01-03"

DUBLINCORE.rdf

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!-- SPDX-License-Identifier: AGPL-3.0-or-later -->
3+
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
4+
xmlns:dc="http://purl.org/dc/elements/1.1/"
5+
xmlns:dcterms="http://purl.org/dc/terms/">
6+
<rdf:Description rdf:about="https://github.com/hyperpolymath/sanctify-php">
7+
<dc:title>sanctify-php</dc:title>
8+
<dc:creator>Jonathan D.A. Jewell</dc:creator>
9+
<dc:subject>Static Analysis</dc:subject>
10+
<dc:subject>PHP Security</dc:subject>
11+
<dc:subject>Code Transformation</dc:subject>
12+
<dc:subject>Taint Tracking</dc:subject>
13+
<dc:description>Haskell-based PHP hardening and security analysis tool with taint tracking, type inference, and automatic transformations</dc:description>
14+
<dc:publisher>Hyperpolymath</dc:publisher>
15+
<dc:type>Software</dc:type>
16+
<dc:format>application/x-haskell</dc:format>
17+
<dc:identifier>https://github.com/hyperpolymath/sanctify-php</dc:identifier>
18+
<dc:language>en</dc:language>
19+
<dc:rights>AGPL-3.0-or-later</dc:rights>
20+
<dcterms:license rdf:resource="https://www.gnu.org/licenses/agpl-3.0"/>
21+
<dcterms:conformsTo rdf:resource="https://github.com/hyperpolymath/rhodium-standard-repositories"/>
22+
</rdf:Description>
23+
</rdf:RDF>

PRIORITY.adoc

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
// SPDX-License-Identifier: AGPL-3.0-or-later
2+
= sanctify-php Priority List
3+
:toc:
4+
5+
== MUST (Critical - Core Analysis)
6+
7+
[cols="1,3,1"]
8+
|===
9+
|ID |Task |Status
10+
11+
|M1
12+
|Implement standalone security checks (SQL, XSS, CSRF, etc.)
13+
|✓ DONE
14+
15+
|M2
16+
|Weak crypto detection (flag MD5/SHA1, recommend SHAKE3-256/BLAKE3)
17+
|✓ DONE
18+
19+
|M3
20+
|Post-quantum crypto advisory (Kyber/Dilithium recommendations)
21+
|✓ DONE
22+
23+
|M4
24+
|Complete taint tracking for all PHP superglobals
25+
|✓ DONE
26+
27+
|M5
28+
|Config file parsing (YAML/JSON)
29+
|PENDING
30+
|===
31+
32+
== SHOULD (Important - WordPress Focus)
33+
34+
[cols="1,3,1"]
35+
|===
36+
|ID |Task |Status
37+
38+
|S1
39+
|WordPress hook security analysis
40+
|PENDING
41+
42+
|S2
43+
|WordPress capability escalation detection
44+
|PENDING
45+
46+
|S3
47+
|Auto-fix for common issues (strict_types, esc_html, etc.)
48+
|PENDING
49+
50+
|S4
51+
|SARIF output format for CI integration
52+
|PENDING
53+
54+
|S5
55+
|LSP server for IDE integration
56+
|PENDING
57+
58+
|S6
59+
|Add Guix/Nix package definitions
60+
|PENDING
61+
|===
62+
63+
== COULD (Nice to Have - Future)
64+
65+
[cols="1,3,1"]
66+
|===
67+
|ID |Task |Status
68+
69+
|C1
70+
|Laravel-specific security rules
71+
|PENDING
72+
73+
|C2
74+
|Symfony-specific security rules
75+
|PENDING
76+
77+
|C3
78+
|Performance impact analysis
79+
|PENDING
80+
81+
|C4
82+
|Automated PR review comments via GitHub Actions
83+
|PENDING
84+
|===

0 commit comments

Comments
 (0)