|
--- |
|
license: llama3.1 |
|
library_name: transformers |
|
tags: |
|
- mergekit |
|
- merge |
|
- security |
|
- cybersecurity |
|
- network-security |
|
- llama |
|
base_model: |
|
- fdtn-ai/Foundation-Sec-8B |
|
- DavidAU/L3.1-Evil-Reasoning-Dark-Planet-Hermes-R1-Uncensored-8B |
|
- shenzhi-wang/Llama3.1-8B-Chinese-Chat |
|
--- |
|
# 🛡️ Foundation-Sec-8B-Chinese-Chat |
|
8B Cybersecurity Language Model Merged via Mergekit. |
|
基于 Foundation-Sec-8B 的网络安全大模型 |
|
|
|
This is a merged cybersecurity-focused language model created using mergekit, combining security expertise with multilingual capabilities. |
|
本模型是通过 mergekit 工具创建的安全领域专用语言模型,融合了网络安全知识与多语言能力。 |
|
|
|
***需注意的是,由于未经过监督微调(SFT)和强化学习(RL)训练,模型在实际应用中可能存在一定局限性。*** |
|
***It is important to note that, due to the absence of supervised fine-tuning (SFT) and reinforcement learning (RL) processes, the model may exhibit certain limitations in practical applications.*** |
|
|
|
## How to use? |
|
```python |
|
import torch |
|
import transformers |
|
from transformers import AutoModelForCausalLM, AutoTokenizer |
|
|
|
model_id = "sds-ai/Foundation-Sec-8B-Chinese-Chat" |
|
dtype = torch.bfloat16 |
|
|
|
tokenizer = AutoTokenizer.from_pretrained(model_id) |
|
model = AutoModelForCausalLM.from_pretrained( |
|
model_id, |
|
device_map="cuda", |
|
torch_dtype=dtype, |
|
) |
|
|
|
chat = [ |
|
{ |
|
"role": "user", |
|
"content": "介绍一下CVE-2021-44228,编写python利用脚本" |
|
} |
|
] |
|
|
|
input_ids = tokenizer.apply_chat_template( |
|
chat, tokenize=True, add_generation_prompt=True, return_tensors="pt" |
|
).to(model.device) |
|
|
|
outputs = model.generate( |
|
input_ids, |
|
max_new_tokens=1024, |
|
temperature=0.6, |
|
top_p=0.9, |
|
) |
|
response = outputs[0][input_ids.shape[-1] :] |
|
print(tokenizer.decode(response, skip_special_tokens=True)) |
|
``` |
|
|
|
## Merge Details |
|
The model was merged using the DARE-TIES algorithm (Dynamic And Regularized TIES merging) with [fdtn-ai/Foundation-Sec-8B](https://huggingface.co/fdtn-ai/Foundation-Sec-8B) as the base architecture. |
|
采用DARE-TIES 算法(动态正则化权重合并)进行模型融合,以 [fdtn-ai/Foundation-Sec-8B](https://huggingface.co/fdtn-ai/Foundation-Sec-8B) 为基础架构。 |
|
|
|
### Merged Models |
|
Three specialized models were combined: |
|
- [fdtn-ai/Foundation-Sec-8B](https://huggingface.co/fdtn-ai/Foundation-Sec-8B) |
|
- [DavidAU/L3.1-Evil-Reasoning-Dark-Planet-Hermes-R1-Uncensored-8B](https://huggingface.co/DavidAU/L3.1-Evil-Reasoning-Dark-Planet-Hermes-R1-Uncensored-8B) |
|
- [shenzhi-wang/Llama3.1-8B-Chinese-Chat](https://huggingface.co/shenzhi-wang/Llama3.1-8B-Chinese-Chat) |
|
|
|
整合以下专业模型: |
|
- Foundation-Sec-8B (基座模型): 网络安全基础模型 |
|
- L3.1-Evil-Reasoning-Dark-Planet-Hermes-R1-Uncensored-8B (权重: 0.5, 密度: 0.53): 强化攻击者思维模拟能力 |
|
- Llama3.1-8B-Chinese-Chat (权重: 0.3, 密度: 0.53): 中文理解和对话能力 |
|
|
|
### Configuration |
|
```yaml |
|
base_model: fdtn-ai/Foundation-Sec-8B |
|
chat_template: auto |
|
dtype: float16 |
|
merge_method: dare_ties |
|
models: |
|
- model: fdtn-ai/Foundation-Sec-8B |
|
- model: DavidAU/L3.1-Evil-Reasoning-Dark-Planet-Hermes-R1-Uncensored-8B |
|
parameters: |
|
density: 0.53 |
|
weight: 0.5 |
|
- model: shenzhi-wang/Llama3.1-8B-Chinese-Chat |
|
parameters: |
|
density: 0.53 |
|
weight: 0.3 |
|
parameters: |
|
int8_mask: true |
|
normalize: true |
|
tokenizer_source: union |
|
``` |
|
|
|
## Key Features |
|
🔒 Cybersecurity Expertise: Inherits Foundation-Sec-8B's security analysis capabilities |
|
继承Foundation-Sec-8B的网络安全分析能力 |
|
|
|
🧠 Adversarial Reasoning: Enhanced threat modeling through evil reasoning model |
|
增强威胁建模能力 |
|
|
|
🌏 Multilingual Support: Robust Chinese language processing |
|
强化中文处理能力 |
|
|
|
⚙️ Efficient: FP16 precision with INT8 masking for optimal performance |
|
FP16精度配合INT8掩码优化性能 |
|
|
|
|
|
## Examples: |
|
`max_new_tokens=1024, temperature=0.6, top_p=0.9` |
|
|
|
`Example 1` |
|
User: PHP的GPC是什么?开启了怎么绕过? |
|
Assistant: GPC是PHP中一个缩写,代表"Get"和"Post/ Cookies"。在PHP web 开发中,GPC是指获取和处理HTTP请求中的数据,包括GET请求和POST请求数据,以及处理Cookie。 |
|
|
|
在PHP中,GPC是指内置的内建变量,它允许你访问HTTP请求中的数据。GPC是PHP的内建功能,它可以让你访问$_GET、$_POST和$_COOKIE变量,这些变量包含了HTTP请求中的数据。 |
|
|
|
要在PHP中开启GPC功能,你需要确保你的PHP脚本是通过HTTP请求来访问的。通常,这是通过Web服务器(如Apache或Nginx)来访问的。 |
|
|
|
如果你想在PHP脚本中开启GPC功能,你可以使用以下代码: |
|
|
|
```php |
|
<?php |
|
// 开启GPC功能 |
|
$_GET、$_POST、$_COOKIE; |
|
?> |
|
``` |
|
|
|
这段代码会开启GPC功能,允许你访问HTTP请求中的数据。 |
|
|
|
要绕过GPC功能,你可以使用以下方法: |
|
|
|
1. 使用HTTPS请求:如果你使用HTTPS请求,GPC功能将被阻止,因为HTTPS请求不发送数据到服务器。 |
|
2. 使用POST请求:如果你使用POST请求,并且设置了请求头中的`Content-Type`为`application/json`或者其他类型,GPC功能将被阻止。 |
|
3. 使用JSONP请求:如果你使用JSONP请求,GPC功能将被阻止,因为JSONP请求不发送数据到服务器。 |
|
4. 使用CURL:你可以使用PHP的CURL扩展来发送HTTP请求,而不是依赖GPC功能。 |
|
|
|
绕过GPC功能的目的是为了保护敏感数据或防止跨站脚本攻击(CSRF)等安全问题。 |
|
|
|
--- |
|
|
|
`Example 2` |
|
User: SpringBoot常见的接口路由泄漏有哪些? |
|
Assistant: 在Spring Boot中,接口路由泄漏通常指的是在应用程序中定义了多个路由规则,但这些规则之间存在重叠或冲突,从而导致路由系统无法正确地处理请求。这可能会导致应用程序出现异常、错误或性能问题。 |
|
|
|
以下是一些常见的接口路由泄漏情况: |
|
|
|
1. 重复定义路由:在配置文件中重复定义了相同的路由规则,这可能导致路由系统无法确定哪个规则应该应用。 |
|
|
|
2. 路由规则不匹配:定义了路由规则时,没有考虑到请求的HTTP方法、请求参数、请求头等因素,这可能导致路由系统无法正确匹配请求。 |
|
|
|
3. 路由规则优先级问题:在配置路由规则时,没有明确指定优先级,导致某些规则被覆盖或忽略。 |
|
|
|
4. 路由规则过于宽泛:定义了路由规则过于宽泛,导致多个路由规则之间存在重叠,从而导致路由系统无法正确地处理请求。 |
|
|
|
5. 使用了非标准的路由参数:在路由规则中使用了非标准的参数,例如使用了特殊字符或大小写不正确的参数名,这可能导致路由系统无法正确解析请求。 |
|
|
|
6. 忽略了路由规则的前缀:在定义路由规则时,没有考虑到请求的前缀,这可能导致路由系统无法正确匹配请求。 |
|
|
|
7. 使用了路由规则的正则表达式错误:在路由规则中使用了正则表达式时,没有正确地定义正则表达式模式,这可能导致路由系统无法正确匹配请求。 |
|
|
|
为了避免这些问题,可以采取以下措施: |
|
|
|
1. 使用路由规则的唯一标识符:确保每个路由规则有一个唯一的标识符,以便于区分和管理。 |
|
|
|
2. 使用路由规则的优先级:明确指定每个路由规则的优先级,以确保正确的规则被应用。 |
|
|
|
3. 验证路由规则:在部署之前,验证路由规则是否正确无误,避免重复定义或冲突的规则。 |
|
|
|
4. 使用路由规则的正则表达式:确保在路由规则中使用正确的正则表达式模式,以便路由系统能够正确匹配请求。 |
|
|
|
5. 使用路由规则的前缀:确保在路由规则中考虑到请求的前缀,以便路由系统能够正确匹配请求。 |
|
|
|
通过采取这些措施,可以有效避免接口路由泄漏问题,从而提高应用程序的稳定性和性能。 |
|
|
|
--- |
|
|
|
`Example 3` |
|
User: 介绍一下CVE-2021-44228,编写python利用脚本? |
|
Assistant: CVE-2021-44228 是一个严重的漏洞,影响了由Apache Log4j版本2.327及更早版本的软件。它是一个远程代码执行(RCE)漏洞,这意味着攻击者可以利用该漏洞执行任意代码。 |
|
|
|
CVE-2021-44228 是由Apache Log4j版本2.327及更早版本中的一个漏洞,称为"Log4j Remote Code Execution Vulnerability"。该漏洞存在于Log4j的JNDI功能中,特别是在它处理JNDI环境变量时。 |
|
|
|
要利用这个漏洞,攻击者需要将恶意的JNDI环境变量注入到Log4j处理的日志记录中。 |
|
|
|
以下是一个Python脚本,用于演示如何利用CVE-2021-44228: |
|
|
|
```python |
|
import socket |
|
|
|
# 创建一个socket对象 |
|
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) |
|
|
|
# 设置一个伪造的JNDI环境变量 |
|
env = { |
|
"java.util.Logger": { |
|
"Logger": { |
|
"log4j-remote": { |
|
"port": "12345" |
|
} |
|
} |
|
} |
|
} |
|
|
|
# 发送恶意JNDI环境变量到目标服务器 |
|
sock.connect(("192.168.1.1", 12345)) |
|
sock.sendall(bytes("JNDI: java.util.Logger", encoding="utf-8")) |
|
|
|
# 接收回显信息 |
|
response = sock.recv(1024) |
|
print(response) |
|
|
|
# 关闭socket连接 |
|
sock.close() |
|
``` |
|
|
|
--- |
|
|
|
`Example 4` |
|
User: 分析一个android应用的apk文件以寻找硬编码的API密钥或者不安全的网络请求,你会用哪些工具组合?各自的作用是什么? |
|
Assistant: 为了分析 Android 应用的 APK 文件以寻找硬编码的 API 密钥或者不安全的网络请求,你可以使用以下工具组合: |
|
|
|
1. **APKTool**: |
|
* APKTool 是一个开源的工具,用于反编译和分析 Android 应用的 APK 文件。 |
|
* 它可以帮助你解析 APK 文件的结构,包括类、方法、资源等。 |
|
* 作用:反编译 APK 文件,分析应用的代码和资源。 |
|
|
|
2. **Dex2Jar**: |
|
* Dex2Jar 是一个工具,用于将 Android 应用的.dex 文件转换为可执行的 Java 字节码。 |
|
* 它可以帮助你分析应用的代码,包括类、方法和变量。 |
|
* 作用:将.dex 文件转换为可执行的 Java 字节码。 |
|
|
|
3. **JD-GrepTools**: |
|
* JD-GrepTools 是一个插件,用于在 JD (Java Decompiler) 中添加搜索功能。 |
|
* 它可以帮助你快速定位到特定的代码行或字符串。 |
|
* 作用:在 JD 中搜索特定的代码或字符串。 |
|
|
|
4. **Burp Suite**: |
|
* Burp Suite 是一个网络安全工具套件,用于分析网络流量和检测潜在的安全漏洞。 |
|
* 它可以帮助你分析应用的网络请求,包括请求头、响应体和数据传输。 |
|
* 作用:分析网络流量,检测潜在的安全漏洞。 |
|
|
|
5. **Wireshark**: |
|
* Wireshark 是一个网络协议分析工具,用于捕获和分析网络流量。 |
|
* 它可以帮助你分析应用的网络请求,包括协议、数据包和内容。 |
|
* 作用:捕获和分析网络流量。 |
|
|
|
6. **Malware Traffic Analysis (MTA)**: |
|
* MTA 是一个网络流量分析工具,用于分析恶意软件的网络行为。 |
|
* 它可以帮助你识别不安全的网络请求和行为。 |
|
* 作用:分析恶意软件的网络行为。 |
|
|
|
7. **Static Application Security Testing (SAST) 工具**: |
|
* SAST 工具用于静态代码分析,识别潜在的安全漏洞。 |
|
* 它可以帮助你检查应用的代码,识别硬编码的 API 密钥或不安全的网络请求。 |
|
* 作用:识别潜在的安全漏洞。 |
|
|
|
通过组合使用这些工具,你可以深入分析 Android 应用的 APK 文件,识别硬编码的 API 密钥或者不安全的网络请求,从而提高应用的安全性。 |
|
|
|
--- |
|
|
|
`Example 5` |
|
User: 分析以下CVE描述并映射到对应的CWE: |
|
提供简要的选择依据。 |
|
|
|
CVE描述:Tenda AX1803 v1.0.0.1在getIptvInfo函数中通过iptv.city.vlan参数存在栈溢出漏洞。 |
|
|
|
漏洞特征表明攻击者可通过特定参数触发栈缓冲区溢出,这属于CWE-121描述的"Stack-based Buffer Overflow"类别。该CWE专门针对基于栈的缓冲区边界操作不当导致的漏洞,与CVE描述的栈溢出技术特征完全吻合。 |
|
Assistant: CVE描述:Tenda AX1803 v1.0.0.1在getIptvInfo函数中通过iptv.city.vlan参数存在栈溢出漏洞。 |
|
|
|
CWE映射:CWE-121 - Uncontrolled Stack Buffer Overflow |
|
|
|
选择依据: |
|
1. 栈溢出漏洞:CVE描述明确指出存在栈溢出漏洞。 |
|
2. 攻击者可控参数:攻击者可以通过iptv.city.vlan参数触发栈溢出。 |
|
3. 栈缓冲区溢出:漏洞涉及栈缓冲区溢出,攻击者可以利用此漏洞进行攻击。 |
|
4. CWE-121:该漏洞属于CWE-121类别,专门针对基于栈的缓冲区边界操作不当导致的漏洞。 |
|
|
|
因此,CVE描述中的漏洞应映射到CWE-121 - Uncontrolled Stack Buffer Overflow。 |
|
|
|
|