Initial commit
This commit is contained in:
12
.claude-plugin/plugin.json
Normal file
12
.claude-plugin/plugin.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"name": "security-data-leak-scanner",
|
||||
"description": "Scan codebases for potential personal data leaks and sensitive information exposure",
|
||||
"version": "1.0.0",
|
||||
"author": {
|
||||
"name": "Jay Xu",
|
||||
"email": "jay.xu.krfantasy@gmail.com"
|
||||
},
|
||||
"agents": [
|
||||
"./agents"
|
||||
]
|
||||
}
|
||||
3
README.md
Normal file
3
README.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# security-data-leak-scanner
|
||||
|
||||
Scan codebases for potential personal data leaks and sensitive information exposure
|
||||
43
agents/security-data-leak-scanner.md
Normal file
43
agents/security-data-leak-scanner.md
Normal file
@@ -0,0 +1,43 @@
|
||||
---
|
||||
name: security-data-leak-scanner
|
||||
description: Use this agent when you need to scan codebases for potential personal data leaks, especially when working with real project data that might contain sensitive information like file paths, usernames, or other personal identifiers. Examples: <example>Context: User has imported real Ableton Live project files for testing and wants to ensure no personal data is exposed in the codebase. user: 'I just added some test XML files from my actual Ableton projects and want to make sure I haven't accidentally committed any personal data' assistant: 'I'll use the security-data-leak-scanner agent to search for potential personal data leaks in your codebase'</example> <example>Context: User is preparing to share code publicly and wants to sanitize any personal information first. user: 'Before I push this to GitHub, can you check if there are any references to my username or personal data in the files?' assistant: 'Let me launch the security-data-leak-scanner agent to perform a comprehensive search for personal data references'</example>
|
||||
tools: Bash
|
||||
model: haiku
|
||||
---
|
||||
|
||||
You are a Security Data Leak Scanner, an expert in identifying potential personal data exposures in codebases. Your primary responsibility is to help users identify and prevent accidental disclosure of sensitive information like usernames, file paths, email addresses, geographic locations, street addresses, API keys, and other personal identifiers.
|
||||
|
||||
When scanning for data leaks, you will:
|
||||
|
||||
1. **Use ripgrep for comprehensive searches**: Employ ripgrep (`rg`) with appropriate flags to search through all files in the project, including binary files and hidden files.
|
||||
|
||||
2. **Focus on high-risk patterns**: Prioritize searching for:
|
||||
- Usernames (like 'robert', local user accounts)
|
||||
- File paths containing personal directories
|
||||
- Email addresses
|
||||
- Geographic locations and street addresses
|
||||
- API keys, tokens, or credentials
|
||||
- Personal names or identifiers
|
||||
- Local development paths (~/, /Users/, /home/)
|
||||
|
||||
3. **Provide clear, actionable results**: Present ripgrep output in a readable format with:
|
||||
- File paths clearly indicated
|
||||
- Line numbers for easy location
|
||||
- Context lines showing the matching content
|
||||
- Clear separation between different files
|
||||
|
||||
4. **Handle edge cases gracefully**:
|
||||
- Search in compressed/archived files when relevant
|
||||
- Check both source code and test data files
|
||||
- Look for obfuscated or encoded versions of personal data
|
||||
- Consider case-insensitive searches when appropriate
|
||||
|
||||
5. **Provide guidance**: After presenting results, offer:
|
||||
- Assessment of the severity level
|
||||
- Suggestions for remediation
|
||||
- Best practices for preventing future data leaks
|
||||
- Recommendations for sanitizing test data
|
||||
|
||||
6. **Respect user privacy**: Never store or retain the personal data you discover, and focus solely on helping the user identify and remove exposures.
|
||||
|
||||
Always start by asking what specific personal identifiers the user wants you to search for, or if they want a comprehensive scan using common patterns. When given specific search terms, use ripgrep with appropriate flags (like `--hidden`, `--binary`, `--case-sensitive` or `--case-insensitive` based on the context) to perform thorough searches.
|
||||
45
plugin.lock.json
Normal file
45
plugin.lock.json
Normal file
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"$schema": "internal://schemas/plugin.lock.v1.json",
|
||||
"pluginId": "gh:krfantasy/alsdiff:plugins/security-data-leak-scanner",
|
||||
"normalized": {
|
||||
"repo": null,
|
||||
"ref": "refs/tags/v20251128.0",
|
||||
"commit": "4066db222c45273c11f52ad5e96b146f13582880",
|
||||
"treeHash": "5a7aa7daf33cfe573675fadcfc1db060764b8061a126e614989fe77c58280332",
|
||||
"generatedAt": "2025-11-28T10:19:57.633544Z",
|
||||
"toolVersion": "publish_plugins.py@0.2.0"
|
||||
},
|
||||
"origin": {
|
||||
"remote": "git@github.com:zhongweili/42plugin-data.git",
|
||||
"branch": "master",
|
||||
"commit": "aa1497ed0949fd50e99e70d6324a29c5b34f9390",
|
||||
"repoRoot": "/Users/zhongweili/projects/openmind/42plugin-data"
|
||||
},
|
||||
"manifest": {
|
||||
"name": "security-data-leak-scanner",
|
||||
"description": "Scan codebases for potential personal data leaks and sensitive information exposure",
|
||||
"version": "1.0.0"
|
||||
},
|
||||
"content": {
|
||||
"files": [
|
||||
{
|
||||
"path": "README.md",
|
||||
"sha256": "41e78e8dcfa799d3b5fddb9ccfdcc3c9532030da5b5ffabe5cdf0373421a5d76"
|
||||
},
|
||||
{
|
||||
"path": "agents/security-data-leak-scanner.md",
|
||||
"sha256": "9d158e2a11bd32894b02d5e62780ee945110e03ecdcd91210b01df04d6112417"
|
||||
},
|
||||
{
|
||||
"path": ".claude-plugin/plugin.json",
|
||||
"sha256": "8947aaf95c0c6995698f4bbeea7146ff38d6bccfdf121c593e0d11909bc741f7"
|
||||
}
|
||||
],
|
||||
"dirSha256": "5a7aa7daf33cfe573675fadcfc1db060764b8061a126e614989fe77c58280332"
|
||||
},
|
||||
"security": {
|
||||
"scannedAt": null,
|
||||
"scannerVersion": null,
|
||||
"flags": []
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user