All Projects → baidu-security → openrasp-v8

baidu-security / openrasp-v8

Licence: Apache-2.0 license
Google V8 with OpenRASP builtins

Programming Languages

C++
36643 projects - #6 most used programming language
javascript
184084 projects - #8 most used programming language
java
68154 projects - #9 most used programming language
go
31211 projects - #10 most used programming language
CMake
9771 projects
shell
77523 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to openrasp-v8

Core
Server core components which are a part of ONLYOFFICE Document Server
Stars: ✭ 152 (+261.9%)
Mutual labels:  v8
Electron
Build cross-platform desktop apps with JavaScript, HTML, and CSS
Stars: ✭ 99,383 (+236526.19%)
Mutual labels:  v8
docker-v8
Docker V8 Image
Stars: ✭ 26 (-38.1%)
Mutual labels:  v8
Discovery
Discoveries on Sustainable Loading research
Stars: ✭ 174 (+314.29%)
Mutual labels:  v8
Php V8
PHP extension for V8 JavaScript engine
Stars: ✭ 197 (+369.05%)
Mutual labels:  v8
WebView4Delphi
WebView4Delphi is an open source project created by Salvador Díaz Fau to embed Chromium-based browsers in applications made with Delphi or Lazarus/FPC for Windows.
Stars: ✭ 157 (+273.81%)
Mutual labels:  v8
V8dotnet
A fairly non-abstracted wrapper for Google's V8 JavaScript engine.
Stars: ✭ 133 (+216.67%)
Mutual labels:  v8
v8-android-buildscripts
V8 build scripts for React Native Android
Stars: ✭ 63 (+50%)
Mutual labels:  v8
Examples
A collection of examples of Neon
Stars: ✭ 202 (+380.95%)
Mutual labels:  v8
all-about-node
All about Node.js
Stars: ✭ 16 (-61.9%)
Mutual labels:  v8
V8
✔️8️⃣ 分析V8和周边技术、并且着手代码的优化
Stars: ✭ 179 (+326.19%)
Mutual labels:  v8
Unreal.js Core
Unreal.js plugin submodule
Stars: ✭ 189 (+350%)
Mutual labels:  v8
zig-v8
Simple V8 builds with C and Zig bindings.
Stars: ✭ 87 (+107.14%)
Mutual labels:  v8
V8 Natives
Access v8 Engine Natives easily in Chrome & Node
Stars: ✭ 161 (+283.33%)
Mutual labels:  v8
node-mini
Mini Node.js runtime built on V8
Stars: ✭ 24 (-42.86%)
Mutual labels:  v8
Jsc
A JavaScript compiler written in TypeScript targeting C++/V8
Stars: ✭ 135 (+221.43%)
Mutual labels:  v8
bytenode
A minimalist bytecode compiler for Node.js
Stars: ✭ 2,042 (+4761.9%)
Mutual labels:  v8
react-native-js-benchmark
JavaScript Engine Benchmark for React Native
Stars: ✭ 100 (+138.1%)
Mutual labels:  v8
OldCEF4Delphi
OldCEF4Delphi is an open source project to embed Chromium-based browsers in applications made with Delphi.
Stars: ✭ 55 (+30.95%)
Mutual labels:  v8
FENews.org
fenews.org
Stars: ✭ 20 (-52.38%)
Mutual labels:  v8

openrasp-v8

CI

Google V8 JavaScript engine with OpenRASP builtins, and bridges that are used to embed V8 within languages which are supported by OpenRASP.

Currently supported languages:

  • PHP
  • Java
  • Go

Features

OpenRASP attack detect engine in JavaScript

Full JavaScript runtime context of OpenRASP attack detect engine, with simple C++ interfaces and helpers.

Integrating openrasp-v8 in other languages only need several lines.

Lexical analyzer

Flex lexical analyzer is embeded in openrasp-v8 to tokenize sql and command strings. Just call RASP.sql_tokenize or RASP.cmd_tokenize

HTTP request

The http request method is RASP.request. It accepts a configure object and returns a promise. Just like the axios.

Platform independent

You can build and use it on different OS types, different OS versions and different OS archs.

For convenience of build, we have built some third-party libraries to static libraries:

  • Linux x64
  • Linux x86
  • Linux musl
  • OSX x64
  • Windows x64
  • Windows x86

For compatibility of Linux, most libraries will be staticly linked into openrasp-v8, even libc++. You can even use centos6 sysroot to force linker to link old version glibc.

Support multiple languages

We will continuely add more languages to our support list.

The language support briges are not just some C++ ports, but also the language specified native interfaces. Such as jni fo Java and cgo for Go.

Build

We use CMake to generate the files needed by your build tool (GNU make, Visual Studio, Ninja, etc.) for building openrasp-v8 and its language ports.

For example:

mkdir build
cd build
cmake -DENABLE_LANGUAGES=all ..
make
make test

The openrasp-v8 specified cmake variables:

  • ENABLE_LANGUAGES

    Cmake list of languages to build, or all for building all (base, php, java, go)

  • BUILD_TESTING

    Boolean option for whether the tests will be built

  • BUILD_COVERAGE

    Boolean option for whether the coverage will be built

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].