Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More logs to verify the correct credential is used by target_experiment.py #13042

Draft
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

DonggeLiu
Copy link
Contributor

@DonggeLiu DonggeLiu commented Feb 14, 2025

OSS-Fuzz-Gen experiment cloud build does not use service account.

Meanwhile, its cloud builds fails occasionally due to Service Unavailable:

googlecloudsdk.core.credentials.gce.MetadataServerException: HTTP Error 503: Service Unavailable

This PR prints information about GOOGLE_APPLICATION_CREDENTIALS and the credentials used by the cloud build to help debug why service account is not used and if using service account can resolve the 'service unavailable' error.

@DonggeLiu DonggeLiu marked this pull request as draft February 14, 2025 00:49
DonggeLiu added a commit to google/oss-fuzz-gen that referenced this pull request Feb 23, 2025
Fixing some issues revealed by full agent experiments earlier:
1. [x] LLM-generated build scripts do not save fuzz target binary into
the correct path.
2. [x] Use default build script in the code fixing prompt in this
scenario:
1. The default build scripts builds successfully but failed other checks
(i.e., reference), and
    2. The LLM-generated build script does not work.
3. [x] Selectively use the default built script and the LLM-generated
built script, depending which is better.
4. [x] Use different code-fixing prompts based on which built script and
which result it is:
    * default or LLM built script
    * No reference, no binary, or compilation failure
5. [x] Backup human-writtent `/src/build.sh` to `/src/build.bk.sh` in
agent's containers in case LLM wants to reuse it in the new build
script.
    * Create the same copy for fuzzing execution.
6. [x] Hide the compile command to prevent LLM from reusing it in the
inspection tool and be distracted by irrelevant errors. E.g.:
* The inspection container always runs compile before LLM analysis.
Rerunning it may fail in some projects due to an existing
/src/<project>/build directory.
7. [x] Prompt use example fuzz target in the language the same as the
generated fuzz target, (not the project).
* Also dynamically adjust instructions in priming. Do not leave LLM to
judge which language the fuzz target is.
8. [x] Remove the agent log when receiving fuzz targets.
9. [x] Do not restrict LLM to send one bash command per query.


Also need to:
1. [ ] Use SemanticAnalyzer in agent workflow, at least to ensure the
last Result is Analysis Result.
2. [ ] Add an Enhancer in agent workflow.
3. [ ] Use service account in GKE, hopefully this will solve the
[`Service Unavailable`
problem](google/oss-fuzz#13042).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants