
Отказ локализуется, ущерб перемещается, слои безопасности поддаются дообучению на малом числе примеров
Быстрый старт · Использование · CLI · Результаты · Воспроизведение · FAQ · Цитирование
Несколько десятков вредоносных примеров могут лишить выровненную модель способности отказывать на вредоносные запросы. Предшествующие работы локализуют безопасность в конкретных слоях и направлениях, что наводит на мысль о защите найденного места. Этот репозиторий проверяет данную предпосылку так, как это сделал бы адаптивный атакующий. Он находит, где отказ может быть восстановлен, замораживает эту область и атакует снова, а также исправляет обновление весов, после чего позволяет атакующему распространить его.
Исследование опирается на три измерения.
Этот репозиторий представляет собой измерение и обе защиты в виде небольшой библиотеки, а также записи запусков и скрипты, которые восстанавливают таблицы статьи.
(a) Синхронное патчинг-воздействие перезаписывает выход слоя скомпрометированной модели чистым состоянием на этапе prefill и на каждом шаге декодирования. (b) В сопоставимой атаке на Llama замораживание слоёв 0–17 сдвигает переход полупотолка с 15 на 27–28.
pip install "git+https://github.com/js-lee-AI/refusal-relocates.git"
## Установка
### Требования
- Python 3.8+
- pip (менеджер пакетов Python)
### Быстрая установка
```bash
# Клонировать репозиторий
git clone https://github.com/example/security-tool.git
cd security-tool
# Установить зависимости
pip install -r requirements.txt
# Установить инструмент
pip install -e .
# Собрать образ
docker build -t security-tool .
# Запустить контейнер
docker run -it --rm security-tool --help
security-tool --version
Вы должны увидеть вывод, подобный:
security-tool version 1.0.0
# Показать справку
security-tool --help
# Запустить сканирование
security-tool scan --target example.com
# Сканирование с пользовательской конфигурацией
security-tool scan --target example.com --config config.yaml
# Экспорт результатов в JSON
security-tool scan --target example.com --output results.json --format json
| Параметр | Описание | По умолчанию |
|---|---|---|
--target | Целевой хост или IP-адрес | обязательный |
--config | Путь к файлу конфигурации | config.yaml |
--output | Путь к выходному файлу | stdout |
--format | Формат вывода (json, xml, csv) | json |
--verbose | Включить подробный вывод | false |
security-tool scan --target 192.168.1.1
security-tool scan \
--target example.com \
--config custom-config.yaml \
--output report.json \
--format json \
--verbose
from security_tool import Scanner
scanner = Scanner(target="example.com")
results = scanner.scan()
for finding in results.findings:
print(f"[{finding.severity}] {finding.description}")
Проблема: ModuleNotFoundError: No module named 'security_tool'
Решение: Убедитесь, что инструмент установлен правильно:
pip install -e .
Проблема: Permission denied при запуске сканирования
Решение: Запустите с соответствующими правами или используйте sudo:
sudo security-tool scan --target example.com
Проблема: Тайм-аут сканирования
Решение: Увеличьте значение тайм-аута в файле конфигурации:
timeout: 300
retries: 3
Мы приветствуем вклад в развитие проекта! Пожалуйста, следуйте этим рекомендациям:
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)# Запустить все тесты
pytest
# Запустить с покрытием
pytest --cov=security_tool tests/
Этот проект лицензирован под лицензией MIT — подробности см. в файле LICENSE.