Open fproulx-boostsecurity opened 4 months ago
vale is CLI meta-linting tool that has tons of plugins that can be configured using a config file.
vale
.vale.ini
https://vale.sh/
import "os"
"os"
"text", "fmt", "math
xsltproc
exsl:document
NLPEndpoint
Lang
!= "en"
*.txt
/proc/self/environ
.git/config
Lang = fr
en
Description of the LOTP tool
vale
is CLI meta-linting tool that has tons of plugins that can be configured using a config file.Configuration files
Documentation
https://vale.sh/
Interesting features
import "os"
"os"
(https://github.com/d5/tengo/blob/master/docs/stdlib-os.md)"text", "fmt", "math
are exported (https://github.com/errata-ai/vale/blob/e8dd9f6435aa9377159783bb3d517e8bbc77717d/internal/lint/action.go#L91)xsltproc
makes old-school XXE hard / if not impossible? because of URI constraints, BUT as most support theexsl:document
extension (https://exslt.github.io/exsl/elements/document/index.html) it does provide an arbitrary write gadget that can be combined with theNLPEndpoint
for exfiltration (ex. https://github.com/Koha-Community/Koha/blob/main/t/db_dependent/Koha/XSLT/Security.t#L64-L75)NLPEndpoint
+Lang
(!= "en"
) REST API support is a great reliable built-in exfiltration mechanism, easy to combine with symbolic link (with*.txt
) in git repo pointing to file (ex./proc/self/environ
or.git/config
)NLPEndpoint
in.vale.ini
https://github.com/errata-ai/vale/blob/e8dd9f6435aa9377159783bb3d517e8bbc77717d/internal/core/ini.go#L227Lang = fr
(noten
to trigger NLP REST API)